Hi,

I just had a simple idea for "dynamic cross-fading": use metadata.

Every file comes from a request, which resolution is done by
user-definable protocols, which can by the way add some metadata to
the request. We actually already have a special protocol named
"annotate" which does only this. The URI <annotate:foo="bar":OtherURI>
will become OtherURI but will have the extra metadata foo set to
"bar".

RadioPi's liq script uses this feature in the following way: they have
a request.dynamic which calls an external script to get next tracks,
but this script does more than just giving a local path, it adds some
custom metadata using annotate (name of the scheduling rule in their
system which produced the track) and use this custom metadata field in
a rewrite_metadata() so that the listeners see the info as part of the
title.

When the cross-fading works, I could easily make it use the metadata
to change its parameters. And you could easily define a protocol for
extracting this info, or just use <annotate:..> like at RadioPi.

Cheers.
--
David

Reply via email to