Rockbox

IDTask Type  ascCategoryPrioritySummaryOpenedOpened byLast Edited
9060PatchesFont/charsetVery LowWenQuanYi Bitmap Song fonts2008-05-31William Poetra Yoga Hadisoeseno2008-05-3114 Task Description

This font is part of the WenQuanYi Project at [1]. It’s in Chinese, but there’s an english page at [2]. This font is similar to the WenQuanYi Unibit font (FS#9059) and focuses mostly on ASCII and CJK, but I’m also posting this font for inclusion because this one has different point sizes, like for example the nimbus, Sazanami and ProFont fonts already included in Rockbox. With the different point sizes, especially lower point sizes, this font is great for small screens such as my iPod Nano.

I’m attaching some screenshots of this font under various point sizes and weights. I’ve also taken screenshots with the simulator to show how it would look like in Rockbox.

Additionally, this font is available from the original website at [3]. There is also an online README file at [4]. The source BDF files are available from the project’s SourceForge page at [5], and the BDF files I’m attaching come from the source package at [6].

According to the project[4], this font is a derivation of older free fonts and enhanced with bitmaps made by online users. As such, it is licensed under the GPLv2 with a font embedding exception[4]:

[quote]
** GPL v2 license with font embedding exception:

As a special exception, if you create a document which uses this
font, and embed this font or unaltered portions of this font into
the document, this font does not by itself cause the resulting
document to be covered by the GNU General Public License. This
exception does not however invalidate any other reasons why the
document might be covered by the GNU General Public License. If you
modify this font, you may extend this exception to your version of
the font, but you are not obligated to do so. If you do not wish to
do so, delete this exception statement from your version.
[/quote]

It’s up to Rockbox developers whether to strip off this exception. Either way, the font is compatible with Rockbox’s license (GPLv2).

Links:
[1] http://www.wenq.org/ [2] http://wqy.sourceforge.net/cgi-bin/enindex.cgi [3] http://www.wenq.org/index.cgi?BitmapSong [4] http://www.wenq.org/index.cgi?Hero_README [5] http://sourceforge.net/projects/wqy/ [6] http://downloads.sourceforge.net/wqy/wqy-bitmapfont-bdf-gb18030-0.9.9-0.tar.gz?modtime=1194227675&big_mirror=0

9067PatchesLanguageVery Low[GSoC] Accessibility and localization improvements2008-06-03Tom Ross92009-10-268 Task Description

This tracker task will be used to house my Summer of Code work. For information about the goals of the project please see http://www.rockbox.org/twiki/bin/view/Main/PluginLocalization . Please read the comments and the descriptions of each patch.

Latest patch:
July 22

9068PatchesGamesVery Low[chessbox] Playing with touchpad2008-06-03André Twupack112009-10-133 Task Description

This patch adds more touchpad functionality to the game. It is possible to play by selecting the pieces directly instead of using the simulated buttons.
The changes are:
1. Added touchpad_get_mode to the plugin API.
2. Added menu entry for touchpad devices the switch between button mode and direct mode.
3. The user’s default touchpad mode is save during start-up of the plugin and restored after quitting.
4. The direct input mode is set only during the game (not in menu or view).
5. Extended play loop to handle BUTTON_TOUCHPAD event.
6. A piece is selected by clicking twice on it, moving is also done by clicking the target field twice.

The patch has been tested on the COWON D2 and also seems to compile fine for devices w/o touchpad. The patch has been created with

svn diff -x -w apps > touch_chess.diff

in the root directory. It would be nice if someone could test this (also on non-touchpad devices) and give me some feedback (bugs and improvements).

9069PatchesPluginsVery LowRockedit : new text editor for Rockbox2008-06-03Clément Pit--Claudel102014-04-258 Task Description

Hello,
I’ve recently designed new text editing plugin for Rockbox, which I called (how original…) rockedit. The point is not to compete with current text_editor, but rather to develop a new approach to text editing by, in particular, allowing user to work in insert/replace mode. The major difference is that the keypad has been replaced by a single which the user navigates through using up/down, while left/right are used to change current char. Fire key is used to switch between different chars lists.
I didn’t manage, though, to use keypad as set in r17659. The diff file just reverts it, which is not a good solution at all… Furthermore, I haven’t tested it on any other target but my gigabeat : I cannot boot Windows currently.

I’ve included a patch which includes keymap changes, and another which doesn’t. I’ve also added a screenshot.
Please do comment and help me improve this editor !

9078PatchesPluginsVery LowThinkfast - A plugin to measure your reaction speed2008-06-06Clément Pit--Claudel2008-06-061 Task Description

The purpose of the game is to press one of the four direction keys as fast as possible when randomly asked to do so. At the end of the game, min/max/average values are displayed.

9087PatchesPluginsVery LowThe wake-up alarm on ipods starts rockbox even if hold ...2008-06-11Johan Swetzén82009-10-173 Task Description

When the wake-up alarm starts up the iPod, you wouldn’t want it to boot the OF, but it will do so if hold is on. This patch makes the bootloader check if the alarm is active and start rockbox regardless of the hold state if it is. Also, if the hold switch is on during start up rockbox would normally reset all settings, but this is inactivated if rockbox was started by the alarm.

Applying the patch:
Besides building the firmware, you will need to build and upload the bootloader to your ipod using ipodpatcher.

Limitations:
The bootloader doesn’t check if the alarm started ipod, it only checks if the alarm is active. If you have set the alarm you will have to use the MENU button to start the OF.

I don’t know if this works on any other iPods than the iPod video, but it will probably work on all of them.

9088PatchesPluginsVery LowRockCW - Rockbox Morse Trainer, a proof of concept2008-06-12Joel Garske72010-11-1410 Task Description

Hi there,

i am currently trying to learn the morse code. I thougt it would be fun to have rockbox as an aid, so i started to write a plugin for that.

This plugin currently has a limited functionality, but the current things are implemented:

  1. Morsing of custom texts, typed from the rockbox keyboard
  2. Morsing of random chars, till the battery drains (or less ;))
  3. Input of own Call and 'morsing' the same
  4. selection of speeds from 1-45 WPM in steps of 3
  5. selection of chars from 5 mixable groups
    1. letters
    2. numbers
    3. punctuation marks
    4. special chars (KA,BT,AR,VE)
    5. pauses

