[ http://dev.sourcefabric.org/browse/LS-469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15797#action_15797 ]
David Baelde commented on LS-469:
I'm reviewing the cue operator's code. I made some mostly cosmetic changes, here are a few extra remarks:
* The operator doesn't respect the source's clock (several source#get in the same tick) so it should have its own internal clock, force it on the source, and animate it when streaming -- cf cross(). If you need some concrete test: you should not be able to write output(add([s,cue_cut(s)])).
* The default metadata fields are cue_in/out, where we use liq_fade_in/out in other operators: would it be a good idea to use the liq_ prefix everywhere/nowhere? The idea of the prefix is to make sure that the metadata is not passed by accident -- a fade_in metadata might not be intended for liquidsoap, not in the same unit for example.
* The sub-frame precision seems important to me, right now it's a bit sloppy (remaining TODO #1 and #2).
* Regarding TODO #3, cue_split is a good idea but unfortunately not trivial to implement (it might take some clock wizardry to delay something a source has produced).
> Add scripts for CUE points
> Key: LS-469
> URL: http://dev.sourcefabric.org/browse/LS-469
> Project: Liquidsoap
> Issue Type: New Feature
> Reporter: Samuel Mimram
> Assignee: Samuel Mimram
> Priority: Blocker
> Attachments: cut-file
> We should implement handling of CUE points in the standard library, either by calling some external programs or by hacking into liq. This feature has been requested many times, see for example below.
> From the ML:
> I use liquidsoap 0.9.x and I need to manually apply so-called cue
> points (the place where fade out or fade in begins). This data will be
> set manually by users of my system and will be pushed to liquidsoap
> via metadata in the annotate interface.
> In other words: I just want to mix my songs in previously manually
> specified points.
> I know how to write transition function, but how can I "strip"
> specified amount of seconds from the beginning or the end of my song?
> Is there any way to do that?
> Answer from David:
> Liquidsoap has no such facility. However, some people have solved that
> problem before by writing a script that cuts a file as wanted, using
> corresponding tools for mp3 and ogg formats. Then they could hook up
> that script using protocols. I don't remember who it was but we met
> them in Berlin. I thought that they gave the script to Romain, but I
> might be wrong since he didn't mention it.
> It wouldn't be a good solution to have a cut operator because that
> would be done after decoding the file. Hence it would be very
> inefficient. Unless you cut a very small portion at the beginning of
> the file. Regarding the end of file, precision would be an issue
> unless we buffer in advance.
> Now that I think of it, small cue-in points may be implemented using a
> transition that sets the volume to 0 on the new track for a while...
> If it sounds like it could be enough for your particular need, and if
> you feel like hacking in liquidsoap, it could be something to try.
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://dev.sourcefabric.org/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira