Avaliação do Usuário: 5 / 5

Estrela ativaEstrela ativaEstrela ativaEstrela ativaEstrela ativa
 

 Este video mostra como instalar um script no Kontakt que permite desabilitar o pedal de sustain de um instrumento.

Para executar essa operação assista ao video e copie o script abaixo no local indicado no video. Para copiar basta selecionar o script abaixo, pressionar ctrl+C para copiar, e depois ctrl+V para colar no Slot de Script conforme mostrado no video.

Depois que o script é instalado no instrumento, será possível usar um botão que liga e desliga o pedal de sustain para todo o instrumento.

{-----------------------Inicio do Script}
on init
    message("Controle de Sustain")
    hide_inst_icon
    make_perfview
    set_script_title(" Sustain")
    set_ui_height_px(180)
    declare ui_button $sustain
    set_text ($sustain, " Sustain ON") 
    move_control_px ($sustain,180,125 )
    make_persistent($sustain)
    declare const $NONE := 0
    declare $i
    declare %ids[512]
    declare %notes[512]
    SET_CONDITION(NO_SYS_SCRIPT_PEDAL)
end on

on note
    $i := search(%ids, 0)
    if ($i # -1)
        %ids[$i] := $EVENT_ID
        %notes[$i] := $EVENT_NOTE
    else
        ignore_event($EVENT_ID)
    end if
end on

on release
    if (%CC[64] >= 64 and $sustain=0)
        ignore_event($EVENT_ID)
    else
        $i := 0
        while ($i <= num_elements(%ids)-1)
            if (%ids[$i] # $NONE and %notes[$i] = $EVENT_NOTE)
                note_off(%ids[$i])
                %ids[$i] := $NONE
            end if
            inc($i)
        end while
    end if
end on

on controller
    if (%CC_TOUCHED[64] # 0 and (%CC[64]<64 or $sustain=1))
        $i := 0
        while ($i <= num_elements(%ids)-1)
            if (%ids[$i] # $NONE and %KEY_DOWN[%notes[$i]] = 0)
                note_off(%ids[$i])
                %ids[$i] := $NONE
            end if
            inc($i)
        end while
    end if
end on

on ui_control($sustain)
    if ($sustain=1)
        set_text ($sustain, " Sustain OFF")
        else
            set_text ($sustain, " Sustain ON")
        end if
end on
{------------- Final do Script}