From: James M. <jam...@so...> - 2012-03-07 16:58:35
|
Hi Romain, I just try it with sequence(): squence([fade.initial(duration=5.,b),fade.final(duration=5.,a)]) and this gave me worse result. 1. The original source was not fading out at all. It would just cut off original source and fade in new source 2. liquidsoap freezes after one switch and I had to manually kill the process. No log message or anything. Any other idea? Thanks On Wed, Mar 7, 2012 at 10:31 AM, James Moon <jam...@so...>wrote: > Hi Romain, > > I'll try sequence() instead of add() as you recommended and let you know. > > Thanks > > > On Wed, Mar 7, 2012 at 10:28 AM, Romain Beauxis <to...@ra...>wrote: > >> Hi James! >> >> Le 6 mars 2012 17:06, James Moon <jam...@so...> a écrit : >> > I'm having a problem with transition on input.harbor. >> > Blow is the portion of the code: >> > >> > # transition function >> > def transition(a,b) = >> > log("transition called...") >> > add(normalize=false, >> > [fade.initial(duration=5.,b),fade.final(duration=5.,a)]) >> > end >> > >> > >> > # how I called switch function >> > dj_live = input.harbor(id="live_dj_harbor", dj_harbor_input_mount_point, >> > port=dj_harbor_input_port, auth=check_dj_client, buffer=10., max=20.) >> > ignore(output.dummy(dj_live, fallible=true)) >> > switch(id="live_dj_switch", track_sensitive=false, >> transitions=[transition, >> > transition], [({!live_dj_enabled},dj_live), ({true}, s)]) >> > >> > When I turn on/off live_dj_enabled predicate, transition works, but not >> > nicely. >> > >> > When transition from s->dj_live, I notice that s is not fading out >> > gradually. It suddenly reduces volume of s and the fade in of dj_live >> come >> > in ok. >> > When transition from dj_live->s, samething happens but the only >> difference >> > is that when the volume of old source(dj_live in this case), drop more >> > dramatically. >> > >> > Do you have any idea why I don't get smooth transition? >> > Thank you for your support. >> >> As a general advice, you should always remember that input.harbor and >> other live sources have to work at real-time. This means that all >> transitions that consume data at a higher rate, such as crossfades, >> are bound to fail with those. >> >> That being said, I am not sure that this is the case with you. fade.* >> operations should not consume more than real-time. However, add() may. >> >> Have you tested with a sequence instead of an add(), just to see what it >> does? >> >> Romain >> > > > > -- > James Moon > Software Developer, Sourcefabric > jam...@so... > > www.sourcefabric.com | *www.sourcefabric.org* > > 720 Bathurst St. Suite 203 > M5S 2R4, Toronto, ON, Canada > > -- James Moon Software Developer, Sourcefabric jam...@so... www.sourcefabric.com | *www.sourcefabric.org* 720 Bathurst St. Suite 203 M5S 2R4, Toronto, ON, Canada |