Liquidsoap Как получить значение с плавающей запятой из ref

Я знаю, что можно получить строковое значение из ref, выполнив

name = ref ""
name := "Dmitriy"
print("#{name}")

Но я хочу получить значение с плавающей запятой из ref

freq = ref 0.0

def change_pitch()
    freq := random.float(min=50.0,max=1000.0)
    1.0
end

add_timeout(fast=true,1.0,change_pitch)

output.icecast(%mp3,
    host = "coolgoga.hldns.ru", port = 8000,
    password = "xxx", mount = "entity",
    name="Entity Radio", genre="Any", description="EntityinArray's favourite 
    music",
    sine(duration=0.1,!!!TOFLOAT_SOMEHOW(freq))
)

Я хочу сделать синусоидальный тон, который будет менять высоту звука каждую секунду.

Спасибо за помощь.


person EntityinArray    schedule 21.08.2018    source источник


Ответы (1)


Чтобы извлечь значение из ссылки, вы должны добавить к его имени префикс '!'

def change_pitch()
    freq := random.float(min=50.0,max=1000.0)
    !freq
end

Но я не уверен, что вам даже нужна ссылка в вашем скрипте. Он даже будет работать так:

def change_pitch()
    random.float(min=50.0,max=1000.0)
end
person Forged Spirit    schedule 14.02.2019