[RDD] Can I save my music if I blow everything else out of mydatabase?

Fred Gleason fredg at paravelsystems.com
Tue Jul 6 09:08:36 EDT 2010


On Monday 05 July 2010 11:09:00 pm John Handelaar wrote:
> a) Surely Rivendell *writes* groups, cue points, artist and title into
> cartchunk data in its own storage system, right?

Nope.


> b) Why not?  

In a word -- races!  Writing all that stuff into the WAV data would mean 
having to update it each and every time the corresponding metadata is changed 
in the DB.  That code ends up being complex and prone to race conditions.  
I've seen this happen on other automation systems that try to do these sorts 
of things -- it's *not* pretty.  The decision was made early on in 
Rivendell's design process to let each piece of the storage system (RDBMS and 
filesystem) do what it's good at without trying to 'force-fit' non-optimal 
data types.  Hence, 'structured' data goes into the RDBMS, and big chunks of 
sequential binary data (i.e. PCM/MPEG data) go into the filesystem.

Now, having said that, it *is* a definite weakness that the existing (v1.x) RD 
code does not include the metadata when doing an export to an external file.  
That lack has been remedied in the the forthcoming 2.x code, where audio 
exports have the option to get metadata in CartChunk or ID3 tags as 
appropriate for the file format.  Indeed, this very feature was one of the 
requirements that drove the redesign of the entire import/export subsystem 
for the new version.

Cheers!


|-------------------------------------------------------------------------|
| Frederick F. Gleason, Jr. |               Chief Developer               |
|                           |               Paravel Systems               |
|-------------------------------------------------------------------------|
|    Never worry about theory as long as the machinery does what it's     |
|    supposed to do.                                                      |
|                                         -- Robert A. Heinlein           |
|-------------------------------------------------------------------------|


More information about the Rivendell-dev mailing list