It would be very nice if someone tested these on some soft-codec targets. I included the source tarball (please add plugin to SOURCES and CATEGORIES if using this), a diff on r17715 and the binary .rock for the sansa c250.

Idd be very happy if, with a little help, this could move upstream. I am new to the plugin api and need some help especially in using the definitions to make this work on different DAPs (avoid building this on targets that don't support some features and so on). Correct me if i am wrong, but his should from my point of view work with all SWCODEC devices with LCD. I tried to write at least readable code and added some comments for the curious.

This builds at least on the c250 and works for me.

Thanks, Joel

Remind me, if i forgot something.

9112PatchesBuild environmentVery LowAutomatically set correct cross compiler path based on ...2008-06-23William Poetra Yoga Hadisoeseno52009-05-103 Task Description

This is an attempt to automate the setting of $PATH in tools/rockboxdev.sh, tools/configure and the generated Makefile.

The directory prefix of the cross compilers is stored in ~/.config/rockbox.org/RockboxCompilerPrefix. As the default path (in tools/rockboxdev.sh) is /usr/local, if that file is empty, then $PATH won’t be modified. Otherwise, the value stored inside that file will be read, the target platform type appended, and lastly /bin appended. The resulting string will be appended to $PATH.

This patch doesn’t break existing configuration. But it’s most probably incomplete, so please provide feedback on which files need to be modified as well.

9114PatchesApplicationsVery LowPause Between Tracks2008-06-24Linus Nielsen Feltzing272014-03-187 Task Description

This patch adds a new playback option, Pause Between Tracks. It pauses the playback automatically after each track, and the user must press Play to play the next.

This is useful for e.g dance classes, sound effects etc.

There is a noticeable lag in the simulator, where it starts the playback of the next song before pausing, but who cares? It seems to work fine on the target anyway.

Try it!

9169PatchesUser InterfaceVery LowAllow seek speed limiting to be optional2008-07-08Steve Bavin12008-07-152 Task Description

This patch adds an option to disable the speed limiting that slows down seeking as you approach the end or beginning of a track.

It defaults to limiting enabled, to maintain compatibility. Personally, I prefer the fast seeking without the limiting.

The manual is not included, I can't compile them still…

9171PatchesApplicationsVery LowReplace the CUBE in cube with COBRA MK III2008-07-08Dave Hooper42008-07-182 Task Description

Dumb patch but introduces handling for non triangular faces (by triangulating them when rendering). Vertices courtesy of http://mackayj.doosh.net/eliteships.html (in particular I hand-converted http://mackayj.doosh.net/files/vrml/eliteships/cobra3.wrl)

9202PatchesBootloaderVery Lowiriver H300 bootloader power/usb fixes2008-07-16Matthew Haun22008-12-092 Task Description

This patch changes the iriver H300 series bootloader's power and usb handling. When a USB or Power plug are inserted into the H300, it will now boot as normal, not stop in the bootloader usb/charging modes. This was mainly for use in my car, but is also helpful for people with charging cradles for their computers.

Forum thread can be found here http://forums.rockbox.org/index.php?topic=17202.0

9252PatchesSimulatorVery LowCommon keyboard actions for Simulator2008-08-08Tomer Shalev62009-12-153 Task Description

Note: This is work in progress.
Status: Code implemented

      Manual not updated
      Wiki not updated (only after commit)

The idea of this patch is to have the same keyboard keys assign to the same actions in all platforms.

For example, have +/- keys (both on keyboard and on Numpad) are assigned to Volume Up and Volume Down keys of the original platform.
For platforms which do not have these keys, pressing the +/- keys in the simulator will do nothing.

This change will help developers to do manual regression testing on lots of platforms easily, as they do not have to memorize each platform’s key assignment.

Future development: Display key assignment on screen, and/or on console

9253PatchesApplicationsVery Lowlogf file output patch.2008-08-08Yoshihisa Uchida122009-03-268 Task Description

It is a patch that can automatically output the result of logf to the
file.

The setting of default doesn’t output the result of the logf to the
file.
Please set and do the following when it is effective.

System > Debug > logf auto file output: select "Yes"
9270PatchesPluginsVery Lowmoonrock, calculates the current moonphase.2008-08-12federico pelupessy262011-07-2816 Task Description

this is a simple plugin called 'moonrock' which shows the phase of the
moon. It is not the most earthshatteringly original thing but nevertheless the effect is pretty nice. Hopefully someone else likes this!

For targets with CONFIG_RTC, it either shows a text description
or, for HAVE_LCD_BITMAP and at least greyscale targets, a (pre-calculated) picture of the moon. But only if the data file (moonrock.dat) is present and found in the apps/ directory. (it should be attached to this post, I hope it shows up here, as the file is 3MB). (time of the player is assumed to be GMT)

you can switch between picture and text with select button, and choose a new date with play (which does not change the internal clock).

The patche changes some small things in the api and in the bitmap reading routines to be able to do things easily.

9273PatchesLanguageVery LowChanging sapi_voice.pl To make japanese.voice sound bet...2008-08-13Taktak202008-09-2318 Task Description

I would like to change voice strings to make them sound better with a specific SAPI voice.

I don’t intend to change string in *.lang directly.
It should be done in voice.pl dinamically while building voice, shouldn’t it?

9292PatchesApplicationsVery LowNew game plugin, NBackBox2008-08-17Joseph Garvin162009-05-257 Task Description

It’s still a bit rough around the edges, but I’ve written a new game plugin called NBackBox. It’s an implementation of the dual-n-back exercise, discussed in this Wired article: http://www.wired.com/science/discoveries/news/2008/04/smart_software . In short, it’s a game that improves your brain’s working memory. I’ve tried to keep it as close to how the game was described in the original paper.

Any feedback/bug reports/code suggestions much appreciated :)

