Rockbox

IDTask TypeCategory  ascPrioritySummaryOpenedOpened byLast Edited
10071PatchesCodecsVery LowTrying out Tremolo optimisations for tremor on ARM2009-03-29Dave Hooper42009-03-296 Task Description

This first patch is a merge of Tremolo’s bitwise.c and bitwiseARM.s code into rockbox libtremor. As a naive version of the merge, I have taken out the previous rockbox optimisations to huffman decode (originally implemented in  FS#6848 ). Versus svn, decoding speed is worse with this patch. However something that incorporates both  FS#6848  and the Tremolo bitwise optimisations for little-endian ARM may well turn out better. This patch is seriously not committable, the arch-specific stuff is not done cleanly in the headers or the makefile

11702PatchesCodecsVery Lowmpc filterbank synthesis optimization2010-10-25Andree Buschmann202010-11-109 Task Description

This patch resorts the v-array within mpc’s synthesis filter. Through this data is placed more locally for the performance critical function mpc_decoder_windowing_D() and allows ldm-usage in the asm’ed parts.

This first patch does work for simulation but not for ARM or CF builds. An update with more optimized ARM asm will follow, CF asm needs to be corrected by someone with knowledge on CF assembly.

The output is binary identical.

11759PatchesCodecsVery LowRearrange libmad synthesis memory acceses for arm2010-11-15MichaelGiacomelli132011-04-0813 Task Description

Work in progress patch. Currently decodes audio but with some glitches. Has a small mountain of debug code included.

The basic idea is to rearrange the D filter coefficients in the synthesis filter so that pairs of them are used sequentially. This is not easy because the taps need to be loaded in the seemingly random order needed by the audio samples. However, this rearrangement seems to be possible:

0 1 2 3 4 5 6 7 (original sequence)
0 2 1 3 4 6 5 7 (new sequence)

The complication is that the code assumes that it can start a new filter at any offset, even odd ones, which means each and every filter needs to be rewritten 4 times, one for each of the 4 possible alignments. This patch does that.

Once I'm certain that it works, I intend to convert the D coefficients to packed 16 bit values, then use packed 16 bit multiply instructions on ARMv5E+. This should lead to a small speed up on armv4 (just because ldm instructions can be used instead of ldr) and a very large speed up on arm9E and arm11 (because packed multiplies are tremendously faster and much easier to pipeline).

11891PatchesCodecsVery LowAdd mp3 gap skipping support to improve gapless playbac...2011-01-18Andrew Tefft292011-09-021 Task Description

As we know, rockbox will use the information provided by "good" mp3 encoders (e.g. LAME) to ignore the extra padding that occurs at the beginning and end of each mp3 file, so that true gapless playback can occur. Unfortunately we do not always have the luxury of encoding our mp3 files in this way but we might still want true gapless playback. This patch compensates for the use of "dumb" mp3 encoders that do not record the necessary information for this feature.

In cases where it does not detect the proper header information to trim off the extra padding, it will optionally skip up to a full frame of silence (or near silence) at the beginning and end of each track (if the trimming is already specified, this patch does not do any additional trimming).

This can potentially eliminate up to a frame of "real" silence at the beginning or end of a track, but in terms of audibility, that would be completely unnoticeable (and it would only happen on these badly-encoded tracks), while the extra silence is an audible annoyance.

I have added an option to the Playback Settings menu so that the user can disable it if desired.

11978PatchesCodecsVery LowNew Atari SC68/SNDH codec based on the SC68 library by ...2011-03-01Mauricio Garrido162011-06-107 Task Description

Hi, this is a new codec based on the SC68 library
by Benjamin Gerard (sc68.atari.org).

Revision: 29484
Tested on: Sansa Fuze v2

Features:

  1. 44 Khz Stereo sound.
  2. Supports sc68 and sndh files.
  3. Support for multi track and single track files.
  4. Metadata parsing.
  5. Fade out support.

** This codec needs the sc68 Replay folder to work, just put it in the root of
your player. you can find one here: http://aminet.net/package.php?package=mus/play/sc68.lha

Notes:

1.  This is a beta codec, some (big) songs may cause rockbox to crash.
2.  When compiling the sc68 library i had a lot of dependencies errors with
     missing includes.  It is compiling fine now on the vmware image, but not in cygwin.
     I still have to find the problem with that.
3.  Some songs doesn't work, specially some big sndh files.  I'm still working on it.
4.  Seek support is broken, i'm working on it.

Please feel free to make any comment or suggestion.

12176PatchesCodecsVery LowNew Chiptune codec pack based on Game_Music_Emu library...2011-07-01Mauricio Garrido1422013-04-1037 Task Description

Hi, this is a codec pack containing all codecs based on blargg's
Game_Music_Emu library.

I have ported all code to C to work in ROCKbox, and i have replaced the
MAME versions of some emulators with others compatible with the GPL license.
It was a lot of work but i did it because i really love chiptune music and having the
possibility to listen to a lot of classic video game system's music in a small player
is really great ;).

Original Game_Music_Emu library here: http://slack.net/~ant/libs/audio.html

Tested on: Sansa Fuze v2
Created from revision: 30084

The following formats are contained in the pack:

