1
0
Fork 0
forked from len0rd/rockbox
Commit graph

17262 commits

Author SHA1 Message Date
William Wilgus
34361c82f1 [BugFix] Database Track>Filename returned Directory Attribute
Navigating to track listing by Filename in the database
passed the whole directory to the playlist and track info plugin
insead of the track filename

this was due to 'tag_virt_basename' not being recognized as a valid
audio file

Change-Id: I3d1cd0b6998a2e55d4f7d70711af9ced46cf2c44
2024-03-24 11:19:41 -04:00
Solomon Peachy
57f76784c5 Fix build for hosted targets.
Basically the namespace code _never_ actually linked properly on hosted
targets, but nobody noticed as there were no users, causing the symbols
to be dropped with no fuss.

The tagcache namespace awareness stuff pulled in the namespace code,
which made things go kaboom due to it relying on native FAT parsing
code.

Change-Id: Idef5f44b026c875022436809ca1f5015eece714a
2024-03-23 19:59:31 -04:00
William Wilgus
fdc3668a6a [BugFix] Multiboot Database duplicate files
When the sd card is mounted into the root namespace the database
picks up files through both paths

previously we hid the mounted drive but this causes issues with users
databases when the drive letter changes

Adds a way to keep track of volumes mounted in the root namespace

Hides the enumerated volume in root

Database:
we can just parse the root directory ('/') and get to any mounted
volume but we can also enumerate a volume in the root directory
when this occurs it leads to multiple entries since the files can
be reached through multiple paths ex, /Foo could also be /SD1/Foo
Instead we will attempt to rewrite the root with any non-hidden volumes
failing that just leave the paths alone

Change-Id: I7bdba8cfaf63902d2a3852d28484bcf8ca317ebd
2024-03-23 01:03:33 -04:00
Solomon Peachy
ae01ea7fd9 FS#13404: Updated Polish translation (Adam Rak)
Change-Id: If23726baf2dd9549f89df5344f44ff29d55d8b5b
2024-02-23 16:05:34 -05:00
Roman Artiukhin
e122243bb0 plugins: playing time: fix possible crash on sys event
Change-Id: I7b3580c56e2b285f56b9e2195fbf3c14b6cd96e5
2024-02-03 16:01:22 +02:00
JJ Style
49910eca4b Implement dart scorer plugin application.
Edit:
    - Add name to credits
    - Add entry in manual

Change-Id: I0e0b062e001ae9134db3ee6e4fba21e93ddd04ee
2024-01-23 22:32:22 -05:00
Christian Soffke
fd12225861 plugins: alarmclock: fix input lag
Change-Id: I6e2e9723aea511eef32116c92105822cc8a16271
2024-01-12 13:15:49 -05:00
Christian Soffke
de16065265 plugins: disktidy: fix loading of filetypes to clean
regression introduced in 1648441

Change-Id: I7e7c07128bf47ca862b4d45b362e7723846163a7
2024-01-07 07:01:13 +01:00
Dana Conrad
8cc7476735 ErosQ Native ES9018K2M: Add digital filters capability
Setting not yet hidden for older hardware revision.

Change-Id: Iaaa5727e63c38de578a6bbc73498ae1073180e65
2024-01-02 08:19:23 -05:00
roman.artiukhin
4cd65b9d97 Codecs: mp4: Disable SBR decoding for PP5002 - PP5022 platforms
Includes ipod video (5G) and earlier models, sansa c200 and others players not capable to decode AAC-HE.

Allows to play backward compatible files as AAC-LC.

Change-Id: Ic9f5c0f255d9a4308c3414d402f8f27f4328ca94
2023-12-31 20:44:15 -05:00
Solomon Peachy
5cf8248442 plugins: Associate markdown (*.md) files with the text viewer/editor
Change-Id: Iac48469e6e9b30574ac8a3f73f21e5f195d44d22
2023-12-22 14:36:29 -05:00
William Wilgus
9e802be969 [BugFix] run filebrowser automatically for out of tree shortcuts
missed a case for out of tree shortcuts coming from the quickscreen in the main menu

Change-Id: I25714f9deaba5f0c88e50de03ead747733b7f568
2023-12-03 20:22:56 -05:00
William Wilgus
83566008a0 [Feature] run filebrowser automatically for out of tree shortcuts
supersedes g#5499 run .link shortcuts within menu shortcuts
and just extends it to the whole plugin stack which makes
sense as long as it doesn't cause any new bugs ;)

