Commit graph

16323 commits

Author SHA1 Message Date
Solomon Peachy
d0ab6b24dc Updated Italian translation (Alessio Lenzi)
Change-Id: I93acf9d934429dadbc397e53555ae5b16c349b07
2021-03-09 06:28:17 -05:00
Christian Soffke
6387d0352e FS#13263: Rockbox deletes wrong file
The WPS calls onplay() with a pointer to the path of the current track . We need to make a copy of the path so it isn't affected by track changes.

Change-Id: I10a2a93da644932033e01ffbfd85cad20abb555d
2021-03-09 11:26:05 +00:00
Christian Soffke
5c3bbc6a9c Reset filetype colors when resetting theme colors
Even though filetype colors can't currently be changed by going to Settings->Theme Settings->Colors, a user likely wishes to still reset them when selecting 'Reset Colors' after a .colours file may have been applied by a theme.

Change-Id: I4494c83a502666900f6d9d2cc3fb1825af5e45f6
2021-03-09 11:18:47 +00:00
Christian Soffke
3b9a803a5b Show 'Play Next' option when playback is stopped
1) The Insert functionality was changed in abebc6b to not delete
unfinished dynamic playlists anymore. "Play Next" has now been
added as an option when playback is stopped. The behavior of
"Play Next" as such has not changed and it is now the consistent
way to replace a current playlist in all playback modes.

2) The 'Insert' and 'Insert Shuffle' options will now only be
displayed if there is a resumable dynamic playlist

Change-Id: Ib5c5469b9e2c583ab06e0f47a922c24e5adf6b5f
2021-03-09 11:18:22 +00:00
William Wilgus
13178d23b8 Shortcuts Menu Update
Change Browser shortcut to the plugin icon
drop back into WPS on opx return
allow same action to exit shortcut menu as entered -- might be problematic

Change-Id: Id7013a514c8e8862ee1da44b033d10b7519e9127
2021-03-08 22:17:41 -05:00
Solomon Peachy
c9e8d96e77 ibasso: Fix the dx50/dx90 build (and usb_mode selection)
(The usb_mode selection setting was actually broken even though
 it had been previously compiling...)

Change-Id: I0cac31d24c0ef684b934e40ab14f683cc4a31738
2021-03-07 19:42:54 -05:00
Solomon Peachy
7c58b6f0db usb_mode: Missed a #define that led to some sim build failures.
Change-Id: Ie872c5684a200bf99ee7083bb35700a663ef9788
2021-03-07 23:31:36 +00:00
Solomon Peachy
bbd85cf0c1 settings: Fix inconsistent #ifdefs wrapping the usb_mode stuff
It should be:

 #if defined(HAVE_USB_POWER) && !defined(USB_NONE) && !defined(SIMULATOR)

Change-Id: I49355d56834de3893a9a244793b39f662c27f136
2021-03-07 23:12:41 +00:00
William Wilgus
9712d375ce Shortcuts.c -- Update
Fix returns from shortcuts -- should now run plugins
Fix formatting of file names to remove path from browser shortcuts

Change-Id: I46e337110d04b84bedcb0c2945d5dd29a1860847
2021-03-07 10:07:49 -05:00
William Wilgus
0dce973729 OpenPlugins Allow opx shortcuts
Allow opx shortcuts to be run through the shortcut menu

Change-Id: I6597b9485dfb224766c442257c4d9c8ac02eece4
2021-03-07 08:22:01 -05:00
Solomon Peachy
207514fb25 voice: Allow voice prompt volume to be configurable
It defaults to 100%, allow it to be dialed back

Change-Id: If997fb7d3057472a7fac0be4ae7d1e8fce654c49
2021-03-07 12:51:36 +00:00
Solomon Peachy
c16f9142f7 build: Make all other language files "depend" on english.lang
If we update english.lang, we need to re-run genlang on the other
language files so any changes are picked up.

Change-Id: I7d296b3cc814871e881bdeac2784e64705bde10b
2021-03-07 04:10:47 +00:00
William Wilgus
308dd4ffee Open_plugins.c fix red
rb->strncasecmp

Change-Id: Icb1e6d0db42bd4708d581e80596604fb97578761
2021-03-06 18:00:18 +00:00
William Wilgus
87ad55b06e Open_Plugins Add Features
Added an entry 'Add' to the main screen to lessen confusion

side note:
its actually a shortcut back to this plugin with flag '-add'
passed as a parameter

Change-Id: Ifeb0a1e5be99764b1d25d5a3b0e00f1449ec3d78
2021-03-06 17:21:37 +00:00
William Wilgus
9cf45374e0 Announce_status plugin bugfix use artist prior to albumartist
give id3->artist higer precedence than id3->albumartist

Change-Id: I7f57ea274211673c04bf23458735796b03031a15
2021-03-05 21:12:10 -05:00
William Wilgus
0c958d2b4a announce_status trackchange bugfix
!Properly remove callback!
don't play voice prompt at startup if something is actively playing

Change-Id: I237d09c1496bc2bed8433dcdaa1469f3d0f2cb10
2021-03-05 17:37:57 +00:00
Solomon Peachy
83111eeece English-US language had some issues that caused it to fail.
Change-Id: I29d27ccb3b972393b234a0ace3f22d4b6c223a20
2021-03-05 17:20:25 +00:00
William Wilgus
925dc59126 OOM on Audio_Reset_Buffer
Allow the talk file to be unloaded

Change-Id: I7633c213f1bf7135894aed43171ea683e2867954
2021-03-05 00:11:08 -05:00
William Wilgus
895ed92496 Talk.c, playlist.c fix bugs
fix bug in talk.c

playlist.c only dump voice buffer if we are out of space

Change-Id: I75705d755db4193a87e542d062dbdc96b153dbb6
2021-03-04 23:31:32 -05:00
William Wilgus
03ae4e6019 Announce_status plugin make USB plug aware
Announce_status was blocking USB from working it now quits on USB plug

Change-Id: I0b7e5e9c1ef118582febd459e706c9b61cf7fe25
2021-03-04 22:55:39 -05:00
William Wilgus
10b6707131 Talk Fix outright disable after first clip
Oops Sorry bout that ;P

Change-Id: I2618e2565a218dd5640351dfef3b7cc2a64617d4
2021-03-04 21:57:21 -05:00
William Wilgus
b2732222e9 Talk.c Guard against use after free / failure to load voicefile
load_voicefile_data wasn't checked for success leading
to a use after free situation

get_clip now checks for valid index_handle before using it

Change-Id: Id66dba6dbd6becfc9e0fe922fbc1d0adec1f0393
2021-03-05 02:22:20 +00:00
William Wilgus
a4a5f5f33f Check core max allocations for valid handle
fix rolo warnings

Change-Id: Ia2c669a5517aec54e5b2c0dc5934c88a4f49f2a9
2021-03-04 14:25:58 +00:00
William Wilgus
80be135d0d OOM on playlist_resume
Discovered on ClipZip but applicable to other LOW MEM targets

Back off voice buffer on playlist_resume

Change-Id: Ia316c4b7fc1bcb089d3069a13dd7c193edf2ba1e
2021-03-04 13:32:45 +00:00
Christian Soffke
cde5ae755f iPods: Allow using scroll wheel to change volume on QuickScreen
As suggested by forum user yuuiko

Change-Id: Ifb989f9513a9e3c59e4ab0f38c0a8e2675c68dd8
2021-03-03 22:37:14 +00:00
William Wilgus
f906df017d Open Plugin -- Make first run show at least one item to user
Open plugin needs the context menu to allow the user to add an item
on the first run there are no items and therefore nothing to pop the
context menu from

Change-Id: I7a78454ff29b20c7b60db44349dd23d500ed887c
2021-03-03 13:37:40 -05:00
William Wilgus
5317953f4a Battery Icon, Remove Hardcoded Overall Width
Icon no longer showed 100% with some fonts

Change-Id: I6bb9d47007fa42f91daa5c336f5e9e960140db0f
2021-03-03 03:11:02 +00:00
Solomon Peachy
93d8be80ce Remove a couple more stragglers from the Archos purge
Change-Id: I57cbc3360775b90df53f334174d9c9b3e44dfbe1
2021-03-03 02:36:52 +00:00
Christian Soffke
7d78958f9d Reset unknown file color when resetting filetype colors
The unknown file color is handled as a special case and also needs to be reset here