Joe

9295PatchesBattery/ChargingVery LowCharger detection for iPod 2G (and 1G?)2008-08-18Mark Fawcus2008-08-181 Task Description

This patch adds detection of the charger connection. Not tested on a 1G, but should work if the ipodlinux GPIO documentation is correct.

NOTE: 'Charging' is not detected, just the presence of external power. See http://forums.rockbox.org/index.php?topic=18196.0 for forum topic.

9329PatchesID3 / meta dataVery LowRemove total tracks and total discs from ID3v2 tags.2008-08-27Magnus Holmgren52008-12-121 Task Description

This patch removes any total tracks and total discs number from the track and disc number fields in ID3v2 tags, so that track and disc numbers are displayed consistently across different tagging formats.

What happens is that if a number larger than zero can be parsed from the start of the field, then the field is terminated on the first “/” char.

Added as a patch as I don’t know if this behavior is wanted.

9330PatchesRbutilVery Lowpatch for openBSD support for ipodpatcher2008-08-28Brian22008-10-083 Task Description

The following patches will allow someone running openBSD to run ipodpatcher. This is my first pass at these patches, so they cannot be integrated without some problems.

A few outstanding questions remain:

1) should I use /dev/sd0c or /dev/rsd0c?

2) why do byteorder(3) functions exist in fat32format.c?

