That did it! Once I realized that the map_metadata function gets an array of everything that will be used for metadata, and that if a don't pass an empty artist field, then it works perfectly.
Thanks Sam! KJ On Mon, Oct 31, 2011 at 2:53 AM, Samuel Mimram <[email protected]> wrote: > Hi, > > Your code is equivalent to > > if '$(if $(display_title),"$(display_title)","blank")' == "blank" then > source2 = drop_metadata(source) > end > > and you don't use source2 in the following. In your script, the name > "source2" just happens to be "source" but the orginial source isn't > changed: a new source, without metadata is createad, and you don't use > it. Thus the (justified) error. > > So, I don't think that your approach can be made to work. In your > case, I would use map_metadata with something like (untested): > > def drop_blank_title(m) = > if m["title"] == "" then [] else m > end > > source = map_metadata(drop_blank_title, source) > > The metadata are always mapped. They just happend not to be changed > when the title is not "". > > ++ > > Sam. > > > 2011/10/30 KJ Koning <[email protected]>: > > In my Liquidsoap script, I am using map_metadata to send the title and > > artist from annotate instead of ID3 tags. An issue has come up where > there > > are times I want to play a file, but I don't want to send any metadata. > When > > I pass nothing or a blank "display_title" annotate, Shoutcast records the > > song as " - ". I believe this is because Liquidsoap is sending a blank > > artist and title. This is with insert_missing=false or > insert_missing=true > > set for map_metadata. When I add strip=true to map_metadata, Liquidsoap > > seems to send "Unknown" to the Shoutcast server. > > I've even tried something like this at the end of my script before the > > output: > > if '$(if $(display_title),"$(display_title)","blank")' == "blank" then > > source = drop_metadata(source) > > end > > But I get this error: > > At line 159, character 9: The variable source defined here is not used > > anywhere in its scope. Use ignore(...) instead of source = ... if you > > meant > > to not use it. Otherwise, this may be a typo or a sign that your script > > does not do what you intend. > > Line 159 is: source = drop_metadata(source) > > Is there a better way to handle the times when I don't want to send > metadata > > for specific tracks? > > Thanks! > > > ------------------------------------------------------------------------------ > > Get your Android app more play: Bring it to the BlackBerry PlayBook > > in minutes. BlackBerry App World™ now supports Android™ Apps > > for the BlackBerry® PlayBook™. Discover just how easy and simple > > it is! http://p.sf.net/sfu/android-dev2dev > > > > _______________________________________________ > > Savonet-users mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/savonet-users > > > > >
------------------------------------------------------------------------------ Get your Android app more play: Bring it to the BlackBerry PlayBook in minutes. BlackBerry App World™ now supports Android™ Apps for the BlackBerry® PlayBook™. Discover just how easy and simple it is! http://p.sf.net/sfu/android-dev2dev
_______________________________________________ Savonet-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/savonet-users
