[RDD] Synchronizing carts and logs

Rob Landry 41001140 at interpring.com
Wed Jun 15 09:05:00 EDT 2016


Yes, I like the XML idea, particularly if rdimport will recognize it.

Then all we need is an analogous method to export and import logs.


Rob

-- 
Я там, где ребята толковые,
Я там, где плакаты "Вперёд",
Где песни рабочие новые
Страна трудовая поёт.

On Tue, 14 Jun 2016, Alessio Elmi wrote:

> +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
> 
> 
>


More information about the Rivendell-dev mailing list