Hi David,

This is our situation.

We have 3 sources. One source is from the queue that is inside of
liquidsoap and we fill that queue with annotation.

*queue = audio_to_stereo(id="queue_src", request.queue(id="queue",
length=0.5))*

The other 2 sources are input.harbor:

*master_dj = input.harbor(id="master_harbor",
master_harbor_input_mount_point, port=master_harbor_input_port,
auth=check_master_dj_client,
                    max=40., on_connect=master_dj_connect,
on_disconnect=master_dj_disconnect)
dj_live = input.harbor(id="live_dj_harbor", dj_harbor_input_mount_point,
port=dj_harbor_input_port, auth=check_dj_client,
                    max=40., on_connect=live_dj_connect,
on_disconnect=live_dj_disconnect)*

And we use switch among those 3 sources:
*
switch(id="master_dj_switch", track_sensitive=false,
transitions=[transition, transition, transition],
[({!master_dj_enabled},master_dj), ({!live_dj_enabled},dj_live), ({true},
s)])*

This is our transition function:

*def transition(a,b) =
  log("transition called...")
  add(normalize=false,
     [ sequence([ blank(duration=2.),
                   fade.initial(duration=!default_dj_fade_in, b) ]),
        fade.final(duration=!default_dj_fade_out, a) ])
end**
*
Our annotation format that is passed to liquidsoap:

*
annotate:media_id="%s",liq_start_next="%s",liq_fade_in="%s",liq_fade_out="%s",liq_cue_in="%s",liq_cue_out="%s",schedule_table_id="%s":%s
*

Here is the situation:

When the liq_fade_in and liq_fade_out values are 0, and if we switch from
and of input.harbor to "queue" source, it does not use duration that is
specified in fade.initial/final but, it uses the value that is passed
within the annotation.

My question is, is there anyway to override what is specified in annotation
with the fade duration value that is specified in transition function?

Thank you.

On Fri, Mar 9, 2012 at 2:23 AM, David Baelde <[email protected]> wrote:

> Hi guys,
>
> I'd like to clarify one thing: there is never any (clock) problem with
> switch-based transitions. It's only cross-transitions (between tracks
> of the same source) that you should avoid with real time sources (we
> decided against this so far, but strict clock annotations would
> prevent such uses).
>
> Regarding the initial problem, I'm not sure what it was, maybe bad
> remaining time estimations. I'm more puzzled by the intermediate
> report of liquidsoap going into a loop with a sequence transitions.
>
> Finally, the override parameter did not make sense in
> fade.initial/final(), only in fade.in/out() <http://fade.in/out%28%29>.
> It is there to change the
> fading duration from one track to the next. This is useless for
> track.initial/final() because they fade only once, not for every
> track. (Strictly speaking, it could still be nice to use a duration
> extracted from the track, and technically there may be a way that even
> initial/final extract it before starting their work, but I'm not
> sure.) Your use of references for setting fading durations seems like
> the right approach to me.
>
> What exactly are you trying to achieve with these annotations?
>
> Cheers,
> --
> David
>



-- 
James Moon
 Software Developer, Sourcefabric
[email protected]

www.sourcefabric.com | *www.sourcefabric.org*

720 Bathurst St. Suite 203
M5S 2R4, Toronto, ON, Canada
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to