Change-Id: I0446b7f6586c265dee37fef303f8564f22f06dd4
2021-03-02 18:33:19 +00:00
spencer-brennessel
22cc4e4fcf Fixed bug in Fiio M3K port where up button didnt work in some menus
Change-Id: Ie90230cb841837b10e839e0fb2e80b5fc4401c42
2021-03-02 12:51:47 +00:00
William Wilgus
a6eafc86f8 Remove execute bit from file permissions from recent commit
Change-Id: I415cf235d2b179ae8c58b0427308103be3e00130
2021-03-02 02:10:53 +00:00
Christian Soffke
640b14c08c Fix inability to reset filetype colors without restarting
0ce42df prevented read_color_theme_file() from being
executed when applying settings (from a cfg file)
if the filetype colors setting was set to "-". Resetting
custom filetype colors happens in that function though and
thus wouldn't work. You had to restart Rockbox for the
setting to be applied (at which point read_color_theme_file()
is called from filetype_init() which is called by the init()
function in main.c)

The safety check has been moved from settings.c directly into
read_color_theme_file(). This has the added
advantage that it will also apply during the init process
where there existed no check before (prevents the problem
mentioned in 2e3a8c7).

Change-Id: I547fe180f0bac79889bf2c44778bb1cc4f9d4307
2021-03-01 13:33:43 +01:00
Aidan MacDonald
aacb0811d9 Rename symbols of FiiO M3K Linux-based port
Mainly a straight replacement of FIIO_M3K -> FIIO_M3K_LINUX.

Change-Id: Id07c84f8150991d1b6851540c2c3f8f67e3f12c2
2021-02-27 23:53:28 +00:00
Christian Soffke
7d7a3156d3 Fix skin rendering issue entering dirbrowse
If the custom UI viewport (for displaying lists) changes size when entering dirbrowse, other viewports won't be correctly rendered and require a redraw.

The following is a minimal test case for an example SBS where (the specified background color for) the viewport at the top of the screen won't appear after the user has entered the (root menu of the) file or database browser:

%?if(%cs,=,1)<%VI(main)|%VI(other)>

%V(0,0,-,21,-)
%Vb(ededed)

%Vi(main,0,22,-,-,-)

%Vi(other,0,60,-,-,-)

Change-Id: I1aeed0561f16531802d0fb8dc5fd18d65ac8f25a
2021-02-27 14:41:54 +00:00
Christian Soffke
317908e8c3 Warn before permanently reshuffling the current playlist
Reshuffling a playlist using the WPS context menu for the current playlist is a destructive operation since the previous order of items can't be restored. A warning should be displayed, so that the user can still cancel the operation in case they intended to select another menu item (e.g. one of the harmless "Playing Time" or "Save Current Playlist" items right next to it).

Change-Id: Ib9fc379439d155be907872d77cf54d5035bd08a0
2021-02-27 14:38:29 +00:00
Solomon Peachy
8c76c1b1c2 Revert "Always resume audio after user picks a new song from a playlist"
This reverts commit 69746d8400.

Change-Id: I33969c228a88cdba3537844a1962cac85cfa80e5
2021-02-19 13:35:15 +00:00
Christian Soffke
436e64e09e Fix playback queue bug when "Insert Next" is used with multiple songs at once
After using “Insert Next” to insert multiple songs at once (e.g. an album from the database browser or folder from the file browser), subsequent Insert operations will incorrectly insert items after the first song of all items that were previously inserted, instead of after the last song of the previously inserted items.

A bug fix was originally written by Costas Calamvokis for the file browser only. I adopted the original fix and added code analogous to it so that it works from the database browser as well.

See FS#7898, FS#7363 or this forum post for more info:
https://forums.rockbox.org/index.php/topic,53741.0.html

Change-Id: Ie2718e136df0b340000f7a171e9e806cf23a27b4
2021-02-17 11:34:59 +00:00
Christian Soffke
abebc6b9ac Don’t erase a user’s stopped dynamic playlist when inserting/queuing songs
Rockbox would unexpectedly and without warning erase the current dynamic playlist (when it hadn’t finished playing) if the user inserted or queued up items while playback was stopped.

This fix ensures that the playlist is only deleted if it has either finished playing or can't be resumed.

Change-Id: I73b7bd56e6399f9be4bb000bae39c8b6a5e1b79b
2021-02-17 11:33:25 +00:00
Christian Soffke
69746d8400 Always resume audio after user picks a new song from a playlist
Music currently doesn't begin playing after the user has selected a new song in a playlist, unless another item was already playing or the previous player state was "stopped" (but not "paused"). This results in an inconsistent user experience. The user's likely intention is to immediately listen to the song they select for playback regardless of the previous player state.