3) how do the developers want to handle disk geometry?

I ask the last question because my patch overwrites the existing ioctl with what works for openBSD, rather than separate it out. And the patch doesn't fully use what is available in struct disklabel. I plan to re-write this one.

The fat32format.diff comments out byteorder(3) functions. The ipodio-posix.diff converts the file to openBSD disk geometry. The ipodpatcher.diff corrects the device used.

I have only tested the patches above for ipodpatcher on iPod nano 1st gen.

9332PatchesMusic playbackVery LowRead audio data directly from flash memory2008-08-28Nicolas Pennequin122010-01-257 Task Description

This patch provides a replacement for buffering.c, where there is only minimal buffering (one 32K buffer for audio data and some static buffers for metadata). It is a proof of concept for how this could work on targets with very little RAM.

I would be interested in feedback on the kind of impact this has on runtime, so if you have a flash target please consider giving it a try and reporting your results :)

Note that you will need to disable album art in your build for this to work. I don't even know what would happen if you don't, but it'd probably be bad. To disable it you need to comment or remove the #define HAVE_ALBUMART line in your target's configuration file (firmware/export/config-[TARGET].h).

9356PatchesApplicationsVery LowAllow to set the delay before button repeat is activate...2008-09-02Alexander Levin12008-09-031 Task Description

The patch allows to set the delay after which the button repeat event is generated. Since this event is used to detect a long button press, it effectively sets this 'threshold.'

Slow fingered users may often hold the select button too long and (unintentionally) get the context menu. For instance, from the WPS screen. But they actually wanted to go to the file browser.

The patch adds a setting for that delay. Its default value is 30 ticks (=0.3s). The menu entry is in Settings → General Settings → System → Long Button Press Duration.

9371PatchesUtilsVery Lowcreate database application2008-09-06Yoshihisa Uchida492011-05-1530 Task Description

Create database application.

1) At first FS9349 patch file (http://www.rockbox.org/tracker/task/9349?getfile=17401) apply.

2) After this task’s patch apply.

9381PatchesUser InterfaceVery LowGigabeat S Play/Pause/Menu Keymap Change2008-09-08Marc Guay62008-10-111 Task Description

This patch modifies the Gigabeat S keymap so that it can be used almost solely using the buttons on the face of the player.

Currently, there is an unused button in the WPS screen (the BACK button, up-left from the cross) which in my mind makes more sense as the “back to the menu” button, while the MENU button (up-right from the cross) is the logical Play/Pause button (at least to a right-handed individual). It’s unfortunate that the button with the Windows logo has been called the MENU button in the code, thus making this rather confusing to read, but if enough people agree with the feel of this change, that could be modified as well.

9407PatchesPlaylistsVery Lowbookmarks overhaul2008-09-16Jonathan Gordon162008-12-227 Task Description

this patch is a WIP to update the bookmark system.

the change is to save “resume points” into the current .playlist_control file and copy that as a .bmark file. Right now it works fine to load and save (And even list the bookmark resume points).

What doesn’t work yet (in bmark.3.diff) is the recent bookmarks menu item.

So far, the only downside I have found is that when you open a .bmark file the current playlist has to be stopped (it gets bookmarked automatically so if you cancel the .bmark it will resume anyway).
I’m hopeing that this isnt a big enough issue to reject the patch.

9419PatchesOperating System/DriversVery Lowtime structure tm.tm_yday implemented2008-09-25Christian Lees42011-02-163 Task Description

