I am re-running the test program with log level 4, stand by.  I will send you 
the log.

On 2013-03-24, at 9:23 AM, Romain Beauxis <[email protected]> wrote:

> Hi,
> 
> 2013/3/23 Kevin McQuiggin <[email protected]>:
>> I have done further research into the behaviour of merge_tracks() and 
>> switch().  Either I don't understand the correct behaviour of these 
>> constructs, or I have found a bug.  Demo code is attached and documented 
>> herein.  I have tried to document the issue clearly, and provided source 
>> code.  I hope this will help with resolution of my problem!
>> 
>> 
>> BACKGROUND:
>> 
>> I want to use a switch() construct to play an -entire- playlist in normal 
>> (i.e. top to bottom) order at a specified time.  I am using merge_tracks() 
>> to join the target playlist into a single track.
>> 
>> 
>> PLATFORM:
>> 
>> Liquidsoap 1.1.0 running on an Intel machine; Ubuntu 12.10 with all updates 
>> applied.
>> 
>> 
>> PLAYLIST:
>> 
>> I have the following playlist, named "test.pls", which consists of 4 short 
>> .ogg files.  Each .ogg file is a 2-second long item that just contains the 
>> spoken audio "Item A", "Item B", "Item C", and "Item D".  The merged audio 
>> file will be only about 8 seconds in length.  Here is the playlist file:
>> 
>> $ cat ../playlists/test.pls
>> /home/kevin/radio/content/test/a.ogg
>> /home/kevin/radio/content/test/b.ogg
>> /home/kevin/radio/content/test/c.ogg
>> /home/kevin/radio/content/test/d.ogg
>> 
>> 
>> PROGRAM CODE:
>> 
>> I have written a short test program to play the merged "test.pls" source 
>> twice per minute.  Here is my short test program:
>> 
>> $ cat demo.liq
>> #!/usr/local/bin/liquidsoap
>> 
>> # Logging information:
>> set("log.file.path","/home/kevin/radio/log/test.log")
>> 
>> # Test: merge tracks of test.pls:
>> zzz = merge_tracks(playlist.safe(reload_mode="watch", mode="normal", 
>> "~/radio/playlists/test.pls"))
>> 
>> radio = mksafe(fallback(track_sensitive=false, [
>>                        switch([
>>                                ({0s}, zzz),
>>                                ({30s}, zzz)
>>                                ])
>>                        ]
>>                ))
>> 
>> # Streaming:
>> output.icecast(%vorbis,
>>  host = "localhost", port = 8000,
>>  password = "donthackme", mount = "vorbis-dev",
>>  radio)
>> 
>> output.icecast(
>>  %mp3(bitrate=128),
>>  host = "localhost", port = 8000,
>>  password = "donthackme", mount = "mp3-dev",
>>  radio)
>> 
>> 
>> EXPECTED BEHAVIOUR:
>> 
>> I expected that the program would play the entire "test.pls" (items a, b, c, 
>> and d.ogg) twice every minute, at 0 seconds and 30 seconds of every minute. 
>> I should hear "Item A, Item B, Item C, Item D" for about 8 seconds, starting 
>> at 0 seconds; and then again at 30 seconds past each minute.
>> 
>> 
>> OBSERVED BEHAVIOUR:
>> 
>> The program plays only 2 items,  "a.ogg" and "b.ogg" at 0 seconds of the 
>> minute; then it plays the other two items, "c.ogg" and "d.ogg" at 30 seconds 
>> past the minute.  This behaviour continues each minute.
>> 
>> 
>> SUMMARY:
>> 
>> Either I don't understand the LS constructs, or there is a problem either 
>> with merge_tracks() or with switch().
>> 
>> I am hoping for the former, as I would like to get my little project 
>> completed, but if this is a bug then I hope this information can help 
>> resolve it.
>> 
>> I have attached my demo program code.
>> 
>> Any assistance appreciated, I like LS so far and it will meet my project 
>> needs perfectly once I get the new program running!
> 
> Thank you very much for your work on narrowing this down! I will try
> to reproduce very soon. In the mean time, I have the same question:
> could you show some logs?
> 
> Thanks!
> Romain
> 
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
> _______________________________________________
> Savonet-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/savonet-users


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to