Rockbox

ID Task Type Category Priority Summary Opened Opened by Last Edited Operating System
13339PatchesUser InterfaceVery LowSupport for android devices newer than KitKat (4.4) and...2022-03-14gama12023-10-02All players Task Description

Hello, I am uploading the following patches for revision and testing:

- Android support for devices newer than KitKat 4.4, based on the work of hp30 from http://hp30.blog.fc2.com/

- Cabbie v2.0 support for 1080×1920 resolutions by me (@gama)

- Cabbie v2.0 support for 1280×800 resolutions.

Tested on: Sony Xperia F5121, Android 6.0.1 and Sony Xperia XZ2, Android 10.0. UPDATE: Lenovo Y3T-X50f tablet, Android 6.0.1.

Tested successfully as of commit: e8faf2f2

IMPORTANT: With commit: 6dcbf7ff77b0596c3317a76097e8b0c1c2f8158a, a floating point error occurs when changing volume!.

Setup Development environment:

I am using Windows 10 using WSL2, Debian distribution.
After installing wsl2 debian, I followed the rockbox development guide to install necessary packages.
(https://www.rockbox.org/wiki/LinuxSimpleGuideToCompiling)

Installed android ndk-r10e to /usr/lib/android-sdk/ndk/android-ndk-r10e using sdk-manager
Installed latest android sdk to /usr/lib/android-sdk

If you want to test on android, export enviroment variables before running configure:
export ANDROID_NDK_PATH=/usr/lib/android-sdk/ndk/android-ndk-r10e
export ANDROID_SDK_PATH=/usr/lib/android-sdk

General notes:

To test cabbie 1080×1920 theme, you can use sdl or android builds. If you want to test on android you need to apply the hp30 patch too.

I have added svg and xcf sources to the patch. I tried to reproduce the original cabbie v2 feel, but some gfx colors are not accurate. Feel free to modify them.

The hp30 patch contains mostly hp30’s work, used with his permission, so please give credits to him/her.
You can easily find the changes searching for ‘hp30.blog’ in the sources.

Known issues:

- The cabbie theme needs a proper wps_backdrop file with gradient like other targets have, but I could not create a 16 bit background that looked good on my phone. So I hope someone can do it.

- The android patch needs lots of testing and revision. I managed, with my current japanese level, to some extent, tanslate and follow hp30 blog. And I have successfully tested his changes on my phone. But there are still many “untested” features of rockbox that need to be checked.

- Plugins, specially, need to be tested one by one. For now I simply made small modifications to build them.
- On my phone I cannot see rockbox playback controls in the notification area widget.
- If you pause the music and return to home screen the app will be terminated.
- rockbox status bar shows very small icons and font text.
- A bigger resolution icon for the app is needed.
- I have not tested other android ndk or sdk versions.
- Volume is set to max at startup. I think it would be good to set it to 50 - 75%, but didn’t found where initial settings are defined.

[UPDATE 01] - Added link to 1280×800 cabbie theme. It was relatively easy to create it with attached xcf and svg files, so If you like, more theme resolutions can be created for other android devices. Please use v1.1 patch and apply after other two patches.

By Mauricio Garrido @gama

13298PatchesDriversVery LowNWZ-A15 bluetooth2021-06-06caizhenbin12021-06-13All players Task Description

What if you want to use Bluetooth?

13053PatchesUser InterfaceVery LowAdd option to make scrollbars borderless2015-07-29dev_urandom42015-07-301All players Task Description

This patch will add a setting, called "Scroll Bar Border", which will determine whether menus / lists will have scrollbars with borders or not.

The default value for this setting is "yes", so that it matches previous behavior.

13007PatchesFM TunerVery LowFM Region "Other": Enable full frequency range.2014-09-29oid_maps42014-10-021All players Task Description

This patch changes the frequency range when selecting "Region: Other" for the FM radio:

With this patch, the "full range" from 76 MHz to 108 MHz, in 0.05 MHz steps, is available when selecting the "Other" region.

12912PatchesPluginsVery LowAtari2600 Emulator Back from the Dead compiles for HEAD2013-11-14BenjaminBrown32013-11-151All players Task Description

I'm decided to make myself useful today and hammered out most of the rest the code needed to move http://www.rockbox.org/tracker/6048 along.
I'm starting a new entry since the old one is closed.
I'm hosting all the work I do at http://foolsh.no-ip.org/projects/atari2600/wiki/Wiki

2600box Plugin

* Added the .make file
* Added keymaps for most color targets
* Added to viewer.config loads *.bin files
* Fixed screen resizing for smaller screen targets
* Compiles against HEAD/master

I'm still testing sim builds at the moment.

There is some bad news, it crashes in the sims after a minute or two, and the buttons on my fuze+ don't work for some unknown reason but they do in the sim.

Everything else is looking pretty good. I'd like to hear back from people who have real hardware and can test the keymaps.

12809PatchesPluginsVery Low[WIP] New vgm streamed music plugin powered by vgmstrea...2013-01-25gama12013-01-251All players Task Description

Hi there,

  this is another WIP plugin that I wrote last year.  It plays videogame streamed music
  using the vgmstream library. Original homepage here:
  sourceforge.net/projects/vgmstream/
  I'm a bit new to git so please forgive me for not uploading a proper patch.
  To test the plugin, simply copy the rockstream folder to the plugins folder in
  rockbox sources.  And you have to extract the data.zip file in the .rockbox folder.
  The formats.db found in data.zip is basically a list with all vgmstream supported
  extensions (at least "all" by the time I wrote the plugin).  You can add  or remove 
  new or unwanted extensions there.  The plugin will only handle the extensions found
  in the formats.db.
  Currently the plugin works as a viewer plugin, and there is only one extension associated
  with the plugin in viewers.config for testing purposes, but you can always use the 
  'open with' option from rockbox.  Once you open a file the plugin will parse all supported
  files found in the same folder.
  The vgmstream project is updated quite often, if someone wants to
  update the core library, I believe that would be very easy, since I only changed a couple
  of things to it.
  I'm not going to work on this anymore, so I decided to upload it here, and hope someone
  can make a proper patch and maybe some dev would be interested in testing it, make 
  the necessary changes and upload an stable release.
  As a last comment, I have only tested the plugin in the simulator, samsungypr0, fuze+
  and ipod nano. It only worked in the simulator and samsungypr0, so hope someone can 
  fix that.
  Please read the README file for some additional info about the plugin.
  Working on:  simulator and samsungypr0
  Commid ID: e1ea08417bca57c607df6686472fa0a86f38b6d1
12807PatchesPluginsVery Low[WIP] New amiga music player plugin powered by UADE lib...2013-01-25gama12013-07-191All players Task Description

Hi there,

  this is a WIP plugin that I wrote last year.  It plays amiga music using the UADE library.
  You can find more about it here: http://zakalwe.fi/uade/
  I'm a bit new to git so please forgive me for not uploading a proper patch.
  To test the plugin, simply copy the bitmap and rockuade folders to the plugins folder in
  rockbox sources.  And you have to extract the data.zip file in the .rockbox folder.
  I'm not going to work on this anymore, so I decided to upload it here, and hope someone
  can make a proper patch and maybe some dev would be interested in testing it, make 
  the necessary changes and upload an stable release.
  Please read the README file for some additional info about the plugin.
  Tested on:    samsungypr0, fuze+, fuzev2
  Commid ID: e1ea08417bca57c607df6686472fa0a86f38b6d1
12795PatchesID3 / meta dataVery LowAlbum art for FLAC and Ogg2012-12-31Hendricks26632013-06-13All players Task Description

I am working on adding album art support for FLAC and Ogg files. FLAC looks straightfoward, but there is a design problem with Ogg.

https://wiki.xiph.org/VorbisComment#Cover_art

The struct containing the image and associated data is base64 encoded. I can't just set id3→albumart.pos to a location in the file like all other supported album art formats (and FLAC). Obivously I could allocate memory for the decoded base64 data, but it would have to be deallocated later to prevent a leak.

On IRC, nick_p suggested: "how about adding a new id3 struct element id3→albumart.base64_encoded=true and decoding it when needed on the fly?" This sounds like a good idea, with one issue: it's not the album art alone that is base64 encoded, but the data struct described here:

http://flac.sourceforge.net/format.html#metadata_block_picture

I can test to see if I can parse the beginning of the base64 block, then set the pos pointer to the middle of of the block (with the id3 struct addition) and see if it will still decode.

12773PatchesThemesVery LowAndroid Notification: Use setLatestEventInfo instead of...2012-10-22zhkailing22012-10-283Android Task Description

Android:
The Notification bar which use "Remoteviews" may be not suitable for some ICS Roms (see Attachment).
So I change the Remoteviews to "Notification.setLatestEventInfo" to display the track information.

The patch may have some offsets.

12568PatchesConfigurationVery LowiPod Classic - limit volume to +6db2012-01-29axismundi122012-02-134Another 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.

12530PatchesManualVery LowAdd a note and a warning about the location for recordi...2012-01-10fml262012-01-121All players Task Description

The location for recordings can be set, but the only way to see the current value for the setting is to look into the config file. The patch adds a note stating that to the manual.

Also, there is a known bug ( FS#12517 ,  FS#12500 ) preventing saving the recorded files in the root directory (maybe this applies only to some targets, not all). The patch adds a warning about that.

12522PatchesBattery/ChargingVery LowiPod Classic/6G: charger detection2012-01-08prof_wolfff142014-02-091Another Task Description

External/USB adapters are not correctly detected on my Classic 80Gb, this patch detects it so car mode functionality now works, also the iPod is powered-up when USB cable is inserted.

The function power_input_status() returns USB charger when both external and USB chargers are present. It is possible to detect the external adapter when USB cable is plugged but it is necesary to poll the PMU (not IRQ safe), and i think this information is not currently used at all.


12496PatchesOperating System/DriversVery LowRaaA WebOS2011-12-30captainkewl102013-01-042Generic RaaA Task Description

Rockbox WebOS app.

Built on r31467, 32/64-bit Ubuntu 11.10, running on a 32GB Touchpad

Directions (only tested on the above):

* Install WebOS PDK: https://developer.palm.com/content/resources/develop/sdk_pdk_download.html

* Install platform-native libsdl-dev if you haven't already. Only needed to pass configuration check as the PDK doesn't properly install staging sdl-config for some reason.

* Apply patch (patch -p0 < filename.patch)

* cd webos

* ../tools/configure, select WebOS target (206)

* make && make install && sh ./buildpkg.sh

Notes:

* This is one big hack – I fudged just about everything in /firmware (how the target system works is still not altogether clear to me) and piggybacked a lot of this off of the SDL target. Mostly in the interest of getting it to run without adding ifdefs all over the place. Obviously we'll want to be more methodical and thorough about exactly which changes need to go where moving forward.

* The Touchpad's SDL video implementation appears to adjust orientation and scale output to fit within 1024x768 as best as possible. This means that a 800x480 build will appear in landscape mode, letterboxed, while a 320x480 will appear in portrait mode, pillarboxed. The device itself automatically orients to landscape – meaning, if you're in a portrait resolution and then you exit, everything will initially be sideways – but that doesn't affect input. Scaling routines are noticeably slow.

* I tried building this as a hybrid Enyo/PDK (window mgr friendly) app but had some problems with the native part failing to execute at SDL_Init. So for now no backgrounding or notification bar.

* Make scripts use the ARM compilers installed with the PDK. I'm wondering though if this is superfluous given that the Rockbox toolchain also supports ARM7. I did try exposing some of the ARM-specific assembly but the compilation failed with the PDK compiler.

800x480 build: http://www.jasonyu.net/webos/org.rockbox.raap_0.0.1_all.ipk

12490PatchesID3 / meta dataVery LowWPS tag for number of channels2011-12-27fg32011-12-282All players Task Description

This patch adds a %ch tag that returns the number of channels in the current file.

Unfortunately, the large majority of codecs don't fill in this field in struct mp3entry. In the codecs covered by the rockbox testfiles collection, only atrac, cook and tta actually work.

I don't think it makes much sense to commit this with so few supported codecs, so help is appreciated on the codec side of things

12474PatchesDatabaseVery Low[PATCH] Database: Support for multiple search roots.2011-12-21kugel.102012-07-184All players 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).

12435PatchesCodecsVery LowZX Spectrum .tap codec2011-12-09gmanol182012-01-088All players Task Description

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

12361PatchesSettingsVery LowSmart settings_load_config() so it only does setting_ap...2011-11-01jdgordon22011-12-203All players Task Description

in svn settings_apply() is called whenever a config is loaded (after boot) regardless of what is in the file. even an empty one will cause a full settings_apply() (which is slow, causes disk access and will stop music thanks to the buflib users).

This patch will apply settings individually if they have a callback registered, and if no settings without a callback are applied it doesnt bother calling settings_apply().

12334PatchesUtilsVery LowUpdate to my tools/talkclips.py script2011-10-15ddalton12011-10-152All players Task Description

Update to my tools/talkclips.py script. Minor updates which include:
- Better handling of logfile eg. we don't leave it open as was the case
before
- Report a few more details in the log eg. start/end time, duration, and
number of talk clips created. This is useful to dettect how many files
had problems…
- Summarise output for user at end, of processing, number of talkclips
created and how long this took (in seconds).
- Report to user how many talk clips will need to be created to give
them an indication of potential waiting time etc. This is calculated by
first determining how many files are on the device excluding .talk files, and how many .talk
files there are, and calculating the difference.
- This information allows a percentage indication to be drawn throughout
the script, so now the user can track the percentage as processing takes
place.

Patch is attached.

Thanks.

12312PatchesOperating System/DriversVery LowAndroid: Stop tick timer when app is closed2011-10-04zagor2011-10-041Android Task Description

Our tick timer eats CPU even when the app is closed and music is stopped. To fix this, I added a tick_pause() and tick_resume() to kernel-android.c, to be called from java when appropriate.

I've figured out where to call pause, but the current location of resume is inadequate. The app wakes up to a black screen.

A clue, anyone?

12277PatchesThemesVery LowWPS tags for the list item number and the "divisible" o...2011-09-13fml282011-09-182All players Task Description

The patch adds two new WPS tags:

1. %Ln yields the number of the list item currently being drawn

2. The operator "/?" (which can be used in the %if tag) yields the string "div" if the first operant is divisible by the second and NULL otherwise.

With these two additions it should be possible to create themes where list items are coloured alternately (as an example).

The whole work has been done by gevaerts on 2011-09-12 (and all the credits also go to him), I only placed the patch to the patch tracker, changed the operator from "/" to "/?", and changed the function name from "skinlist_get_item" to "skinlist_get_item_number".

He posted the patch on the binpaste and it would be pity if it got lost.

12264PatchesOperating System/DriversVery LowMake logf() output via serial optional (advanced config...2011-09-08Lalufu2011-09-081All players Task Description

By default logf() will output to the serial port if that is enabled (HAVE_SERIAL). This is kind of distracting if logf() is used to debug serial communication itself.

The attached patch does the following:
- make logf() only output to serial if LOGF_SERIAL is defined (defaults to undef)
- adds an advanced configure option to enable LOGF_SERIAL

The patch is against r30429.

12242PatchesCodecsVery Lowrbcodec refactoring part 22011-08-22wtachi2011-08-227All players Task Description

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

12240PatchesCodecsVery Lowrbcodec refactoring part 12011-08-22wtachi32011-08-286All players 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.

12225PatchesUtilsVery LowFix compiler warning in utils/rk27utils/rkboottool2011-08-10ukleinek2011-08-101Another Task Description

The attached patch fixes a minor compiler warning on 64 bit platforms.

12223PatchesMusic playbackVery Lowsinc resampling for rockbox2011-08-09drezon182012-03-2811All players Task Description

The attached patch implements sinc based resampling in rockbox.
I have only tested it stand-alone so far (i.e. the code outside of rockbox – I am waiting for a replacement for my broken android phone to test it there).
There is (of course) quite some room for improvement.
Things which could be improved:
- buffer handling
- calculate the correct sinc spanning the whole table for downsampling. Then the downsampling and upsampling code would be the same (no need for sinc_increment, saving some additions). Also the result would be more accurate resampling.
- Save some memory by always calculating the correct sinc and putting it into resample_data. Would need to use fp_sincos() for that.
- Save some more memory by taking advantage of sinc's symmetry, only storing half of it in the table.

I know that I'm breaking the coding-style by using more than 80 chars in some lines. I will fix that when I have time. I wanted to get this code finally out to get some feedback after it sitting for two weeks (basically unchanged) on my HD.

12214PatchesMusic playbackVery LowSpace80 Reverb Effect2011-08-01JoshuaChang12020-06-291All players
12192PatchesOperating System/DriversVery LowIntroduce bsearch() and use it in tagtree.c.2011-07-18kugel.32011-10-181All players
12191PatchesDriversVery LowHigher quality audio hw settings for AS3515 (Clipv1, Fu...2011-07-17drezon12011-07-293Sansa AMSv1
12189PatchesCodecsVery LowSimplify the codec API and don't always loop MODs.2011-07-11wtachi72011-08-313All players
12176PatchesCodecsVery LowNew Chiptune codec pack based on Game_Music_Emu library...2011-07-01gama1422013-04-1037All players
12149PatchesDatabaseVery LowRead Lyricist/Text writer from mp3 id3 tag for display ...2011-06-05Lyrical Madoka22011-07-031All players
12138PatchesPluginsVery LowFreecell game - new plugin for rockbox2011-05-29sharky4422020-06-292All players
12125PatchesOperating System/DriversVery LowUse persistent dircache without HAVE_EEPROM_SETTINGS2011-05-22asettico62011-07-063All players
12101PatchesUser InterfaceVery LowOption for date format2011-05-07tieum52011-05-101All players
12080PatchesMusic playbackVery LowScrobbledroid API support for Android2011-04-25mgmuscari_32011-05-221Android
12075PatchesSettingsVery LowAdd timeout to quickscreen2011-04-19tenfoot122013-10-104All players
12074PatchesSettingsVery LowAdd setting to enable/disable lineout on Sansa Fuze V22011-04-19tenfoot242019-08-022Another
12073PatchesDatabaseVery LowDynamically add files to database as they are played2011-04-18sideral32011-04-192All players
12054PatchesDatabaseVery LowHighlight each album's last-played track in database vi...2011-04-07sideral72011-08-093All players
12029PatchesPluginsVery LowSDL_PAD keymaps for plugins on SDLAPP build without TOU...2011-03-25dheyse2011-03-251Generic RaaA
12027PatchesConfigurationVery LowAdd the Zipit Z2 as an build target.2011-03-24dheyse62011-06-057Another
12025PatchesPluginsVery LowOhm's Law Calculator added to resistor.c plugin2011-03-23LeifAndersen52011-03-283All players
11989PatchesPluginsVery LowContacts plugin written in LUA2011-03-03gbl08ma82011-04-163All players
11978PatchesCodecsVery LowNew Atari SC68/SNDH codec based on the SC68 library by ...2011-03-01gama162011-06-107All players
11977PatchesUser InterfaceVery Lowautoresume: Add option to prevent accidental rewind to ...2011-03-01sideral2011-03-011All players
11975PatchesUser InterfaceVery LowApply "Backlight on first keypress" only for certain ke...2011-02-28sideral72011-04-251Sansa AMSv2
11959PatchesUser InterfaceVery LowFeature: Use buttonlight as a disk activity indicator2011-02-22crw2011-02-221All players
11930PatchesGamesVery LowBomberman2011-02-12leavittx2011-02-122All players
11927PatchesDatabaseVery LowQueue overflow during database initialisation2011-02-11pondlife82011-04-142All players
11898PatchesPlaylistsVery LowThis is a preliminary patch to add keymaps needed for p...2011-01-21BenjaminBrown202011-02-0317Another
Showing tasks 1 - 50 of 250 Page 1 of 5

Available keyboard shortcuts

Tasklist

Task Details

Task Editing