[RDD] Synchronizing carts and logs

Alessio Elmi alessio_elmi at hotmail.com
Tue Jun 14 19:09:57 EDT 2016


+1 for XML! I think a good idea, considering a wider scenario, could be the
following:

i) The same xml output can be generated 'per-cart' when exporting
single/few audio files, but it could be also an alternative report format
from RDLibrary (one file with the whole list inside).

ii) The same xml can be used in addition with rdimport routine. When
importing 'test.wav' it would look for 'test.xml'. If there, it will fill
metadata accordingly (of ocurse it should expect a single-cut cart
template).

Alessio

Il giorno mar 14 giu 2016 alle ore 19:24 Fred Gleason <
fredg at paravelsystems.com> ha scritto:

> On Jun 14, 2016, at 07:57, drew Roberts <zotzbro at gmail.com> wrote:
>
> http://www.wavpack.com/
>
> "Uses ID3v1 and APEv2 tags for metadata (including ReplayGain)"
>
> Would that get us there?
>
>
> ID3v1 is very consumer- and pop music-oriented, and thus is missing many
> of the fields that are relevant for broadcasters —e.g. Agency and Client.
> APEv2 is more intriguing inasmuch as it includes a mechanism for extending
> the field definitions, however, it does not seem to enjoy very wide support.
>
> Here’s an idea: what say we embed a copy of the relevant ‘cartList’ XML
> object (such as is currently generated by Rivendell's ListCart Web API
> call) in every file export?  I see a number of advantages to this approach:
>
> 1) XML is a widely-supported format, with high-quality FOSS parsers
> available for virtually every major programming language.
>
> 2) The format is human-readable and would be largely self-documenting.
>
> 3) The same parser code that reads cartList objects via the web interface
> would also work here with little modification.
>
> Likewise, we then extend Rivendell’s import tools (RDImport and RDLibrary)
> to parse this same data structure, thus giving us a high-fidelity path for
> transferring both audio and Rivendell cart/cut metadata between systems.
>
> For reference, here is a sample of the cartList object:
>
> *** snip snip ***
> <cartList>
>   <cart>
>     <number>10004</number>
>     <type>audio</type>
>     <groupName>MUSIC</groupName>
>     <title>American Pie</title>
>     <artist>Don Mc Lean</artist>
>     <album>100 Hits Party Classics</album>
>     <year/>
>     <label/>
>     <client/>
>     <agency/>
>     <publisher/>
>     <composer/>
>     <userDefined/>
>     <usageCode>0</usageCode>
>     <forcedLength>0:04:03.7</forcedLength>
>     <averageLength>0:04:03.7</averageLength>
>     <lengthDeviation>0:00:00.0<lengthDeviation>
>     <averageSegueLenth>0:04:02.6<averageSegueLenth>
>     <averageHookLength>0:00:00.0</averageHookLength>
>     <cutQuantity>1</cutQuantity>
>     <lastCutPlayed>0</lastCutPlayed>
>     <validity>2</validity>
>     <enforceLength>false</enforceLength>
>     <asyncronous>false</asyncronous>
>     <owner/>
>     <metadataDatetime>2016-05-31T08:20:23-04:00</metadataDatetime>
>       <cutList>
>         <cut>
>           <cutName>010004_001</cutName>
>           <cartNumber>10004</cartNumber>
>           <cutNumber>1</cutNumber>
>           <evergreen>false</evergreen>
>           <description>Cut 001</description>
>           <outcue/>
>           <isrc/>
>           <isci/>
>           <length>243794</length>
>           <originDatetime>2014-11-30T09:38:49-04:00</originDatetime>
>           <startDatetime/>
>           <endDatetime/>
>           <sun>true</sun>
>           <mon>true</mon>
>           <tue>true</tue>
>           <wed>true</wed>
>           <thu>true</thu>
>           <fri>true</fri>
>           <sat>true</sat>
>           <startDaypart/>
>           <endDaypart/>
>           <originName>rdhost</originName>
>           <weight>1</weight>
>           <lastPlayDatetime>2015-03-24T10:23:55-04:00</lastPlayDatetime>
>           <playCounter>49</playCounter>
>           <localCounter>49</localCounter>
>           <validity>2</validity>
>           <codingFormat>0</codingFormat>
>           <sampleRate>48000</sampleRate>
>           <bitRate>0</bitRate>
>           <channels>2</channels>
>           <playGain>0</playGain>
>           <startPoint>336</startPoint>
>           <endPoint>244130</endPoint>
>           <fadeupPoint>-1</fadeupPoint>
>           <fadedownPoint>-1</fadedownPoint>
>           <segueStartPoint>243024</segueStartPoint>
>           <segueEndPoint>244104</segueEndPoint>
>           <segueGain>-3000</segueGain>
>           <hookStartPoint>-1</hookStartPoint>
>           <hookEndPoint>-1</hookEndPoint>
>           <talkStartPoint>-1</talkStartPoint>
>           <talkEndPoint>0</talkEndPoint>
>         </cut>
>       </cutList>
>   </cart>
> </cartList>
> *** snip snip ***
>
> Cheers!
>
>
> |----------------------------------------------------------------------|
> | Frederick F. Gleason, Jr. |              Chief Developer             |
> |                           |              Paravel Systems             |
> |----------------------------------------------------------------------|
> |          A room without books is like a body without a soul.         |
> |                                         -- Cicero                    |
> |----------------------------------------------------------------------|
>
> _______________________________________________
> Rivendell-dev mailing list
> Rivendell-dev at lists.rivendellaudio.org
> http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://caspian.paravelsystems.com/pipermail/rivendell-dev/attachments/20160614/7dbc076a/attachment.html>


More information about the Rivendell-dev mailing list