Works from any playlist saving operation accessed from the
While Playing Screen, all other playlist saving operations
are unchanged.
Now a user-selectable setting! Located in
General Settings -> Playlists -> Current Playlist ->
Reload After Saving (Yes/No)
Change-Id: I5085c3f4c56c518a812d5ee015d15cc4dca19a28
updated example script and renamed some functions as well
fixed bug in printtable cursor position if greater than maxlines for the
screen would reset to item 1
now we move the list start and select it
(and try to center it on the screen)
fixed a few bugs in the add_menu code
Change-Id: I01dead0481ef2e925af8b4cc6c14e36c2859dbba
allows menus + submenus + context menus all with simple tables
menu_t which is a table of strings
func_t which are the corresponding functions to go with those strings
see lua_scripts/submenu_demo.lua
Change-Id: I907b74b4abef0ecbe49f181d0ced6e6d20e94de5
The abiflags data is only used to communicate ABI information to a
program loader -- you can see what info is stored with readelf -A.
Dropping it shaves 24 bytes off of every binary (including plugins).
Change-Id: Iae78eeffe5c840ff67717707fb94821d24aac8ec
It never worked, and hasn't compiled in something like a decade, Given
the HW capabilities (limited onboard flash, no expandability) there's
really no point in trying to fix/complete it.
Change-Id: I7d175089840396f8891645bd10010d730dd5bfdc
They were never finished, never saw any release ever, and haven't
compiled for the better part of a decade. Given their HW capabilities [1],
they are not worth trying to fix.
[1] 1-2MB RAM, ~256MB onboard flash, no expandability
Change-Id: I7b2a5806d687114c22156bb0458d4a10a9734190
This menu serves no useful purpose anymore. I plan on adding an
improved version of this functionality to the bootloader instead.
Change-Id: I6a93625789f7192031eb6cee6708f9a867318622
Code in cpu.h is correct, so just disable -Wmisleading-indentation for
the specific sections that matter.
Change-Id: I378f3a6fef117ac73edb0d8ce998ef3a818be22e
This only required a minor patch to the usb-designware driver due
to DMA requiring physical addresses -- on the X1000, these differ
from virtual addresses so we have to do the usual conversion.
Both the mass storage and HID drivers work, but there are a few
issues so this can't be considered 100% stable yet.
- Mass storage might not be detected properly on insertion,
and USB has to be replugged before it shows up
- HID driver may occasionally panic or hang the machine
Change-Id: Ia3ce7591d5928ec7cbca7953abfef01bdbd873ef
The #if statement didn't reflect all menu items in the battery
menu, so if the USB charging enable setting was the only one
present, the entire menu would be hidden.
Change-Id: I17a4ed626debf1f61ca140d67d477bdbd52ca180
add stylized lines to lua
the exported do_menu has a severe limitation of 64 items
it also requires double the memory
put_line is the way rockbox builds menus
update printtable
user config from core -- done
code cleanup
fixed for 1-bit screens
changed button behavior
fixed for 2-bit screens
Change-Id: I4de55e42685aa1d2f53a33bc8e980827864e810b
It turns out that aa_cache.buf, used to store decoded album art during
background scanning, was not correctly allocated and overlapped with
memory allocated for buflib. This was what caused all the segfaults.
Also fixed a logic error in read_pfraw(), which returns a buflib handle
on success, but also returned 0 on failure -- since 0 is a valid buflib
handle, it should return -1 on failure instead.
Change-Id: Ifaa1c02ec19b0859e43c40c0462ed7738d07fec3
(Don't include rbpaths.h in settings.h, or string-extra.h in rbpaths.h)
Build-tested on rocker, erosq, mini2g, nano2g,
xduoox3, clipzip, dx50, and uisim
Change-Id: If32e9c9910f5c8247a655cb64522b84d6d7ccbb5
This is basically the same problem as FS#13272, except it happens
on certain themes, eg. rayboradio. The issue only affects targets
with decimal volume levels.
Tested the fix using the rayboradio theme on the FiiO M3K and the
Fuze+ simulator. Volume was displayed correctly on both.
Change-Id: I9e035f7a3c04c85c9b3b01243c7f0a5f8f0ccf9f
The viewport used for the scrollbar is allocated on the stack, and falls
out of scope before the next call to set_viewport(), which sets a flag
in the now-out-of-scope "last" viewport.
Change-Id: I2c8bfcff500d189fa3857411aadc2e16aa545d2c
Tested on ErosQ
Added a setting in the Advanced Softlock menu to always
have autolock on, rather than having to "arm" it with the
softlock button. Lock/Unlock still works the same with
this on, but when the screen turns off, the device always
ends up in the locked state. Requires Autolock On to be
set as well, and the normal Autolock functionality is
unchanged with this off.
Caveat: the power/softlock button must be pressed
at least once after powering on the device or enabling the
feature. After that, it should consistently always "arm"
the autolock.
Added feature to manual in
manual/configure_rockbox/system_options.tex. Also updated
some labels I had changed in the Advanced Key Lock menu
and added information for Disable All Lock Notifications
in a previous commit. Shared items also updated in
manual/configure_rockbox/display_options.tex for selective
backlight.
Change-Id: I09dc6814bee803e40c7088157e1fe9d01d5f3474
Will allow the QuickScreen to be accessed in the playlist catalogue
and when editing a playlist using the playlist viewer.
Change-Id: I4b7108db6384eb2077ffdccb2992f2e51a39f42f
Text entry keymap was almost completely backwards, and it was
impossible to submit without adding one last character.
Change-Id: I40a224fe20e228c5e4670dd6583318918c59c827
The function to check whether a playlist has been modified
will now only try to resume a playlist, if the global resume index
is not -1.
This also means that replacing a finished (modified) playlist will not
produce a warning anymore if Rockbox has been restarted in
between. In that respect, the behavior is identical to
what it was *before* 46085c8978.
Change-Id: Ib95f89043274f1c72c75023d1506fc093aaf4cf9
Tested on erosq
Added ability to disable all softlock notifications. Setting is
"Disable All Lock Notifications" under Advanced Key Lock
Settings.
Tested to make sure it doesn't interfere with backlight
exemptions, keylock exemptions, or first press enables backlight
only. When enabled, this overrules the existing Disable Notify
setting, which only disables the reminders when a button is
pressed while the device is already locked.
Also changed phrases in the Advanced Key Lock settings menu
to make it more obvious what the options do. Changed
LANG_ACTION_PLAY, LANG_ACTION_SEEK, and LANG_ACTION_SKIP from
"[button]" to "Exempt [button]". These language changes will
also affect the Backlight Exemptions list, but the wording
should be appropriate there as well.
Added LANG_SOFTLOCK_DISABLE_ALL_NOTIFY and LANG_ACTION_VOLUME,
changed LANG_VOLUME to LANG_ACTION_VOLUME in display_menu.c
for consistency.
Change-Id: I914fe154ba5d508a842165aea7c7755e4e6b9c57
According to the ATA specification this bit is used to indicate
either an ATA device or a CF compatible card. We use it currently
to indicate CF compatible status. So let's change the wording
accordingly.
Change-Id: Iee87197dee80e6225e4c62c40bceedfbc4e659c2
This allows the user to make use of the DAC's power-saving abilities.
The two modes are "high performance" and "battery saver". This feature
is supported by the AK4376 DAC in the upcoming FiiO M3K port.
The setting is only a manual toggle right now, but in the future it
could be hooked up to the battery level (via another setting) so it
can be toggled automatically when the battery gets too low.
Change-Id: I482af6e2f969fcbdeb3411bd3ff91f866b12d027
This reports the ATA device type bits in a human readable format
so that users can easily identify what their ATA device is claiming
to be. This is mainly useful for troubleshooting a possible source
of compatibility issues with their DAP. As such this is mainly an aid
to CF modders.
Change-Id: I40f581fc0805a2753789452373cc6e179d8f3074
tested on erosq
On devices with both a backlight and a softlock button, currently
pressing the softlock button while the screen is off and the keypad is
unlocked will wake the screen and also lock the keypad. Presumably, the
user's intention is to use the device when they hit the softlock button
in this state, so wake the screen without locking the keypad.
Change-Id: Ib00e1c37142e5d3d9317775de5cf0dd67f3f2569
wiped out the lang id check which causes shortcuts menu to
pop error message when browsing to folders
shortcut menu uses the return to check for validity
Change-Id: I30061f034f99ea66844e45ea842e52843ea6062b
if you ran a plugin from shortcut menu that originated from the WPS
next time you pressed select in the wps it would attempt to run the
wps context plugin
Change-Id: Id72eb6a20522586efeb479aea0b1c50b53942346
leave plugin entries in ram and try not to save them unless necessary
doesn't use more space just a bit of careful ordering with the buffer
Change-Id: I1973e9ad4655c2544f596b37cee35601a0cffa94
The ACTION_TREE_WPS (held back button) was a part of the mainmenu context, moved to list context so it would work in Files and Database as well for consistency.
Change-Id: I3749d7b4fd041db80e81c1a79d30c2c7bdd64829
Music currently doesn't begin playing after the user has selected a new song from a playlist or using the database/file browser, 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 a song they select regardless of the previous player state.
Change-Id: I574c3fe5c12fee544da0569182fc9573d307ac2f
(as per multiple user requests)
When playback is stopped, Rockbox will display an option to
clear the current playlist and add selected tracks in random order, if
Shuffled Adding options are enabled in Settings.
Insert options will not be displayed anymore when playback is stopped to
lessen confusion.
Change-Id: I5e5819149027e63e5c6f30213e838c0d7e7de8d5
Rockbox would previously not present a warning when you were about
to replace a modified playlist after restarting the player,
unless you first resumed playback.
Change-Id: I9752228f84b105747e41ce6e1c8f95f0f9f14c10
Options to add shuffled tracks and to queue tracks in the
Current Playlist Submenu can now be hidden, or the latter
can also be put into its own submenu.
Users can customize this in Settings by going to
"General Settings - Playlists -> Current Playlist" and
choosing from "Show Shuffled Adding Options" (No / Yes)
or "Show Queue Options" (No / Yes / In Submenu).
Allows for the paring down of the set of choices to
a minimum of the 4 more common ones for adding tracks
to a dynamic playlist (coming from the current total
of 11).
Defaults have been set so that users have to actively
modify their settings to notice any difference, which
makes it unlikely that anybody's workflow would be
negatively affected by this change.
Change-Id: Ibe48fc4da2c79f54cd7272df8e1e3ba9955203e5
Back button's ACTION_TREE_WPS state in the mainmenu context causes
a jump back to the main menu root from anywhere in the settings tree.
Changing it to a held button fixes this.
Also changed the ACTION_STD_CANCEL functionality of the back button
in the standard context to be on release, just because I think
it feels better to use.
Also added myself to docs/CREDITS
Change-Id: Ia5892f4d995431abe0616f00fd5cc8368dd750a2
LANG_SAVE_DYNAMIC_PLAYLIST refers to dynamic playlists.
A playlist being edited is only the "current playlist" in case of a
dynamic playlist. When other playlists are edited, the current
playlist is different from the edited/selected playlist.
(A possible motivation for differentiating between the two here
is because "Current Playlist" is already the title of a submenu in that
same context menu where the name refers to the dynamic playlist
and not to the selected playlist. "Save Current Playlist" is also used
in the Playlist Catalogue's context menu for example, referring to
the dynamic playlist.)
Change-Id: If320b3c804bb98fccb2e945ae1a30ffc92673c7e
If the previously selected directory in the file browser was the playlist directory,
creating a playlist with all files wouldn't work due to the fact that
PLAYLIST_CATALOG_DEFAULT_DIR has an unexpected duplicate leading '/'.
The initialize_catalog function makes sure to remove this from playlist_dir.
Change-Id: I0f8300140fa23321d362d2a75dfaf82be0b4b12a
Image viewer compiles decoders as a plugin and removes CRT0
A resuklt static vars do not get initialized in decoders
Change-Id: I72da326967c7b404b297897000f82852661a7ebb
* PREV/NEXT now swapped so they do what is expected in most contexts
* List and setting context retains prior behavior
* Enable the ADC that reads the headset remote and map the keys.
* As ADC-based remote "events" arrive as press/release pairs,
delay the button release.
Change-Id: I22d4eac3bfe1573b50eca795cf377bdafdeb5336
The "View" option for playlists/.m3u files is currently part of the "Current Playlist" submenu even though it refers to the selected file/playlist and has nothing to do with the current playlist. It has been relocated to the context menu of the playlist file where it makes more sense and is easier to get to.
Change-Id: I806ed46a7315293d7d20f29ed004cc8ab58cdcb7
The "Play Next" function replaces the current dynamic playlist, so it makes sense to convey that information to the user when displaying the option in a context menu.
Change-Id: Ic6e03e4adbd811e28b5cfeba36b64c5e8a7db2f9
make shortcuts menu drop back into WPS on exit
different icons for plugins and files versus folders
Change-Id: I1b590c223b63a6b6598c33e767738daaea1c8ad0
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
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
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
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
(The usb_mode selection setting was actually broken even though
it had been previously compiling...)
Change-Id: I0cac31d24c0ef684b934e40ab14f683cc4a31738
Fix returns from shortcuts -- should now run plugins
Fix formatting of file names to remove path from browser shortcuts
Change-Id: I46e337110d04b84bedcb0c2945d5dd29a1860847
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
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
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
Discovered on ClipZip but applicable to other LOW MEM targets
Back off voice buffer on playlist_resume
Change-Id: Ia316c4b7fc1bcb089d3069a13dd7c193edf2ba1e
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