release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Wiki > Main > PureDataOnRockbox (compare)

Difference: PureDataOnRockbox (r29 vs. r28)

Pure Data on Rockbox

This project is part of the Google Summer of Code 2009 project.

Project nameStudentMentorBackup mentor
Make Rockbox a musical instrument Wincent Balin (wincent)Peter D'Hoye (petur)Dominik Wenger (domonoky)

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
IAttachmentActionSizeDateWhoComment
PureData.zipzipPureData.zipmanage 1788.6 K 12 Jul 2009 - 19:52WincentBalin Archive of files for Pure Data with pdPod GUI

r31 - 03 Jun 2010 - 00:57:51 - WincentBalin

Revision r29 - 01 Jun 2010 - 20:27 - WincentBalin
Revision r28 - 01 Jun 2010 - 01:23 - WincentBalin
Copyright by the contributing authors.