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 <fr...@paravelsystems.com> ha scritto: On Jun 14, 2016, at 07:57, drew Roberts <zotz...@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@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
_______________________________________________ Rivendell-dev mailing list Rivendell-dev@lists.rivendellaudio.org http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev