Hi,

The function called by on_track is being passed the metadata as its
argument. In your script you called it t. Here is an alternative
function (where I prefer to call it m for metadata) where I use the
metadata. I don't call system() but print() for test purposes:
def f(m)
  print("echo #{m[\"title\"]} >> .txt")
# print('echo #{m["title"]} >> .txt) is equivalent
end

While I'm at it, here's how I tested that function:

./src/liquidsoap 'f = fun(m) -> print("echo #{m[\"title\"]} >> .txt")
clock(sync=false,output.dummy(fallible=true,on_track(f,playlist("~/media/audio"))))'

Instead of def I used the more compact form for defining f. Then I use
a sync=false clock to stream as fast as possible (in order to avoid
waiting for metadata) and I use a dummy output (some output is needed
to pull the stream; nothing happens without an active source). Finally
I read files from my ~/media/audio directory, adapt this.

Hope this helps,

David

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to