Change-Id: If152f53cf6894430c1173a2af1410e7d0857825e
2023-12-03 15:20:19 -05:00
William Wilgus
1e3e9c68c8 [FixRed] Touchscreens in the YesNO dialog
Change-Id: I69cb03d8ffe4a8ecc06517c9a455c3b38327c6be
2023-12-03 10:31:44 -05:00
William Wilgus
9dd1b0f46d [BugFix] YesNo screen scrolling
clearing the viewport stops the scroller
so instead clear the viewport ourselves
[this might cause some glitching but should be acceptable]
in testing this causes no discernible ill effect -- time will tell..

Change-Id: Ia73a459205e37c8aebdf1cd82cd742df3d803af8
2023-12-03 10:13:19 -05:00
William Wilgus
4e53ec80b5 [Fix Yellow] root_menu.c
Change-Id: Ib13b54e3d7818746edfd0d13c37328bd90d23b22
2023-11-25 03:21:09 -05:00
William Wilgus
40e685fb71 [Feature] run .link shortcuts within menu shortcuts
Change-Id: Ifbc2b95ab367ae18fa51074a3f8ea551ad2ab6a8
2023-11-25 02:48:49 -05:00
William Wilgus
b6ce98c55c [BugFix] yesno screen disappears
sending GUI_EVENT_NEED_UI_UPDATE ensured we got redrawn but it also
sometimes resulted in the yesno screen being overdrawn
depending on which event callback was called last

now increasing the update frequency,
clear the dirty bit on whatever vp we are replacing
and well as call our redraw function instead of sending UI_UPDATE

also found a potential bug in get_font()

Change-Id: I1da6defa6db799a4778590daa0c107aba00a9d34
2023-11-24 16:17:33 -05:00
William Wilgus
cb3b5397b3 Revert "Extend path_append_ex to truncate compname, remove some strmemdupa"
This reverts commit dbe20d453d.

Reason for revert: Crashes ipod Classic

Change-Id: I9ea329ce73383535353832d17c7c5e494e5ad516
2023-11-23 21:26:13 -05:00
William Wilgus
53a47970e3 [BUGFIX] some files wouldn't run as shortcut
make sure we have a chance to get the dirfilter otherwise
it may be rejected

adds some sanity checks and safeguards too

Change-Id: Ibdad288ace0c8bf6ac7b8f46722a43aebead829e
2023-11-23 12:26:08 -05:00
William Wilgus
5c60975d4f Revert "Revert "tree.c cleanup update_dir()""
This reverts commit b6ac9a9f39.

Reason for revert: RED Herring 

Change-Id: I96ea6cf15ba00b0faa8ce58dbbdde7d64973e119
2023-11-22 18:58:51 -05:00
William Wilgus
b6ac9a9f39 Revert "tree.c cleanup update_dir()"
This reverts commit 1d2dfb3a76.

Reason for revert: crash on ipod Classic boot

Change-Id: Ie0fe569515f73bb7853796e5e7df13fde42e8642
2023-11-22 13:43:53 -05:00
William Wilgus
1d2dfb3a76 tree.c cleanup update_dir()
Change-Id: I46a78a3df5ec76a5cd3ae1d6bb236fa40ae75533
2023-11-22 11:50:15 -05:00
William Wilgus
72c539d35e [Bug_Fix] shortcut to directory in .link files caused crash
since the plugin browser is now closed when running plugins
rb->set_current_file() had no valid browser context and used 'random' memory
instead

also adds a way to discard levels so we can load the desired directory
instead of returning to the previous

https://forums.rockbox.org/index.php/topic,54694.0.html

Change-Id: I624246e56d42972bf6a1ce566a209b745de6f30b
2023-11-22 00:52:58 -05:00
William Wilgus
dbe20d453d Extend path_append_ex to truncate compname, remove some strmemdupa
remove some duplicated strings previously allocd off the stack

just removing string duplications that are easily handled with truncation
now available with path_append_ex()

this also has an advantage of less stack used in worst case scenarios

Change-Id: I3a43e33ef8a8c36599e4c6c036a0ccdd8ed0c883
2023-11-19 12:00:02 -05:00
Christian Soffke
a7d0ff2000 Playlist Viewer: Reload indices after saving currently playing playlist
First index may have changed

Change-Id: If6c2fbb42014610aeae48918168c32ca82fb9b5b
2023-11-19 01:13:49 +01:00
Christian Soffke
35f9a5b415 Skin Engine: Fix loading images with same file name
Looks like this was a regression introduced in 01cbb79.
The duplicate img uses an existing buflib handle for
the data, but still didn't have access to the dimensions
from the bitmap struct.

Test case: DancePuffDuo theme for Sansa E200. Only one
dancepuff was displayed. Thank you to goatikins for
reporting the issue.