Change-Id: I68a8da01b06a81d8c3b61e351710431152bfdfaa
2021-02-17 11:32:32 +00:00
Georg Gadinger
278e7457ea skin_engine: Fix %if() when comparing against a negative number.
If the tag being checked returns a negative number (e.g. %LI does that
when the current list item does not have an icon) the tag's value would
always end up being 1.

Change-Id: I69ab175b6c46dd7567386e649732dbb8327972fc
2021-01-27 18:21:31 +01:00
Moshe Piekarski
befae2909f Make delete_file_dir() more threadsafe
This should fix FS#13263

Change-Id: I3527210117c716ab2133d6dc79597285d6e543e1
2021-01-21 14:27:06 +00:00
Michael Giacomelli
ca09f91f64 Fix deadlocks when trying to buffer large album art.
Internally, buffering tries to load the entire album art file into the
audio buffer, which will fail if the file is larger than the buffer.
Playback.c interprets a file failing to buffer to mean that the buffer
is full, so it waits for more space and tries again.  This results in a
deadlock since the file will never fit.

Change bufopen to return a new error condition when an image file will
not fit on the buffer because it is too large:  ERR_BITMAP_TOO_LARGE.
Note that we arbitrarily set "too large" to be within 64KB of the
entire buffer size or larger, this could be adjusted if needed.

Change audio_load_albumart to pass through error messages from bufopen.

In playback.c, check to see why audio_load_albumart fails.  If it fails
because the file is too large to buffer, simply ignore the file.  If it
fails because the file would fit but the buffer is full, try again
later.

Change-Id: I66799ae26f124b495e1522fce7285332f4cf986f
2020-12-25 17:47:19 +00:00
Solomon Peachy
c842a13651 voice: Fix accidental warnings
Change-Id: I9663b4febd60c79a533ace1bad593c543c7dcf1d
2020-12-17 13:29:58 -05:00
Solomon Peachy
1aaa2824b6 voice: Increase voice thread stack size on hosted targets
Fixes a stack overflow on Sony NWZ players when loading the voice file

Change-Id: Id545517b827e757922b4cde043763ee7316435e6
2020-12-17 13:11:43 -05:00
Michael Giacomelli
64cc9aad73 Do not resize images greater than 32767 pixels in either dimension
Internally, the resizing code uses the rockbox dim structure, which uses signed shorts.

Change-Id: Ic8850e8563a9d8c0cb3cf8269e2576be9e42b45b
2020-12-14 04:14:45 +00:00
Solomon Peachy
da1fbb6d1a skinengine: Make sure logical IF operator doesn't compare a garbage value
Change-Id: I125bea3c2659326b92eec027cddf0d041f10ebda
2020-12-13 19:21:13 -05:00
Solomon Peachy
b6a16949e8 playlist: Fix out-of-bounds array access when the directory is blank
Change-Id: Ibf59f8191f1f26cf97c5d3ffcb5e3e4c7304bca0
2020-12-13 19:20:38 -05:00
Solomon Peachy
ce7731527a announce_status: Fix incorrect function prototype definition
Change-Id: I053b4e3df194ac9dd2172249c0f4902d31a6d412
2020-12-13 19:19:33 -05:00
Solomon Peachy
afad2c1dcc FS#13261: Update Dutch Translation (Issa Beganović)
Change-Id: Ie8c6c5dc0d70bf214017590789a543faa2f5bc9f
2020-12-12 13:43:10 -05:00
Georg Gadinger
512be370c6 list: reset viewport to avoid corrupting the text in the first line
While using Rockbox for a while on my 1st-gen iPod mini I noticed that
the first entry of a list sometimes displays a wrong character at the
18th column.  For example, the ':' character would display as 'z', the
'-' character as 'm', 0x00 would display '@' and so on.  Oddly enough
this only occurred when the scrollbar was enabled.

I figured that the call to `display->set_viewport(list_text_vp);` in the
for loop inside `list_draw(...)` causes this.  Digging deeper I noticed
that in the `lcd-bitmap-common.c` driver the `current_viewport` was
pointing to the start of the line's text.  From what I can tell the
cause of this was that the viewport was set to a struct with a shorter
scope than the entire function.

The actual fix for this is quite straightforward -- once the scrollbar
has been drawn the viewport is now changed back to the default one.

Change-Id: Id6a7bd8f74864641ea1670fedea9d12d764e78c0
2020-12-12 05:36:42 +00:00