- AY (ZX Spectrum, Amstrad CPC)
- GBS (Nintendo Game Boy)
- HES (NEC TurboGrafx-16, PC Engine)
- KSS (MSX Home Computer, other z80 systems)
- NSF, NSFE (Nintendo NES, Famicom)
- SGC (Sega Master System, Game Gear, Coleco Vision)
- VGM, VGZ (Sega Master System, Mark III, Sega Genesis, Mega Driver, BBC Micro)

Additional features:

- 44100 Khz, stereo playback.
- Support all sound chips in NSF/NSFE formats.
- Support MSX-AUDIO and MSX-MUSIC in KSS format .
- Support ADPCM samples in HES format.
- Support for extended m3u playlists created specially for

some chiptune formats.

Known issuses:

- Some (or all) codecs might not work in some targets, specially

if they have an small iram size, or if the codec is too cpu intensive, 
like VGM and KSS.

- Subsong change is not working properly, specially when it happens

automatically.

- Most vgz tracks will be truncated due to the small amount of free

memory available to uncompress them.

- Some SCC+ soundtracks might not work correctly.

** There might be several bugs and issues to be found yet, so please feel free to

  report them here or to my mail address.

Special thanks to:

- Shay Green (blargg) the original author of the great Game_Music_Emu

library.

- Chris Moeller (kode54) who made some nice improvements to the library.
- Mitsutaka Okazaki, author of the YM2413 emulator.
- The OpenMSX team for the YM8950 emulator.
- Stéphane Dallongeville for the YM2612 emulator.
- Joshua Chang, Haiku Konaru and everyone else who has helped me to

test the codecs.
12189PatchesCodecsVery LowSimplify the codec API and don't always loop MODs.2011-07-11Sean Bartell72011-08-313 Task Description

This patch makes some changes to codec_api to help remove dependencies for my project.

The unused strcasestr callback is removed.

The global_settings pointer was being used by several codecs to check whether REPEAT_ONE mode is on; this has been replaced with a callback "should_loop()".

The MOD codec has been modified not to restart the file when it reaches the end. This does not affect MOD files that use "position jump" to loop part of the song. Ideally the MOD codec would only follow such loops if should_loop() returns 1, but detecting loops is nontrivial.

12240PatchesCodecsVery Lowrbcodec refactoring part 12011-08-22Sean Bartell32011-08-286 Task Description

Continuing from  FS#12204 , these patches remove some of the dependencies librbcodec has on the rest of Rockbox.

0001: puts equalizer settings in the parameters of dsp_set_eq_coefs, removing the need to access global_settings from dsp.c

0002: makes dsp_process yield each iteration instead of once each tick, which is tricky to do portably. If this is undesirable, I can work around it.

0003: moves some replaygain stuff around so dsp.c doesn't have to access global_settings.

0004: instead of dsp.c and tdspeed.c allocating buffers, buffers are allocated elsewhere and passed to dsp_timestretch_enable(). The necessary buffer size is determined by calling dsp_timestretch_get_buffer_size().

0005: replace get_audio_base_data_type() with audio_format_is_atomic(), removing a dependency on TYPE_PACKET_*.

0006: move autoresumable() to playback.c, removing another dependency on global_settings.

12242PatchesCodecsVery Lowrbcodec refactoring part 22011-08-22Sean Bartell2011-08-227 Task Description

Continuing from FS#12240, these patches remove most of the rest of the dependencies librbcodec has on the rest of Rockbox.

12435PatchesCodecsVery LowZX Spectrum .tap codec2011-12-09George Manolaros182012-01-088 Task Description

This patch adds a new codec that playbacks ZX Spectrum .tap files. Created against trunk (revision 31187)

8618BugsConfigurationVery LowSansa C240 Dock Line Level Audio disabled2008-02-18Nate Byers12010-07-19 Task Description

On the Sansa C240 V1, to switch on the line level audio output on the dock connector pin 8 needs to go high. So jumping 3V+ from pin 22 will activate the line level audio. This works fine with the Sansa firmware but Rockbox produces no sound through the line level outputs on the C240, with pin 8 jumped or not jumped.

9510BugsConfigurationVery LowIdle Poweroff doesn't exactly poweroff X52008-10-28bouchacha32009-05-11 Task Description

Setting the Idle Poweroff setting seems to work just fine initially because the player ceases to respond to any input. However, when you push the power button back up to turn it on, the screen lights up and says “Shutting down…” for a few seconds before actually powering off. You then have to push the power button back on to turn it on proper.

10830BugsConfigurationVery LowiPod Mini firmware often starts with alarm set and shuf...2009-12-05Jim Henderson2009-12-05 Task Description

Build is r23841 and earlier.

Occasionally when I reboot to the iPod firmware, something has caused the previously unset alarm setting to be enabled and the playback mode is set to shuffle. This doesn't happen with every reboot, but does more than 50% of the time.

Steps to duplicate:

1. Disable the alarm and set the shuffle mode to "None" in the iPod firmware.
2. Reset and boot into Rockbox
3. Listen to a few tracks
4. Reboot into the iPod firmware and check the shuffle mode and alarm settings.

I can't confirm 100% yet as to the time on the alarm being reset as well, but it does seem to consistently read 6 AM - which is a bit of a shock if I've been listening in Rockbox during the day and then I reboot into the Apple firmware and dock in my iHome, expecting to sleep in late on the weekend.

