Pure Data on Rockbox
This project is part of the Google Summer of Code 2009 project.
This is a Google Summer of Code 2009 project with the goal to make Rockbox a musical instrument. To do so, the sound processing framework Pure Data will be integrated into Rockbox in the likeness of http://www.ipodlinux.org/wiki/PdPod .
Those who do not know what Pure Data is are advised to look at the book "Designing Sound" (http://aspress.co.uk/ds/), both at the abridged text and at the sample chapters. Another good Pure Data tutorial can be found at http://www.pd-tutorial.com/ .
To test the abilities of PDBox get the file PureData.zip from http://www.ipodlinux.org/wiki/PdPod . If http://www.ipodlinux.org/ does not work, you might want to get this file from this page (seel below).
Project Plan
Part 1 (50%): Port PDa (Pure Data anywhere, the Pure Data fixed point fork) to Rockbox
- Port network communication: done (actually, it was replaced by a small custom message passing interface)
- Port memory allocator: done (using dbestfit library)
- Porting file-for-file, looking at missing symbols in the plug-in: done
- Port audio: done (output only)
- Port file operations: done
- Port scheduler: done
Part 2 (50%): Port PDPod GUI to Rockbox
- Sending statements to Pure Data core (pauses and un-pauses were used as an example): done
- Custom GUI: done
- Standard GUI: done
Known problems
GUI does not take backdrops (bitmap backgrounds) into account, leading to an unreadable text/background combination -- PeterDHoye - 04 Aug 2009 - fixed - PD designs which are based on audio files instead of (for lack of a better term) oscillators may have difficulties while loading - fixed
- Timing mechanism has to be reworked
- Sound input capability is lacking
Preliminary information
- SourceForge.net project for Pure Data Anywhere: http://sourceforge.net/projects/pd-anywhere/
- Data transfer from the core to the output, networking code etc. is of special interest
- Tried to compile Pure Data Anywhere in Rockbox. Some files failed. File handling and networking mostly.
- Designing around memory allocator (looking if it is needed at all)
- Designed rudimentary event queue based networking code. While integrating the code it became evident that a memory allocator is needed. Therefore: Integrating dbestfit memory allocator
- Made an initial patch: FS#10214
- dbestfit seem to work with simple test. Of course, the most thorough test will be the plug-in itself
- Changed the patch to FS#10244
- Changed the patch to FS#10416
- PureData.zip: Archive of files for Pure Data with pdPod GUI
Copyright © by the contributing authors.