Here is a path that implements the year day variable in the tm structure. It does leap year checking. It uses a lookup table to find the number of days, the same as the mktime function. It creates another copy of the lookup table, this could be moved outside to conserve space if required.

As I don't have SVN access from behind the firewall its been built against 18563.

9440PatchesGamesVery LowAntibomb: Paratroopers varient2008-10-02Tony Huynh82009-02-0710 Task Description

This is a variant of an the classic Paratroopers.

It lacks the particles, planes and stacking men. Instead of solders, They're just falling bombs.

For more details about the source of inspiration:
http://en.wikipedia.org/wiki/Paratrooper_(video_game)

9442PatchesGamesVery LowFingersOfRock: DDR varient2008-10-02Tony Huynh232009-04-1321 Task Description

FingersOfRock is a DDR variant where by arrows pass over the screen, and the player must press the corresponding buttons in time.

I don’t know how to use the cpu boost, so if someone has some time, please boost when the game begins and un-boost when it finishes.

It is called FingersOfRock from: FretsOfFire and rockbox.

For more details on the source of inspiration:
http://en.wikipedia.org/wiki/Dance_Dance_Revolution

9456PatchesPlaylistsVery LowRemove Repeat:Shuffle option and always reshuffle when ...2008-10-05William Poetra Yoga Hadisoeseno52009-05-175 Task Description

This patch removes the Repeat:Shuffle setting, and always reshuffles the playlist when Shuffle is set to yes and Repeat is set to All.

The rationale behind this is that a user would rarely want to shuffle the playlist the first time only and always repeat the same sequence afterwards. Rather, one would either play the playlist in order and repeat in the same order, or shuffle the playlist first and always reshuffle.

Setting combinations affected:
- Shuffle:Yes && Repeat:All

before: shuffle the playlist but repeats the same sequence
after: shuffle the playlist and reshuffles when the end is reached

- Shuffle:Yes && Repeat:Shuffle

before: shuffle the playlist and reshuffles when the end is reached
after: this combination is replaced by Shuffle:Yes && Repeat:All

- Shuffle:No && Repeat:Shuffle

before: reshuffle when the end is reached
after: rarely used combination, not available anymore

All other combinations are not affected.

The patch contains some comment fixes and some code simplification as well. We also have to handle a special case in the patch.

9497PatchesPluginsVery LowThis patch adds a rotate option to the jpeg viewer.2008-10-17Gerritt Gonzales132009-06-229 Task Description

This patch adds a rotate option to the jpeg viewer.
Tested on sansa e200. Works on colour targets only.
Additional work required for zoom and moving around the pict.

GRaTT

9513PatchesBuild environmentVery LowSmarter release scripts2008-10-29Jonas Häggqvist12008-10-291 Task Description

This patch modifies bins.pl, manuals.pl and voices.pl to be smarter, just like the new w32sims.pl, adding a -r commandline switch, allowing the same script to be used for building both daily and release versions.

9514PatchesOperating System/DriversVery Lowmake simple list accept a viewport2008-10-30Jonathan Gordon2008-10-301 Task Description

this is part of a different patch which was changed to use the menu api instead of simplelist so im putting it up here incase anyone decides to make simplelist draw in a viewport.

The patch works (or did last time i tried it) but isnt commited because its not really needed just yet.

9537PatchesThemesVery LowBackdrop for viewport2008-11-08John Woznack72009-12-182 Task Description

I’d like to suggest the following new WPS feature(s):

1. A viewport can be assigned an image as a “backdrop”.

 a. A viewport may be assigned an image dynamically via the WPS tag "%VX<identifier>"
   (i.e. %VXa for image a, %VXZ for image Z, etc.)
  b. As a viewport is being processed and drawn, its backdrop would be drawn "first", followed by any other normal images/characters.

2. Viewport may define FF00FF as a background color, which would then be “transparent”. This would allow overlapping viewports.

3. Fonts drawn in a viewport with a backdrop would automatically be drawn with DRMODE_FG.

Notes on the attached patch file:
+ It was created from the SVN revision 18997 on Nov 3, 2008.
+ Although I stubbed in the new functions for all the LCD drivers, I’ve only flushed out the 16 bit driver so far.

Cheers!

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. あ = ア, ア = ア
9547PatchesPluginsVery LowRAttax2008-11-13Alex Suykov32009-06-195 Task Description

