FS#5157 - SID codec based on tinysid

Attached to Project: Rockbox
Opened by Rainer Sinsch (myth) - Monday, 17 April 2006, 10:38 GMT
Task Type Patches
Category Codecs
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


This is the latest version of the rockbox SID codec.

Whats new since 15. April 2006
* Filter implementation(!) using integer calculations
* Audio quality improvements
* Speed improvements

Please note that the current version only suports single speed PAL playback. I will correct this as soon as I find time.
This task depends upon

Closed by  Dave Chapman (linuxstb)
Tuesday, 18 July 2006, 19:36 GMT
Reason for closing:  Accepted
Comment by Eli Sherer (elisherer) - Monday, 17 April 2006, 12:55 GMT
Well Done...I listen to SID files every now and then...10x!
Comment by Brandon Low (lostlogic) - Monday, 17 April 2006, 19:29 GMT
Here's an updated patch for latest CVS
(application/octet-stream)    sid.patch (41.9 KiB)
Comment by Rainer Sinsch (myth) - Monday, 17 April 2006, 19:48 GMT
Here you go with version 1.2:

Added sample playback
Added cia timing routines
Added fast forwarding capabilities
Corrected bug in sid loading routine

Comment by David Brown (ep0ch) - Wednesday, 19 April 2006, 20:24 GMT
Great stuff, I have a couple of feature requests though :)

1. Is it possible to make a plugin version of this codec? My only reason for asking this is to change subsongs via a menu.
2. I've recently been playing with SIDPlayer and it enhances the sound loads with the stereo + spatial effect, any chance something similar can be added to this?

Comment by Dave Chapman (linuxstb) - Friday, 21 April 2006, 12:19 GMT
I've edited the patch very slightly so that it applies cleanly against current CVS (21 April).
Comment by Paul Louden (darkkone) - Sunday, 23 April 2006, 12:13 GMT
CODEC_DSP_ENABLE is no longer valid. Fixed to compile against CVS.
Comment by Marco Alanen (ravon) - Sunday, 30 April 2006, 17:01 GMT
Subsong switching can be done by setting the song length to <num subsongs> * 1000 and then switch subsongs on seeking.
I'm currently playing around with another codec, and that's how I've solved it there. Seems to work.
Comment by Rainer Sinsch (myth) - Thursday, 04 May 2006, 19:48 GMT
This is a nice idea! Here is a patch for the subsong selection, each subsong now represents a second. As a result listened seconds are not displayed anymore - but who cares ;)

Comment by Rainer Sinsch (myth) - Thursday, 04 May 2006, 19:52 GMT
Just to make sure everyone understands:

If you wish to seek to subsong #0: Rewind to playing time: 0:00
If you wish to seek to subsong #1: Seek to playing time: 0:01
If you wish to seek to subsong #2: Seek to playing time: 0:02

and so on...

The real playing time is not counted anymore so the display directly reflects the subsong number.
Comment by Rhapsody (Rhapsody) - Wednesday, 10 May 2006, 06:30 GMT
Any chance of there being one patch for the SID and MOD players? I cannot patch the source for one player after the other. I did try entering the code into the appropriate source files manually but I ended up with SIDs being playable and MOD files not being recognized. Thanks.
Comment by Mathieu Stempell (dma) - Saturday, 17 June 2006, 16:27 GMT
Could this be implemented in main builds?
Comment by Falk (dandee) - Friday, 07 July 2006, 13:10 GMT
Great work, Rainer. Just love it. Any chance to implement a timing feature to play a SID file for a certain length and than switch to the next ... or better to use the songlenth.txt from the HVCS- (High Voltag Sid Collection)? This would be great.