On 14/11/2011 15:38, Romain Beauxis wrote:
> 2011/11/14 Henry Favretto <[email protected]>:
>> 
>> 
>> On 14/11/2011 14:40, Romain Beauxis wrote:
>>> 2011/11/14 Henry Favretto <[email protected]>:
>>>> 
>>>> On 14/11/2011 13:03, Romain Beauxis wrote:
>>>>> 2011/11/14 Henry Favretto:
>>>>>> Hi there,
>>>>> 
>>>>> Hi Henry!
>>>>> 
>>>>>> I recently migrated my old script from 0.9.3 to 1.0.0 running on my
>>>>>> trusty old Debian Lenny box without much trouble except for one
>>>>>> rather subtle issue regarding the smart_crossfade utility
>>>>>> function...
>>>>>> 
>>>>>> In my script I use it this way:
>>>>>> 
>>>>>> ************************ # Crossfade songs 15 seconds fade.out =
>>>>>> fade.out(type="sin",duration=15.0) fade.in  =
>>>>>> fade.in(type="sin",duration=10.0) add = fun (a,b) ->
>>>>>> add(normalize=false,[b, a]) radio = smart_crossfade( fade_out =
>>>>>> 15.0, fade_in = 10.0, start_next = 25.0, margin = 3.0, high =
>>>>>> -15.0, medium = -30.0, conservative = true, default = fun (a,b) ->
>>>>>> add(fade.out(a),fade.in(b)), radio ) ************************
>>>>>> 
>>>>>> I noticed (by listening to the stream and looking at the log) that
>>>>>> for some reason my provided default transition is never applied
>>>>>> e.g. when "No transition. Using default" is logged then the
>>>>>> sequence transition is still used (the function's default).
>>>>>> 
>>>>>> IIRC the same script used to work as expected in 0.9.3 e.g. using a
>>>>>> crossfade when the default transition is applied...
>>>>>> 
>>>>>> Did I miss something?
>>>>> 
>>>>> There is a subtle detail with add() that could explain your issue or 
>>>>> at least needs a fix. By default, add([a,b,c,d]) relays metadata and
>>>>> track limits of the first source, a in this example.
>>>>> 
>>>>> Thus, on your script, you should write: default = fun (a,b) ->
>>>>> add([fade.in(b),fade.out(a)])  (by the way, did you miss the [ ] in
>>>>> your example?) since you want metadata and track limit from the new
>>>>> source (b).
>>>>> 
>>>>> Please, try this and let us know if your issue is still not fixed
>>>>> :-)
>>>>> 
>>>>> Romain
>>>> 
>>>> Hi Romain,
>>>> 
>>>> Indeed, I guess I must have missed those brackets.... my bad.
>>>> 
>>>> Okay, so I did your proposed changes but now it gives me the following
>>>> error:
>>>> 
>>>> ************* At line 46, char 33-56: this value has type [_] but it
>>>> should be a subtype of (the type of the value at line 37, char 13) 
>>>> source(_) (infered at line 37, char 42) *************
>>>> 
>>>> where line 46 in my script is
>>>> 
>>>> default = fun (a,b) -> add([fade.in(b),fade.out(a)])
>>>> 
>>>> and line 37 is
>>>> 
>>>> add = fun (a,b) -> add(normalize=false,[b, a])
>>>> 
>>>> Any idea what's wrong here?
>>> 
>>> Well you have redefined add, thus your initial script was in fact 
>>> correct, including the "new source should come first in add([])" bit..
>>> 
>>> Could you try to add some printing in your default transition so as to 
>>> check whether your default function is executed or that the problem comes
>>> from elsewhere. Something like this: default = fun (a,b) ->
>>> print("\n\nDEFAULT\n\n") add(fade.out(a),fade.in(b)), ...
>> 
>> When I use the mentioned print statement I get:
>> 
>> Line 46, char 55 before "(": Parse error!
>> 
>> Sorry if I'm being ignorant here but I'm still learning....
> 
> No pb!
> 
> Could you show me a script extract around line 46? Right now I do not have
> enough informations to help you..

Sure, here is the whole snippet again:

************
# Crossfade songs 15 seconds
fade.out = fade.out(type="sin",duration=15.0)
fade.in  = fade.in(type="sin",duration=10.0)
add = fun (a,b) -> add(normalize=false,[b, a])
radio = smart_crossfade(
     fade_out = 15.0,
     fade_in = 10.0,
     start_next = 25.0,
     margin = 3.0,
     high = -15.0,
     medium = -30.0,
     conservative = true,
     default = fun (a,b) -> print("\n\nDEFAULT\n\n") 
add(fade.out(a),fade.in(b)),
     radio
   )
************

Line 47 is the third from the bottom.

Henry

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to