Hi again,
I know you told me to post in the thread but I don’t even know where it is?
I tried the on_track method and I am even more lost... It does seem to be
working as you described...
Here is my script and look at the log. It seems to not be firing in the
order you and your documentation describes. the order is suppose to be
1,2,3. But it is apparently not.
Can you tell me why?
def ab_next() =
# Get the first line of my external process
log("11111111111111111111111111111111111111-------------next")
result =
list.hd(get_process_lines("C:\PlayGen.exe -cmd=next"))
# Create and return a request using this result
request.create(result)
end
def ab_playing(m) =
# Get the first line of my external process
log("2222222222222222222222222222222222222--------------playing")
system("C:\PlayGen.exe -cmd=playing")
end
def ab_played(t, m) =
# Get the first line of my external process
log("33333333333333333333333333333333333--------------played")
system("C:\PlayGen.exe -cmd=played -cat=-1")
end
# Create the source
s = request.dynamic(ab_next)
s = mksafe(s)
s = on_track(ab_playing,s)
s = on_end(ab_played, s,delay=3.0)
output.icecast(%mp3,host="localhost",fallible=true,port=8041,password="hackme",mount="live",s)
******************LOG BELOW**********************
2011/09/07 23:35:32 [lang:3]
11111111111111111111111111111111111111-------------next
2011/09/07 23:35:32 [decoder:3] Method "MP3/LIBMAD" accepted
"c:\Out\int.mp3".
2011/09/07 23:35:35 [request.dynamic_4308:3] Finished with
"c:\Out\7af6061e-e1c1-495d-983d-2c3a9b36e9bd.mp3".
2011/09/07 23:35:35 [request.dynamic_4308:3] Prepared "c:\Out\int.mp3" (RID
70).
2011/09/07 23:35:35 [lang:3]
2222222222222222222222222222222222222--------------playing
2011/09/07 23:35:35 [lang:3]
11111111111111111111111111111111111111-------------next
2011/09/07 23:35:35 [decoder:3] Method "MP3/LIBMAD" accepted
"c:\Out\int.mp3".
2011/09/07 23:35:38 [clock.wallclock_main:2] We must catchup 2.50 seconds!
2011/09/07 23:35:40 [lang:3]
33333333333333333333333333333333333--------------played
2011/09/07 23:35:43 [request.dynamic_4308:3] Finished with "c:\Out\int.mp3".
2011/09/07 23:35:43 [request.dynamic_4308:3] Prepared "c:\Out\int.mp3" (RID
47).
2011/09/07 23:35:43 [lang:3]
2222222222222222222222222222222222222--------------playing
2011/09/07 23:35:43 [lang:3]
11111111111111111111111111111111111111-------------next
2011/09/07 23:35:44 [decoder:3] Method "MP3/LIBMAD" accepted
"c:\Out\d54f0765-783c-4a2f-b96e-44cfe2e6af80.mp3".
2011/09/07 23:35:46 [clock.wallclock_main:2] We must catchup 2.64 seconds!
2011/09/07 23:35:48 [lang:3]
33333333333333333333333333333333333--------------played
2011/09/07 23:35:52 [request.dynamic_4308:3] Finished with "c:\Out\int.mp3".
2011/09/07 23:35:52 [request.dynamic_4308:3] Prepared
"c:\Out\d54f0765-783c-4a2f-b96e-44cfe2e6af80.mp3" (RID 372).
2011/09/07 23:35:52 [lang:3]
2222222222222222222222222222222222222--------------playing
2011/09/07 23:35:54 [clock.wallclock_main:2] We must catchup 2.55 seconds!
-----Original Message-----
From: David Baelde
Sent: Tuesday, September 06, 2011 4:45 AM
To: Alfie
Cc: [email protected]
Subject: Re: [Savonet-users] LiquidSoap for Win32
Hi,
On Tue, Sep 6, 2011 at 9:31 AM, Alfie <[email protected]> wrote:
> For problem 2, I think I should explain more. You see, I have a program
> that
> generates a playlist. when it is generated it also sets an image that is
> for
> the current playing item so that the website can use the image.
> this requires that when liquidsoap calls the playlist program it should be
> in sync.
OK so you don't need "perfect sync", just "enough sync".
> The problem is that liquid soap streams the data and grabs another "next"
> too soon and it makes the images out of sync by a few seconds.
> How can I tell liquid soap to wait for the entire stream to be sent before
> it grabs another playlist item?
You need to distinguish prefetching (when liquidsoap prepares a file)
and playing (when it actually plays it, which is when you want to
inform the website that the image should change). To do stuff when a
file is played, you typically need to use on_track().
If you need more help, please start a new thread with a clear topic
and explaination: many people here have similar devices and could
share their experience and code snippets.
Cheers,
--
David
------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops? How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users