Rockbox port of XAttax (which is in turn X port of some ancient arcade game). It’s a strategy game similar to Reversi, played agains AI opponent.

The rules should be obvious once you run it. You can place new stone next to you own stones, or you can move already placed stone over a cell. Moved or newly places stone changes color of all adjacent stones. The player who has more stones at the end wins.

To install, apply patch and unpack tar’ed sources. It should build successfuly on all LCD-based targets; please report in case build fails for your particular device so I could fix it.

9571PatchesGamesVery Lownew plugin for AEG style for roll and keep style dice r...2008-11-22Tom Bogue12008-11-221 Task Description

This patch adds a new plugin called aegdice, which allows for AEG style (i.e. 5k3) dice rolling.

9595PatchesUser InterfaceVery LowCorrect thai font display2008-12-01Phinitnun Chanasabaeng52008-12-302 Task Description

This patch will correct how thai vowels and tonal makers display.

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.

9621PatchesOperating System/DriversVery LowFAT read-ahead when filling buffer2008-12-10Boris Gjenero62010-03-263 Task Description

I noticed that when filling the buffer my Video iPod (32MB RAM) does noticeable seeks at semi-regular intervals even if reading from a single non-fragmented file. It seems this is due to having to read the next FAT sector. In firmware/drivers/fat.c there is a FAT cache but no read-ahead of the FAT.

I created fat_preload( struct fat_file *file, long sectorcount ) in firmware/drivers/fat.c to preload the FAT cache. In firmware/common/file.c I created file_preloadfat(int fd, size_t count) because calling a fat_ function directly would be too much of a kludge. I use file_preloadfat in apps/buffering.c just before filling the buffer.

This got rid of that regular seeking and it seems to it can remove about two seconds from the time needed to fill the buffer when reading a single non-fragmented file. Currently the code is quite simple and unintelligent. Fragmentation or other activity can overwrite the pre-loaded FAT sectors in the cache, and in such cases the pre-load leads to needless extra reads. More work is probably needed before this can be included in Rockbox.

Currently this patch is for SW-codec only. I think file_preloadfat could be called from HW-codec buffering code also, though few seeks would be prevented with 2MB of RAM. This patch is also probably useless with flash storage.

9673PatchesPluginsVery LowImprove mpegplayer ( add pitch )2008-12-19Sanggon, Lee2008-12-191 Task Description

I found  FS#8521 (permanent pitch setting) can successfully combined with mpeg player.
Add  FS#8521  and some fix, we can use pitch function in mpeg player. This means, we can control mpeg play speed.

With  FS#8894 (speed control without pitch change) can produce similar effect and more attractive, but  FS#8894  have serious problem with gigabeat s30 and require more processer power and have lower sound quality.

This patch can patched with  FS#8607 (mpegplayer playlist).

9677PatchesPlaylistsVery LowChange the erase dynamic playlist warning to a menu wit...2008-12-19Alex Bennee152009-12-136 Task Description

As discussed on the mailing list this patch gets rid of the “About to Erase Dynamic Playlist” warning and replaces it with a menu option to save the current playlist under it’s existing name.

The attached patch is a first cut for review as I’m just getting used to the menu system. If people think it’s the right way to go I’ll clean it up properly. Any suggestions for tweaks to the functionality also welcome.

9779PatchesBuild environmentVery Lowrework of assert2009-01-11Yoshihisa Uchida12010-02-172 Task Description

Building Rockbox fails if assert() (in firmware/include/assert.h) is used.

Then, I reworked assert.h.

changes:
When assert() failed, the correction that displayed the file name, the number of lines, and the condition of failing was done.
Moreover, when the log was enabled, the log was output to the file.

Please select the following to make assert() enabled when you make Rockbox.

1) Run tools/configure

2) Build (N)ormal, (A)dvanced, (S)imulator, (B)ootloader, …

    Select "A"

3) (D)EBUG, (L)ogf, (A)ssert, (S)imulator, (P)rofile, (V)oice

   Select "A"

4) make

9787PatchesDriversVery LowiPod 5G TV out2009-01-12Boris Gjenero222009-03-094 Task Description