Change-Id: I32c3ebd1f00738f7db52e7a66f98c4ab3489ee4a
2023-11-18 10:29:47 -05:00
Christian Soffke
5114827937 Fix: Rotate indices after saving playlist w/ first_index > 0
When saving the current playlist, entries written out
to disk were rotated, but its indices were not, resulting
in first_index being out of sync between the two. Thus,
an incorrect index was used for any playlist commands,
from the moment you saved the playlist until the next
time you resumed, which didn't produce the right playlist.

Change-Id: Ie4b02ce9e07e565b1b15c938cc4b820db08e8f1f
2023-11-15 23:49:53 +01:00
Christian Soffke
bd93f9f96f Increase playlist control file's version number
This should have probably been included in e9b4275,
since a control file generated with that build will
potentially cause issues when used with older versions,
in case -8 appears as an insert position.

Change-Id: I4a7097a2bd33c0dbbdad481a341b49be505f34f7
2023-11-12 02:49:20 +01:00
Christian Soffke
a82b30735d Fix queued track when resuming after PLAYLIST_COMMAND_CLEAR
PLAYLIST_COMMAND_CLEAR needs to save the index of the
currently playing track, or a track with index 0 will
be left queued after resuming from control commands

Change-Id: If7449bff92acd556b03c46e82301e8fec5c997d7
2023-11-11 00:36:14 +01:00
Christian Soffke
ba14aecd5e Fix INSERT_LAST_SHUFFLED when playlist's first_index > 0
Tracks were inserted into the middle of the playlist

Change-Id: I2a665fd3e0fe9d8900d6555e6affc5cb3d7513f8
2023-11-11 00:36:14 +01:00
Christian Soffke
8a6aaaa5ed Playlist Viewer: Make Shuffle behave like Reshuffle
Moves currently playing track to the front of
the playlist when shuffling.

Also fixes issues with an incorrect resume index
after repeatedly applying shuffle.

Change-Id: Ieff76e47318a07ee5004b063ded439f2af4bae2f
2023-11-11 00:36:14 +01:00
Christian Soffke
d4f1247aec Playlists: Fix moving songs in reshuffled playlist
The current index wasn't always correct after moving
in a playlist with first index > 0

Change-Id: Ifbcc1e00ed0ec5b26e2176d7971cc5c1e15a8840
2023-11-11 00:36:14 +01:00
Christian Soffke
e9b4275d1f Playlists: Fix resuming from control commands with first_index > 0
add_track_to_playlist_unlocked only increased a playlist's
first index as necessary when its position parameter was
negative (i.e. one of the special insert positions was
specified).

A negative value was not stored in the control file, but
was always converted into an absolute position. Thus, any
adjustments to first_index weren't repeated when resuming
from the control file.

In particular, shuffled playlists were affected (in case of
first_index > 0), when inserting at positions <= first_index,
including appending a track to the end of a playlist. This
works by inserting at first_index and increasing first_index
by 1 afterwards.

Similarly, adding tracks in a shuffled fashion could increase
first index, whenever that was the value randomly calculated
for a track position, effectively appending it (I assume this
is on purpose).

To make sure that first_index adjustments are recovered when
resuming from the control file, and to be able to differentiate
between a prepended or appended track, store the special value
PLAYLIST_INSERT_LAST_ROTATED as the insert position in the
control file whenever first_index would have been used before,
and a special position (other than PLAYLIST_PREPEND) was
provided to the function.

Change-Id: I31f26796627fb136daeddd046cb1892bdf1b4014
2023-11-11 00:36:14 +01:00
William Wilgus
7ac4d34dd6 Playlist slight optimizations for playlist_resume
Change-Id: I766ce032a9b6b36d750a9231ff9f5d5a0167e5a5
2023-11-09 21:03:25 -05:00
William Wilgus
154f10c2d2 boost cpu when resuming playlists
Change-Id: I6184075945b59b3fce2882dd56567b5cf3cb174b
2023-11-02 23:48:54 -04:00
Christian Soffke
332a0fa968 Playlist sort/shuffle: Fix data type
I noticed that setting first_index to the
current track when shuffling a playlist
could fail in the Simulator.

Change-Id: Ic9467bd46a93aa2d2b765271110b0baee7058208
2023-11-01 15:35:58 -04:00
roman.artiukhin
63f75d22b4 Fix potential stuck on auto track change when buffering is stopped
pcmbuf  might wait for next track for proper crossfade/gapeless playback (see pcmbuf_start_track_change). It's not going to happen with stopped buffering.