12574BugsConfigurationVery Low3.10 on Clip V2 freezes when selecting another language...2012-02-02Frank Steinmetzger2012-02-021 Task Description

After a lot of trial and error I found out the following.

It appears that 3.10 on my Clip V2 writes a bad nvram.bin file. When I try to set another interface language, my Clip freezes. It does not react to input and the clock in the top line doesn’t update anymore. The FM radio kept on playing though. I haven’t tried all available settings in the menu, just the ones I occasionally use. But the problem never occurred anywhere else, just upon selecting another language.

When I delete nvram.bin, I can set a language. Then I switch the Clip off and on again, and the problem comes back.

See attached the nvram.bin which causes a freeze.

PS.: No Sansa Clip in the Player Type selection on the left.

12589BugsConfigurationVery LowConflicting config/theme2012-02-14Arne Stierman32012-02-152 Task Description

The config caused the iPod to appear frozen (frozen screen) after bootup. The iPod would boot, show the normal boot screen and then created a boot screen mixed with theme settings. Picture: http://imgur.com/E4srA the iPod refuse and refused to mount.

Fix:
1: Boot into recovery diskmode
2: Remove conflicting config.cfg
3: Reboot into normal mode

12752BugsConfigurationVery LowVolume problem on Android RaaA2012-09-18PurlingNayuki62012-09-23 Task Description

So far there's still two problem which have never been fixed on Android:
1.When opening Rockbox, its volume bump to max automatically whatever it was when last quit;
2.On most HTC(and probably other) devices one can't use physical volume keys to adjust. Volume bars in WPS and SBS work well however.

Hopes the fixes!

13188BugsConfigurationVery LowQuickscreen entries cannot be removed2020-02-03Ramon Fischer2020-02-03 Task Description

Reported Version: 3.15 not 3.14

Hello,

I am using a "SanDisk Sansa Clip+" and it seems that currently it is not possible to remove quickscreen entries when they are set, you can only overwrite them.

In the manual chapter "3.15 Quick Screen" has to be adapted, once this function has been implemented.

It would be very nice to have this possibility!

-Ramon

13226Feature RequestsConfigurationVery LowAllow for per-directory sort settings2020-07-30Ori Avtalion2020-07-30 Task Description

Rockbox’s file viewer has a global sort setting.

It would be nice to have a default global sort setting, but also persistent per-directory sort settings.

For my use-case, it makes sense for me to sort my podcast directory by date, but I wouldn’t want that to affect my music directories, which should play files sorted by name.
Whenever I wish to play music, I need to go back to the general settings, and change the sort settings. And when I’m done and wish to listen to podcasts, I have to change it again.

10280PatchesConfigurationVery LowInitial work on the Samsung YP-P2 port2009-06-05Alain Trinh82010-08-196 Task Description

Hello, here's my current contribution to the Rockbox project: initial work on a port to the Samsung YP-P2. Right now, it's mostly just copied from the Cowon D2 port, but with some changes to reflect the P2's different LCD.

The LCD shows the picture undistorted, but it seems that the G channel is too strong. Perhaps this is due to the LCD being set to rgb666 mode, so it expects 6 bits from R and B, while Rockbox only gives 5 bits? I tried setting the LCD to rgb565 mode, but that only distorted the colors even more. In any case, suggestion for a fix would be great.

11101PatchesConfigurationVery Lowuser selectable USB cable bevaviour2010-03-14Oron Lavi102010-03-293 Task Description

Added new menu item under Settings.General.System, to select whether USB cable connection enters charging mode by default, or data transfer mode.

By default, the option is set to "No". Meaning, in order to have RB enter charging mode, a specific button should be pressed by the user.

If the option is set to "Yes", USB connection causes RB to enter charging mode, unless the specified button is pressed, causing RB to switch into data xfer mode.

12027PatchesConfigurationVery LowAdd the Zipit Z2 as an build target.2011-03-24Don Heyse62011-06-057 Task Description

Here’s a patch to version r29143M-110324 that adds the Zipit Z2 as a build target. It requires one new file (also attached) firmware/target/hosted/zipit/powermgmt-zipit-z2.c to monitor the battery.

This is mostly a generic SDL app with a few tweaks for the Zipit buttons and battery monitoring. The patch also includes a few small bug fixes for SDL app builds. I had to fix the labels in the asm section of lcd-16bit.c. There were some missing parenthesis on an #ifdef in button-application.c. And the apps/SOURCES file needs an #ifdef to handle an SDL app build without touchscreen support.

12568PatchesConfigurationVery LowiPod Classic - limit volume to +6db2012-01-29Albert Barca122012-02-134 Task Description

The iPod Classic Cirrus CS42L55 DAC+amp chip is specified to output audio up to +12dB versus the reference level (0.775V RMS) and the current Rockbox driver implements this accordingly (note that the OF limits the amplification to a lower level).

However, any amplification above +3dB applied to a 0dB signal results in serious clipping errors, the sound being distorted (oscilloscope measurements attached). This is not a surprise, given that +12dB translates in over 8V peak-to-peak output, way above what the iPod is capable of with its 3.7V battery.

Distortions aside, +12dB can be overkill for most of the earphones (depending on the sensitivity) and not a very pleasant experience. If you put the iPod in your pocket and forget to lock it you may experience this frequently.

In practice not all tracks have peaks reaching the 0dB level (actually nowadays this is quite common given the "loudness war"). To provide some room for additional amplification when needed, I found the +6dB limit to be a good compromise.

13193PatchesConfigurationVery LowAdd option to disable settings reset on startup2020-04-01Stefan Ott12020-04-032 Task Description

I would like to run my iPod with its keypad locked all the time, thus I wrote a little patch to an option to disable the settings reset during startup regardless of the hold button's position.

You will find the patch attached to this message. I'm not entirely convinced by the name of the new option (or my wording in general) so if you have a better idea, feel free to rename things.

8554BugsDatabaseVery LowRockbox hangs on boot if disk full2008-02-04Ivo Burkart32009-12-08 Task Description

Rockbox hangs if the disk gets full during database creation.

9093BugsDatabaseVery LowDatabase initialization hangs if there's no music file ...2008-06-16William Poetra Yoga Hadisoeseno82014-01-163 Task Description

The database hangs when doing initialization if there is no music file on the player.

How to reproduce:
1. Install Rockbox.
2. Put some music files onto the device.
3. Initialize database.
4. Reboot.
5. Remove all music files from the player.
6. Initialize database.

10037BugsDatabaseVery Lowdatabase_changelog corrupted/wrecked2009-03-20Giles82012-08-29 Task Description

Build 20399

The database_changelog.txt is corrupted in that the wrong filename is associated with a track, this has happened before (pre v3.0), I had to write ascript to correct it.

Exampe row from log:

artist=”Teach Yourself” album=”Polish Conversation (Disc 3)” genre=”Books & Spoken” title=”Conversation 1: Booking A Hotel In Krakow” filename=”/iPod_Control/Music/Blur/Blur - Blur/14 Essex Dogs.mp3” composer=”<Untagged>” comment=”<Untagged>” albumartist=”Teach Yourself” grouping=”Conversation 1: Booking A Hotel In Krakow” year=”2006” discnumber=”3” tracknumber=”2” bitrate=”71” length=”640824” playcount=”0” rating=”0” playtime=”0” lastplayed=”0” commitid=”12” mtime=”955689818”

11486BugsDatabaseVery LowBookmarks from tagcache don't work2010-07-18Marek Salaba52011-02-191 Task Description

Hello.

I found that bookmarks which was automaticaly created (by the function Bookmark on Stop with set to Ask) from tagcache don’t work. Problem is in missing path to file in bmark file. I made more test and now I attach bmark where first line/bookmark is from tagcache and second line/bookmark is from files browser.
Both are on approximately same time.

I testted on Sansa c250 and Sansa Fuse2 with Rockbox r27481-100718.

Can anybody from developers focused on it, please.

Much more thanks.
Salaba

11655BugsDatabaseVery LowData abort In sansa Fuze v2 when I insert 2 albums to t...2010-10-05Haim212011-08-041 Task Description

In my sansa Fuze v2 build 28208 when I insert some album to the playlist and after that I insert another album to the playlist I got this error massege:

Data abort
at 3001AE90
FSR 0x8
(domain 0, fault 8)
address 0xB0166244

thanks!

12076BugsDatabaseVery LowAutoresume feature can start from wrong offset due to r...2011-04-19Rob Walker152011-08-082 Task Description

I've found a problem with the new autoresume feature in 3.8. I use it when listening to podcasts and sometimes find that it resumes from near the end of a new episode - e.g. on a 30 minute podcast it will resume from 28 or 29 minutes - usually about the place where a previous epidsode finished and I skipped past the end credits.

What I think is happening is that there is some code in the database that tries to resurrect the runtime statistics for files that have been deleted and then restored - as the last offset is in this data, it is reusing the last offset from an old episode.

I've put some more logf()s in tagcache.c in build_numeric_indices(). I can see that if the filenames don't match (line 2306) it then tries to match any 2 tags out of the 3: artist, album or title. For the podcasts, the artist and album are always the same (i.e. the producer and which one of their podcasts it is), but the title is different (i.e. "Episode 100", "Episode 101", etc). So if I've listened to Episode 100 and then deleted the file, and then add Episode 102 to the player, it matches the artist and album and so resurrects the wrong data from Episode 100.

I've disabled the resurrection based on tags (just commented it out) and the problem seems to have gone away. A better fix would be to ensure that all 3 tags or matched or to ensure that title is one of the matched tags

12129BugsDatabaseVery LowDuplicate database entries2011-05-25bug122011-08-225 Task Description

I don't know whenever it happens with other versions or not, all I got is Sansa Clipv1 to test with.
My configuration is Initialize once and auto update working.

It seems like the database items got duplicated for unknown reason. I seem to have up to 7 entry's of the same item inside the database. I am not sure what causes it, but that is what I've noticed.
[At first I thought it's a shuffle bug 'till I was going to debug it only to find the database is full of clones]

12219BugsDatabaseVery Lowit freezes on the 'saving tagcache' process2011-08-06aguzin32011-12-05 Task Description

Hi there! I'm having a huge problem with the rockbox boot on an iPod classic 5G. I've selected a number of option in the tagcache settings, such as 'load to ram', and after it readed all the files (30GB of music) ask me to reboot, and finally it freezes on the message 'saving tagcache' [1/9], responding only when i press menu+select for reboot. The same for the usb connection. I can't manipulate the files in any way!

