Hi,

Same statement for me. I've tried to use "switch" with  
"track_sensitive=false" to relay an external stream.
It seems that the original source is still running in background and  
when you come back to it, it's always in the middle of a track.

Moreover, I think that all sources that are defined in a script are  
permanently running in background.

In your cas, it would be more relevant to use "add" instead of  
"switch" if you only want to add a voice track on top of hour. It will  
be mixed smoothly on top of your musical track.

Fred

Elliott Barnes <[email protected]> a écrit :

> Hi, and thanks for your help.
>
> For now, I've decided to simply stick with adding jingles to the end
> of ads; I think that's an easier solution.
>
> Another problem that I've just experienced is that I've tried to use
> the "switch" peramitor to force a jingle to play at the top of the
> hour. It's 15 seconds long, so in my script I have the following:
>
> ({ 0m and 0s-14s }, topofhour),
>
> I also tried adding the "track_sensitive = false" statement to the
> switch peramitor to try and force Liquidsoap to ignore a currently
> playing track. However, as a result this means that the jingle simply
> plays on top of the track, and the file then resumes when the jingle
> has finished. If I remove the "track_sensitive = false" statement, the
> jingle may not play if there are still more than 15 seconds left of
> the track that's currently playing.
>
> Does anyone have any ideas of how I can acomplish playing the jingle
> at the top of the hour, without playing on top of a track?
>
> Thanks.
>
>
> Elliott.
>
> On 28/12/2011, David Baelde <[email protected]> wrote:
>> Hi list,
>>
>> I agree with Frederic: I don't see a simple way of doing all this
>> without merging the three ads before-hand. Note that this merging
>> could be done on the fly using a protocol and a little scripting (if
>> re-encoding is acceptable, it should be doable with liquidsoap only).
>>
>> The not-simple way is to do a fair amount of scripting for the switch
>> logic. One way is to use source.dynamic(), the other one is to use
>> custom switching predicates. I'll detail the latter a little bit
>> because it seems like the best approach here. Please note that I
>> didn't have time to test this and never used this precise trick, so
>> there may be quirks.
>>
>> First, create a function (call it next_source) which tells what should
>> be played. Assuming that it returns a string, successive calls to that
>> function should return:
>>  "song", "song", "jingle", "song", "song", "jingle", "ad", "ad", "ad",
>> "jingle", "song", "song", "jingle", "song"...
>> I'll let you take care of this one, you should use references to store
>> the state of your system.
>>
>> Next, the following code will use that function to set flags saying
>> what should be played:
>>
>> play_song = ref true
>> play_jingle = ref false
>> play_ad = ref false
>> def update_switch()
>>   next = next_source()
>>   if next == "song" then play_song := true end
>>   if next == "jingle" then play_jingle := true end
>>   if next == "ad" then play_ad := true end
>> end
>>
>> Finally, set up a switch to use those flags, and update flags after each
>> track:
>>
>> source = on_track(fun(_)->update_switch(),switch([
>>   ({!play_song},song_source),
>>   ({!play_jingle},jingle_source),
>>   ({!play_ad},ad_source)
>>   # you may want to add a default, eg. ({true},song_source)
>> ]))
>>
>>>> Also, if possible, we would like to stop Liquidsoap from crossfading
>>>> between ads.
>>
>> That's another story, but an easy one: use metadata. You should be
>> able to find some info about this on the list, or perhaps somewhere in
>> the doc.
>>
>> Hope this helps,
>> --
>> David
>>
>> ------------------------------------------------------------------------------
>> Write once. Port to many.
>> Get the SDK and tools to simplify cross-platform app development. Create
>> new or port existing apps to sell to consumers worldwide. Explore the
>> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
>> http://p.sf.net/sfu/intel-appdev
>> _______________________________________________
>> Savonet-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/savonet-users
>>
>




------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to