extends the db_commit plugin with the ability to delete the database
backup, restore, dis/enable auto-commit
Change-Id: Id61546e463d151399d2ac8459480e6adc5d6fac6
Only the primary contexts (standard, wps, quckscreen, tree, radio)
handle the new keys so far.
Todo contexts: Settings, keyboard, pitchscreen, bookmark, & recording.
Available docs for MODE4 don't list anything other than playback
controls, so it's not clear if there is a path forward here.
Change-Id: I91908092f75d96813e2e155e447129ba15f58051
prints logf messages to the screen buffer and dumps the
output to .rockbox/db_commit_log.txt
logs warnings about tags that can't
be displayed by the current font
adds an option to the tagcache using the file
.rockbox/database_commit.ignore to prevent auto commit
Change-Id: Ib381b3b6d9dd19d76c95d0e87e605f7378e29674
move some functions around for later ifdef for tagcache commit plugin
used fixed width variables in struct temp_file_entry
Change-Id: I7f66b15cd1bdf5abcefa700086d390d22d3b5e21
move some functions around for later ifdef for tagcache commit plugin
used fixed width variables in struct temp_file_entry
Change-Id: Idf9c37d67fc048550366e3d3504601a19c31f31e
adds a new function:
gui_syncyesno_run_w_tmo(ticks, tmo_default_res, main_msg,yes_msg, no_msg)
when a database needs committed on start-up
a yes no prompt will appear if not answered within 5 seconds
it defaults to Yes
if instead you choose No next start-up you will be asked again
you could rebuild the db still and waste time but it wouldn't hurt
anything so I don't think that path needs blocked
Change-Id: I58411f6e6bfebb6f142d99f33a1e8885ae7785c1
The modified state is now an explicit flag that has to be
set whenever a user-triggered modification occurs. This is
recorded in the control file to ensure it doesn't get lost
after resume. There may be some places I missed where the
modified flag should be set/cleared, but it seems to work
well enough right now.
Change-Id: I3bdba358fc495b4ca84e389ac6e7bcbef820c219
Replace structec usage with explicit endian swapping routines
for the various data types. Simplify endianness detection when
loading the database. Make foreign endianness support optional,
but leave it enabled for now.
Change-Id: Ia1efb72c8830f63bbe0e51f7271c4552b5279878
in some calls to generate_bookmark_file_name()
len gets specified in order to not NULL terminate the buffer string
unfortunately, I missed the root_dir case in g#4839
Change-Id: I24d1360bbe72e6a1b2ed3332ff5854d039d58ca5
Still having problems with determining the type of track change
lets try just watching the audio_next/prev functions
Change-Id: Ie4233ff4d4bf49792a6549d7bcd169ff4b1afd20
Since this function already requires hitting the
disk, it may make sense to turn it into a plugin.
A minor advantage (apart from cleaning up onplay.c
and saving RAM) is that you can now access the menu
not just from the WPS context menu, but also from
the Shortcuts Menu or using the WPS plugin shortcut.
On the other hand, TSR plugins would have to be
terminated when Playing Time is launched, as is
already the case for other plugins such as PictureFlow.
Change-Id: Iea85229486887463ffc52f05e33e2340437f69a4
The suggested name was identical to the complete path
of the played folder, with a slash at the end, which,
if accepted, resulted in a file called only ".m3u8"
being saved there.
In case the path contained one or more dots, the string
was also stripped of the last dot and all chars following it.
Use Playlist Catalogue as the destination folder instead,
and pick last path component as the file name.
Change-Id: Ia2b7f7ebca746613d650bbab6d7a62ca1106efc6
After saving a playlist to an existing file with
a different name, any saved bookmarks for the old
playlist were still displayed for the new one.
Change-Id: Ic2666bdaf7ec6e25456283fc15760c568dd7ac38
Long button presses to create a new file
were in conflict with button presses to
play/pause.
Pressing SELECT is now used to create a new file
(and start recording, if stopped),
pressing PLAY/PAUSE will start or pause recording.
Change-Id: If2e568b9b05500d73fd54b691262a64d1a0ff487
I recently added track skipping while REPEAT_ONE was set
currently by registering a track skip callback
I'm not entirely happy with the additional constant overhead
of the event callback
Instead I went looking for a way to distinguish
a pending track skip from some limited testing
it appears to work just as well to compare
playback's skip_pending == TRACK_SKIP_AUTO
but the lack of lifetime control worries me slightly
Change-Id: Ic71b4c3925e991f5a1216d16ecd3af6cc777ef1e
open an insert context
add tracks using the opened context
release opened context and sync the playlist
Change-Id: Idea700ffcf42a38dc23e131c92a6c5d325833170
A frequency change didn't go into effect immediately
when a user picked "Auto" for the sample rate, while
playback was paused
Change-Id: I254853b664c5b6812264fdaf81dfb8fbfff43dbf
moves the callback to settings_list
audio_set_playback_frequency now accepts an actual frequency
44100 192000 etc rather than an index
Change-Id: Ieb3fc79a7fe3f1ff050465c8cd8061027e4572ff
Recently I added F_CB_ON_SELECT_ONLY_IF_CHANGED in conjunction
with the shuffle and repeat settings
instead it makes more sense to make F_CB_ONLY_IF_CHANGED
and apply to all callbacks (F_CB_ON_SELECT_ONLY or on_exit)
Change-Id: I4376557d479aceb419f7b4b4e0998afc249c87ec
shuffle and sort were called on startup before playlist_init
and also on setting switch even without select
repeat is also now handled in settings_list as well
after moving the callbacks to settings_list.c
there was then a problem of unintended callbacks on exit of the menus
fixed that with F_CB_ON_SELECT_ONLY
since the callback was called regardless of the setting being changed
on F_CB_ON_SELECT_ONLY which is preferable in some circumstances
I co-opted F_TEMPVAR to allow the callback only when the setting was changed
with the flag F_CB_ON_SELECT_ONLY_IF_CHANGED
Change-Id: I5265233bbb556dc06c45273e742be5d78510a806
Setting in shortcut was not being handled as it had no callback.
In the settings menu it looks like the event is handled separately.
Added a shuffle callback to the setting so it is called when changed
from the shortcut.
Edit: move callback to within settings_list so playlist interface is
unchanged.
Change-Id: I3691acac1c73a80bf67c0b8b334009ef1655fdb0
add_indices_to_playlist() wrongly assumes playlist->utf8 means
the playlist has a UTF-8 BOM. It only means the file is UTF-8
encoded, and says nothing about the presence of a BOM.
Trying to seek past a BOM when there is none mangles the first
filename in the playlist. Avoid this by closing & reopening the
playlist, which ensures the BOM (or lack of it) gets detected
properly.
Change-Id: I222fa6fc31e941d0252f1895b393a51694b93b7c
Have get_track_filename() read track seek offset & insert type
itself to avoid duplicating code. Most callers are not interested
in that information, and only use it to call get_track_filename().
Change-Id: I46d50fda10e515f74e27eebdded8e281bbf4456f
It was only used in filetree.c. It's still implemented in Lua so
scripts using rb.playlist_add() won't break, but has been removed
from the Lua API "backend".
Change-Id: I5625a47f0692456008c6b10dee14755151d22f29