Please excuse my limited English. Greetings from Argentina and congratulations for the fantastic project!

12228BugsDatabaseVery LowDatabase fails to commit on Fuze v2 fresh SVN build2011-08-13padavoine52012-09-071 Task Description

Using r30284

Initialization of the database, from scratch, on the Fuze v2, using a fresh SVN build, fails when committing.

It scans all files, gets to committing 4/9, then hangs at “building database, N files found”.

If I reboot, it tries to commit on reboot, stops at 4/9, then boots into rockbox with no database (ie it asks me to initialize if I try to view it).

Attached are my database* files.

This is a bug in post-3.9 code, as I don’t have the problem with a 3.9 release.

12444BugsDatabaseVery LowDeleted tracks are still visible in database after auto...2011-12-11Michael Huth2011-12-11 Task Description

Tested on r31173:

Deleted tracks are still visible after the automatic database update when the player boots. These tracks vanish as soon as I add some files. It also doesn't seem to matter if the dircache is enabled or not. Manually updating the database from the menu works as intended.

12614BugsDatabaseVery LowBug while seeking on Sansaclip+2012-03-13Alan62012-05-09 Task Description

Hi, firstly i put Sansa c200 because SansaClip+ is not available in the list.
My player is a Sandisk SansaClip+ bought 6 months ago with an 8Gb class 4 Sandisk microsd (that is currently empty, no songs stored).

Steps to reproduce the issue (after a fresh installation of the Firmware, no settings changed):

1) Switch on
2) → database
3) → track
4) select any track
5) press the central button
6) Erase Dynamic Playlist? is displayed.. Select Yes
7) countdown then starts to play
8) Seek to the next song (it happens at the first seek or might need three, four one after the other)

Data abort
at 30813E44
FSR 0x8
(domani 0, fault 8)
address 0x62E90028

- I installed version 3.10 on top of version 3.09, but later on I tried to uninstall completely 3.10 and reinstall it from scratch and the issue is the same.

- After the crash i have to keep the "switchoff" button pressed for a while.. then I press it again to restart the player and I try to resume the song I get "playlist control file is invalid" or "nothing to resume"

- behavior is the same with or without the SD card

- The issue was randomly happening (but very very rarely) also on the previous version of the firmware (3.09) I got the error a couple of times in 6 months.

12712BugsDatabaseVery LowAudio files are not removed from the database if databa...2012-07-03Alex Mayer2012-07-03 Task Description

Experienced Results:
I have 2 folders(lets call them FolderA and FolderB) each containing audio files.
FolderA and FolderB are both on the root of my drive
Neither one has a database.ignore file in it.
I go to settings → general settings → database → update now
All files are added to the database as expected
…But i realize i dont want FolderB to show up in the database.
I add a database.ignore file at /FolderB/database.ignore
Then I go back in and update the database again(settings → general settings → database → update now)
all of my audio files still show up in the database(including the ones in FolderB with the database.ignore file)

Expected Results:
After adding the database.ignore file to FolderB and updating the database(settings → general settings → database → update now) the audio files in FolderB should no longer appear in the database

Summery:
Any files in a folder containing a database.ignore file should be removed from the database on update

Rockbox Info:
Build Version: daily / e3cddc2-120701

12853BugsDatabaseVery LowTagnavi not parsing operators in format line conditions2013-04-14Sim K2013-04-14 Task Description

It seems that operators are discarded when used in a tagnavi.config (or tagnavi_custom.config) format line condition.

For example,

%format “fmt_abtitle” “*%s - %02d:%02d” title Lm Ls ? playcount > “0” & lastoffset == “0” %format “fmt_abtitle” “%s - %02d:%02d” title Lm Ls Now if we used “fmt_abtitle” instead of “fmt_title” in the default tagnavi file, we would expect all tracks with a playcount greater than 0 and lastoffset equal to zero to be prefixed by three asterixes (*). Instead ALL the tracks with a playcount greater than zero are prefixed, leading me to think that the & lastoffset == “0” part is discarded. If I make the following change:

%format “fmt_abtitle” “***%s - %02d:%02d” title Lm Ls ? lastoffset == “0” & playcount > “0” %format “fmt_abtitle” “%s - %02d:%02d” title Lm Ls

Now all tracks with a lastoffset equal to zero are prefixed, which again proves that the and operator was clearly ignored and unparsed.

12960BugsDatabaseVery Lowiriver h140 only shows files in chronological order, al...2014-03-12Matthew2014-03-12 Task Description

I am having a couple of problems with Rockbox on my iRiver H140.
The first issue is that all my songs in the files folder are displaying only in the order
that they were uploaded onto the machine. If I go into the settings and choose to display
Artists in alphabetical order it doesn't have any effect! I am left to endlessly scroll through
the names or listen through the iriver player which doesn't play WAVs or FLACs so i can't access everything.
Secondly, if I start up and resume playback of an album it doesn't then allow me to access the files folder when I navigate to it. I have to then restart my player and go to files from there. If I later come out to the main menu and choose Files, or any folder for that matter, it won't open. It's really frustrating. Any ideas of a fix?

12977BugsDatabaseVery LowCan't select dirs to database2014-05-14michal plichta12014-05-14 Task Description