Fixup for 831faa3b (#5394)

Change-Id: I969878d13a9f976566eef5b975beb1687b519a37
2023-11-01 16:24:32 +02:00
roman.artiukhin
11b8336c64 Fix rewind on resume is applied for skip length across tracks action after auto frequency switch
Add resume adjustments flag in mp3entry struct which is required for proper AUDIO_START_RESTART resume handling

Fixup for 4fb37ecb (#5196)

Change-Id: Ie9ecfe2b637bba38e442066333d71eeff01030ad
2023-10-31 13:46:07 -04:00
Christian Soffke
ba62798746 Playing Time plugin: Fix calculation for shuffled playlists
Playing Time produced incorrect results when
the playlist's first index wasn't 0.

Change-Id: I1c11b876e0e435c824c9ddc0863fd7ee76bda073
2023-10-31 17:58:17 +01:00
Christian Soffke
9c79a4449a Playlist Viewer Track Info: Fix displayed index
Index was incorrect for shuffled playlists

Change-Id: I72f7c07ddd1e6b6815e245ba775bd3aeba8fa5b2
2023-10-31 17:45:07 +01:00
roman.artiukhin
f377ad3ce7 Restore clearing resume info for current track in playing_id3_sync
Regression introduced in 3d5dd97c (#5426)

Without it current playlist keeps last bookmark info so next time track is played again from bookmark.

Change-Id: Ifeff43a4a2d380056ef8a389c3c72e7254db4080
2023-10-31 03:28:55 -04:00
William Wilgus
d78be6716b [BUGFIX] block SYS_EVENTS from some action switches
fixes some of the places where SYS EVENTS cause issues with action switches
that don't have handling for system events

more exist..

Change-Id: Ie6f4b05ed7ef1119d43e65ee49be8f754af83f52
2023-10-30 19:03:18 -04:00
Christian Soffke
d77c417fd1 Fix bookmarking/reloading after saving shuffled playlist
The resume index into the playlist file
that was used for bookmarks created immediately
after saving a shuffled playlist, or for reloading
the saved playlist (in case "Reload After Saving"
was enabled), tended to be incorrect.

The playlist file effectively isn't shuffled
anymore after saving it to a file, but the
resume index may still have to be rotated unless
playback has been stopped and resumed before
bookmarking, due to indices that are shifted
by first_index.

Change-Id: Id335a7a71adc216989d7b415bfa48237d92fd7b0
2023-10-30 14:09:51 -04:00
Christian Soffke
3f3e185460 Fix return value for playlist_get_resume_info
(Only) bookmark_is_bookmarkable_state()
seems to require a return value atm.

Change-Id: I701031285aad80a46ebca747d06f15d968c0e9c7
2023-10-30 13:57:01 -04:00
Christian Soffke
96dd251571 Remove playlist_shutdown from playlist_resume
This was added in 5e757b4 as a band-aid to
prevent control data from being discarded,
but has since become superfluous after
the removal of the control file cache in
2e99e21.

Change-Id: Ia7bd84f9442ec1103aee8d3c4454216719aa2d66
2023-10-30 18:49:42 +01:00
Christian Soffke
45746934c4 playlist_set_current: Fix outdated dircache filerefs
Entries from a previously playing playlist may not
have been replaced after selecting a track from
a different playlist in the Playlist Viewer when
playback was stopped (not paused), since the index
buffer of a playlist opened in the Playlist Viewer
is shared with the current playlist when nothing is
playing.

Change-Id: I939e302c73cabd0e9d969550143635e54db32bf0
2023-10-30 02:07:01 +01:00
Christian Soffke
954dd0ff75 Playlist Viewer: Don't set unmodified after saving
90e3571 has made this redundant

Change-Id: Ic5cc374712d5eddfd4bd53ed083fa9ec2c5777c6
2023-10-29 01:29:18 +02:00
Christian Soffke
bdec7ed31b Suggest numbered filename when saving untitled playlist
+ update misleading comment for catalog_add_to_a_playlist's
m3u8name parameter (the keyboard picker will be shown even
if it's not NULL)

Change-Id: I7576a83fd40cdcdb7a912c90d8c1d9a8f25e277c
2023-10-28 18:24:00 -04:00
roman.artiukhin
831faa3b82 Rework auto playback frequency switch
Moved logic outside playback events to be executed early. Stops buffering when frequency change is detected (additional STATE_STOPPED state is introduced)

Removed no longer used AUDIO_START_REFRESH flag

Change-Id: Icfae61725a4d8ffb47380f561a011bda4841457b
2023-10-28 15:11:07 -04:00