Here is a preliminary patch for TV out on a 5th generation iPod. Play a BMP file and TV out will activate. NTSC is the default. If the file has 576 lines, the output will be in PAL. The image stays until another is loaded or TV output is disabled via the debug menu..

The following formats ought to work:
720×480, 24 bpp for NTSC
720×576, 24 bpp for PAL
Many programs including Windows Paint and ImageMagick convert can write such files. Other resolutions and bit depths may work. For example WPS background screens display properly but other WPS bitmaps don’t.

Known issues:
- More work needs to be done to integrate this with Rockbox. No, you cannot view the Rockbox interface, JPEGs or mpegplayer output yet.
- When the LCD is updated, there is a temporary disturbance on TV output
- http://en.wikipedia.org/wiki/Macrovision#Analog_copy_prevention is enabled. Yes, the hardware can disable it, but I haven’t figured out how to do that yet.
- The original firmware probably outputs images differently. It can load programs into the BCM which perform decoding there, and that is probably faster.

9802PatchesManualVery LowPlugin API documentation v22009-01-15Maurus Cuelenaere2009-01-151 Task Description

This is v2 of the Rockbox plugin API documentation generator.

See the mailing list for more information ( http://www.rockbox.org/mail/archive/rockbox-dev-archive-2009-01/0040.shtml ).

An example of what the output looks like is available here: http://mcuelenaere.alwaysdata.net/rockbox_api_example_3/

9856PatchesPluginsVery LowMore robust patchset.cfg reader for midi player2009-02-01Corwyn Simpson22009-02-132 Task Description

I was reading http://forums.rockbox.org/index.php?topic=17079.0 and thought I’d take a swing at it. So far, I have added (potentially shaky?) support for the ‘#’ comments in the file posted, allowing both Windows and Linux line ending formats, and longer filename support.
Still having problems with the white space after each entry, and detecting or assuming the presence of the file extension.

9861PatchesPluginsVery LowPlugin for flash card memorizing: mnemosyne2009-02-02Joseph Garvin72009-04-161 Task Description

This is a new plugin that mimics the open source PC program mnemosyne (http://www.mnemosyne-proj.org/), a program that assists with memorizing flash cards. The plugin is fully functional, but it still needs a menu and assumes that the user has setup the folders it needs for storing cards before running (if you don’t create them it will crash). I’ll fix these issues in the near future, but in the mean time any feedback is appreciated :)

9879PatchesPluginsVery LowQuit the lamp plugin by pressing a dedicated QUIT butto...2009-02-07Alexander Levin32009-02-091 Task Description

As of r19940, the lamp plugin is quit by pressing any key besides some which have a function in that plugin (or so is the intention –see bug report  FS#9877 ).

This patch changes the plugin so that it’s left with a special button only. The patch also adds key definitions for some players that haven’t been included before (players without color LCD). Key mappings were taken from the patch in FS#8934.

Essentially, this patch implements an atomic part of that patch.

Also, correct handling of USB has been added.

This is in preparation of a (separate) patch for toggling the light on and off without leaving the plugin.

9881PatchesPluginsVery LowEnable toggling the lamp on and off in the lamp plugin2009-02-07Alexander Levin12009-02-082 Task Description

This patch is a continuation of FS#9879 and includes it (but adds something more). It adds the possibility to switch the lamp on and off without leaving the plugin.

Key mappings were taken from FS#8934.

9906PatchesFont/charsetVery Low15-Adobe-Helvetica.bdf: invalid SWIDTH, DWIDTH for ETHI...2009-02-14Yoshihisa Uchida2009-12-151 Task Description

For 15-Adobe-Helvetica.bdf:

STARTCHAR ETHIOPIC SYLLABLE NO
ENCODING 4758
SWIDTH 1520 0
DWIDTH 19 0

The above value of SWIDTH, DWIDTH is too larger than that of other Ethiopian characters (This character protrudes from bounding box).

I send this bug’s patch.

9917PatchesDriversVery LowCowon D2 Usb Serial2009-02-16Michaël Burtin52010-10-262 Task Description

Here’s a patch to have a functional usb_serial driver allowing the use of “Logf over Usb” debug function.

Showing tasks 451 - 500 of 669 Page 10 of 14<<First - 8 - 9 - 10 - 11 - 12 - Last >>

Available keyboard shortcuts

Tasklist

Task Details

Task Editing