I cat choose folders to be scan into database. When I select some folder I don’t get confirmation if I want scan database, when I back to screen with folders none of selected folders are selected. I try to set them in config file manually and reread file into rockbox after start but it didn’t help either.

If I can collect some logs or screenshot pleas tell me how I will do it.

13019BugsDatabaseVery LowProblems with changing the case of filenames2014-12-18Wesley Burchell22014-12-20 Task Description

I was recently renaming some of the music files on my Sansa Clip+ MP3 player using my computer. Some of the renames were as simple as changing the case of some of the letters in the filename, from uppercase to lowercase. After I disconnected my device, I noticed that there were duplicates of certain entries in the database. Upon further investigation, I realized that all of the entries that were duplicated were the files that the names of which I had renamed by changing the case of the letters. After I discovered this, I tried to rename a file in this manner using the device. When I tried to save the file with the new name, the screen showed a box that read “Rename Failed.”
Apparently, at least for Sansa Clip+, RockBox has a problem with renaming files by changing the case of the letters. Let me know if any other RockBox devices have this problem as well.

13178BugsDatabaseVery Lowall titles in database 2x, even after several rebuilts2019-09-08mike22019-09-112 Task Description

Version 9e186e34ab-190820

i have an ipod 7th gen
rockbox installed
140.000 titles

database contains in unpredictable many cases of the folders 2 times the same title
not in all folders, but it happens very often that i open one and i see all titles 2x although they are only 1x on the sd card

the files exist only ONCE
but the database keeps listing them all 2 times

i rebuilt it several times, but the database keeps on doing that

any hint what i can do?

start as apple / itunes and delete rockbox folder / install new did not help

7984PatchesDatabaseVery LowTalk clip support for Database2007-10-17Jonas Häggqvist42007-10-213 Task Description

Before you get carried away, this is the script that will build talk clips in /.rockbox/talkclips/* for all tags and labels (reading tagnavi.config as well as the database_[0-9]*.tcd files).

The idea is that the database code will then look here for talk clips.

In the long term, the same method could be used for the file browser if desired.

Hopefully someone will help me out with the database code side of things, as I don’t think I’m up to that challenge.

8295PatchesDatabaseVery Lowdatabase integration of pictureflow2007-12-10Robert Kukla32009-03-073 Task Description

This is the first step of being able to use the pictureflow plugin from a database search. The database now indexes the path to the coverimage for each audio file. In the database browser you can select “Cover by...” genre, artist, composer, year or all and will be presented with a list of cover image paths. (Imagine a call to the pictureflow plugin at this stage, so instead of a list of boring paths you get nice and shiny images). After selecting a path it will display the list of files that would be queued when a cover image is picked in the plugin.

Next step is to work out how to safely call the plugin without losing the context and utilise the return value from it to queue the files.

Issues so far are:

- the preferred size of 100×100 is hardcoded (this should be configurable or at least be consistent with the value in the pictureflow
the db update for covers has the same restrictions as the other tags, i.e. it will only detect changed cover art on
the coverflow plugin needs to work while music is playing (or stop playback if needs
since there is no guaranteed relation between album name and image file, the album name can’t be displayed

9538PatchesDatabaseVery Lowtagnavi search condition opperator supports for non lat...2008-11-09Yoshihisa Uchida42009-07-104 Task Description

The search condition of tagnavi (eg. =, >, ^,…) doesn't return a correct search result to characters other than the Latin alphabet.

For example;
1) artist ^ "A"

    Neither "Ándre" nor "ándre" appear to the search result. 

2) artist = "Ándre"

    Neither "Andre" nor "andre" appear to the search result. 

My patch file solves such a problem.

Because it doesn't test enough.
There is still a possibility that the search result is not correct
according to the character used.
Please report.

About performance

The search time is slow than before. 
I will improve this in the future. 

About patch
  Please execute make zip (or make fullzip) after applying
the patch to the source file.



  There is uni.mt(or unimini.mt) in .rockbox/codepages folder
when rockbox.zip is unziped, and copy this file onto your player's
.rockbox/coepages.
(The search result doesn't correct if there is no uni.mt(or unimini.mt)).

About search result
1) It is considered that the character that is the difference
   of the uppercase, titlecase and the lowercase is the same.

   eg. A = a, Ω = ω

2) It is considered that the character with the pronunciation sign
(accent, umlaut, etc.) is the same as the character to which these are not attached.

   eg. A = Á

3) The combination character is considered to be a character that divides into each character.
  eg. Œ = O E

4) Only Japanese: the Hiragana, the halfwidth Katakana are considered to be the same character as the fullwidth Katakana.

eg. あ = ア, ア = ア
9613PatchesDatabaseVery LowAllow formatting of track names for the default <All Tr...2008-12-08Justin Gan152013-08-1714 Task Description

By default, whenever you choose the <All Tracks> option from the database menu, the list of results returned defaults to the standard track name format, i.e. “%02d. %s” tracknum title. What I wanted was to be able to define the format that gets applied to the <All Tracks> option, dependent on the current menu level. So for example, if I had browsed to genre→artist→<All Tracks> it would return the list of all tracks for all artists for the given genre and I wanted the track names to be formated with:

       	"%s %s %02d. %s" artist album tracknum title

and then sorted into order, since I already know what genre the tracks are for.

Similarly, if I simply browsed to genre→artist→album→<All Tracks>, it would return the list of all tracks for the selected genre and artist, but I want the track names to be formated with:

"%s %02d. %s" album tracknum title

so when it’s sorted, I get the tracks grouped only by album and tracknumber, since I already know what artist the tracks are for.

This patch attempts to address this issue by allowing users to define custom <All Tracks> formats in the tagnavi_custom.config file. Thus, sort order can be controlled by how you format the track names, just as it works in base Rockbox.

The premise behind the code is that if the <All Tracks> menu option is chosen, Rockbox will look for formats with a certain naming convention defined by concatenating the tag names of the parent menu levels with “.” characters and finally appending an “.All” identifier. So in the first example above where we had browsed to genre→artist→<All Tracks>, Rockbox will look for all formats called:

"genre.artist.All"

and then cycle through them to see if the appropriate clauses defined on the format are met. Similarly, for the second example where we had browsed to genre→artist→album→<All Tracks>, Rockbox will look for the format called:

"genre.artist.album.All"

As in base Rockbox, it will cycle through all applicable formats and apply the first format it comes across that meets all the clauses defined on the format. One minor change I had to make to get the relevant tags loaded for the search results was to add the tags defined in the clauses of all matching format names to the tagcache search, but not add the clauses themselves.

So now, in the tagnavi_custom.config file to illustrate the first example, I have defined 4 formats called “genre.artist.All” to format the final display name based on whether the artist/album tags are actually defined on the mp3’s in the database.

%format “genre.artist.All” “%s - %s - %02d. %s” artist album tracknum title ? artist !~ “<Untagged>” album !~ “<Untagged>” tracknum > “0” %format “genre.artist.All” “%s - %02d. %s” album tracknum title ? album !~ “<Untagged>” tracknum > “0” %format “genre.artist.All” “%s - %02d. %s” artist tracknum title ? artist !~ “<Untagged>” tracknum > “0” %format “genre.artist.All” “%02d. %s” tracknum title ? tracknum > “0”

The downside of this approach is that in order to have this style of functionality for every <All Tracks> menu option, I defined a lot of formats. As such, I had to increase the maximum number of formats from 32 to 96 in order to cope with my formatting schemes. I also increased the maximum number of tag filters from 4 to 8. Now this obviously increases the amount of memory allocated for formats, which will have an impact on available audio buffer size. The attached tagnavi_custom.config file shows the various “All” formats I’ve added and it’s pretty comprehensive in the way it handles missing tags, so technically, if your music library is properly tagged, you should never need all of the formats so you could easily reduce the maximum number of formats.

My principal concern with this patch is in terms of the memory usage of increasing the maximum number of formats and number of tag filters allowed. I’m not aware of a memory profiler for cygwin, but then I hadn’t used cygwin before playing with Rockbox - so any pointers would be helpful.

The second piece of functionality I wanted was in the handling of the “strip” functionality. Base Rockbox has an all or nothing approach; if the global format found for the list of tracks contains a strip modifier, then it applies the strip to ALL track names, even if the subsequent formatting of the track does not contain a strip modifier. I wanted Rockbox to only strip tracknames if a strip modifier was defined on the format that is applied to the track. This patch fixes this problem.

This works fine on my Sansa e280 with a full 8Gb drive and a full 2Gb micro-SD card. It’s formatted close to 1000 tracks with no noticeable difference in processing time, and I’ve not come across any out of memory errors on my e280, but I haven’t tested it on any other mp3 player so I would recommend you test this first using the appropriate simulator.

Note that this patch incorporates the year album patch  FS#8051  as the code is all tied up in the same files.

11927PatchesDatabaseVery LowQueue overflow during database initialisation2011-02-11Steve Bavin82011-04-142 Task Description

While the database initialisation is running, the tagcache queue can overflow due to system broadcast messages. This can be seen by running a simulator (it will crash with KERNEL_ASSERT after a while) or on a target by enabling KERNEL_OBJECT_CHECKS, then initialising the database and repeatedly connecting/disconnecting a charger.

The same problem may well happen with other queues (dircache, for example).

12054PatchesDatabaseVery LowHighlight each album's last-played track in database vi...2011-04-07sideral72011-08-093 Task Description

The attached proof-of-concept patch highlights (places the cursor at) each album's last-played track in database views. The intention is to allow easy resuming of multi-track audiobooks or podcasts where they were last left off. This works best when autoresume has also been enabled.

The patch relies on runtime statistics gathering being enabled (and the DB needs to be enables as well, of course).

The current patch has some caveats that I plan to address in future revisions:

Right now, it's unconditionally enabled for all database-based track views. We might consider allowing to turn this off for regular music albums.

When the last-played track has been completed (played through to its end), we should actually highlight the next track (or the first track if the last-played track was the final track of the album). [EDIT: fixed – see latest patch in comments section]

It would be great if a similar feature was available for the file browser. I'd find it acceptable if that would require the DB as well (as that's the place where the last-played info is stored). It could benefit from an add-to-DB-as-files-are-played feature (aka FS#12073).

Comments?

[EDIT: Clarified summary. Fixed a rather severe bug in the patch to make it actually work. :) ]
[ EDIT 2: Linked to FS#12073. Addressed one caveat. ]

12073PatchesDatabaseVery LowDynamically add files to database as they are played2011-04-18sideral32011-04-192 Task Description

These experimental patches dynamically add new tracks to the database when they are played. This allows users who (for various reasons [1]) prefer to not fully initialize the database to take advantage of database-based features such as autoresume (remember a resume position for each file), runtime statistics, or track ratings.

The current patch set is only a prototype. It's still somewhat inefficient because it does a full database commit and reload for each new track that is played.

The actual database-extension patch (patch 0002) works by refactoring tagcache_build to create a new interface, tagcache_add_file, that adds a single file to the database. This new function runs in the database thread and takes a dircache_entry pointer, which is provided by way of a Q_UPDATE event. The audio thread generates this event in tagtree_buffer_event when the initial DB lookup fails, and later checks the database again in tagtree_track_finish_event. If the DB commit and reload have succeeded in the meantime, this second lookup will succeed and the runtime information the user is interested in (stats, resume info) can be stored in the DB.

Patch 0001 changes the DB commit's buffer-allocation preference from using the dircache buffer to using the RAM DB's buffer. (This used to be the preference until r10003 reversed it, supposedly because the dircache buffer typically is bigger. I don't know yet how valid this argument is today.) This reversal avoids needlessly flushing and refilling the dircache and makes the Q_UPDATE event-passing mechanism more robust (because in-flight update events contain dircache_entry pointers, which would have to be invalidated when the dircache is flushed – which is not done yet).

Current limitations/caveats:
* Requires dircache and Load-DB-to-RAM enabled (and only works on targets that include these features)
* tagcache_add_file does not respect any database.[un]ignore files in the directory hierarchy above the added new file.
* DB needs to be initialized to begin with. There's no UI function for a basic DB initialization (without scanning and adding all files) yet.
* Not very thoroughly tested (mostly in simulator, with small file sets)

Possible improvements:
* Delay committing DB changes if more track-add events are in the tagcache queue
* Incremental commit: Could be optimized for add-one-track case
* Incremental load_tagcache: Avoid flushing and reloading full database
* Add function to initialize an empty DB

Comments welcome!

Footnote:
[1] Reasons for not using the database, or not keeping it up to date, include: metadata parser instability; prefer not keep tags up to date; prefer file browser over database browser

12149PatchesDatabaseVery LowRead Lyricist/Text writer from mp3 id3 tag for display ...2011-06-05Kaname Madoka22011-07-031 Task Description

This patch allows for the display id3 (v2.2-v2.4) tag
of Lyricist/Text writer in the wps, database, track info.

To display in wps, use "%iw" tag.

Example:


# Disable Status Bar
%wd
# Title
%s%al%?it<%it|%fn>
# Artist
%s%al%?ia<%ia|%?d(2)<%d(2)|%(root%)» # Album
%s%al%?id<%id|%?d(1)<%d(1)|%(root%)» %?iy<%(%iy%)|>
# Songwriter
%s%al%?iw<writer %iw|>
# Composer
%s%al%?ic<composer %ic|>
# Comment
%s%al%?iC<%iC|>
# Time PlayNumber
%al[%pc/%pt] %ar%(%pp/%pe%)
#%s%ac%Sx(Next:) %?It<%It|%Fn>


Tested on sansa c200 v1.
Target source code revision is #29961.

The following files were changed:
apps/screens.c
apps/metadata/id3tags.c
apps/metadata/metadata_common.c
apps/lang/japanese.lang
apps/lang/english.lang
apps/gui/skin_engine/wps_debug.c
apps/gui/skin_engine/skin_tokens.c
apps/metadata.c
apps/metadata.h
apps/tagcache.c
apps/tagcache.h
apps/tagnavi.config
apps/tagtree.c
lib/skin_parser/tag_table.c
lib/skin_parser/tag_table.h

Currently, only English and Japanese languages are supported.

I am not good at English.
Please point it out if there are a problem.

12330PatchesDatabaseVery LowAdd a nice UI to configure database search directories2011-10-12Jonathan Gordon2011-10-121 Task Description

This patch does all the UI work needed to add a very nice folder chooser. It saves and loads the search directories from /.rockbox/database.txt.

This is only the UI change, someone else needs to figure out how to make it actually work.

The system changes to searching the entire tree below folders (so no more ignoring some folders and then looking for uningored folders.

this also uses a half done patch to make lists handle indenting, not done for the skin list but if this is actually wanted that can be easily added

12474PatchesDatabaseVery Low[PATCH] Database: Support for multiple search roots.2011-12-21Thomas Martitz102012-07-184 Task Description

The setting works similar to the autoresume dirs: Directories are seperated
by colon, e.g. "/Music:/Podcasts". Default is "/sdcard" on android, "/" on
all other targets.

A maximum of 8 dirs can be selected, the setting cannot be longer than 80 chars.

Note: There's one problem. If you specifiy "/Music:/" (or any folder and one if its parents afterwards), then /Music is scanned twice. It's tricky to fix, and I'm not sure if it's worth it. This does not happen for "/:/Music" as it can be detected more easily in this order (and this is already implemented).

Showing tasks 101 - 150 of 669 Page 3 of 14 - 1 - 2 - 3 - 4 - 5 - Last >>

Available keyboard shortcuts

Tasklist

Task Details

Task Editing