Esempio n. 1
0
function create_master_strip() {
    var strip = init_strip("MASTER");
    strip.params.push(["VOLUME", m_sfx.get_volume(null), 0, 1, 50, false]);

    var cparams = m_sfx.get_compressor_params();
    if (cparams) {
        strip.params.push(["THRESHOLD", cparams["threshold"], -100, 0, 100, false]);
        strip.params.push(["KNEE", cparams["knee"], 0, 40, 40, false]);
        strip.params.push(["RATIO", cparams["ratio"], 1, 20, 20, false]);
        strip.params.push(["ATTACK", cparams["attack"], 0, 1, 1000, false]);
        strip.params.push(["RELEASE", cparams["release"], 0, 1, 1000, false]);
    }

    strip.mute = m_sfx.is_muted(null) ? 1 : 0;
    strip.solo = -1;

    return strip;
}
Esempio n. 2
0
function param_inc_dec(dir) {
    var strip = _mixer_strips[_active_strip];
    if (!strip)
        return;

    var param = strip.params[strip.active_param];

    if (param[5])
        param[1] *= Math.pow(param[3] / param[2], dir / param[4]);
    else
        param[1] += dir * ((param[3] - param[2]) / param[4]);

    param[1] = m_util.clamp(param[1], param[2], param[3]);

    switch (param[0]) {
    case "VOLUME":
        if (strip.id != "MASTER")
            m_sfx.set_volume(strip.speaker, param[1]);
        else
            m_sfx.set_volume(null, param[1]);
        break;
    case "DIST_REF":
        var pparams = m_sfx.get_positional_params(strip.speaker);
        pparams["dist_ref"] = param[1];
        m_sfx.set_positional_params(strip.speaker, pparams);
        break;
    case "ATTENUATION":
        var pparams = m_sfx.get_positional_params(strip.speaker);
        pparams["attenuation"] = param[1];
        m_sfx.set_positional_params(strip.speaker, pparams);
        break;
    case "DIST_MAX":
        var pparams = m_sfx.get_positional_params(strip.speaker);
        pparams["dist_max"] = param[1];
        m_sfx.set_positional_params(strip.speaker, pparams);
        break;

    case "EQ_FREQ":
        var fparams = m_sfx.get_filter_params(strip.speaker);
        fparams["freq"] = param[1];
        m_sfx.set_filter_params(strip.speaker, fparams);
        break;
    case "EQ_Q":
        var fparams = m_sfx.get_filter_params(strip.speaker);
        fparams["Q"] = param[1];
        m_sfx.set_filter_params(strip.speaker, fparams);
        break;
    case "EQ_GAIN":
        var fparams = m_sfx.get_filter_params(strip.speaker);
        fparams["gain"] = param[1];
        m_sfx.set_filter_params(strip.speaker, fparams);
        break;

    case "THRESHOLD":
        var cparams = m_sfx.get_compressor_params();
        cparams["threshold"] = param[1];
        m_sfx.set_compressor_params(cparams);
        break;
    case "KNEE":
        var cparams = m_sfx.get_compressor_params();
        cparams["knee"] = param[1];
        m_sfx.set_compressor_params(cparams);
        break;
    case "RATIO":
        var cparams = m_sfx.get_compressor_params();
        cparams["ratio"] = param[1];
        m_sfx.set_compressor_params(cparams);
        break;
    case "ATTACK":
        var cparams = m_sfx.get_compressor_params();
        cparams["attack"] = param[1];
        m_sfx.set_compressor_params(cparams);
        break;
    case "RELEASE":
        var cparams = m_sfx.get_compressor_params();
        cparams["release"] = param[1];
        m_sfx.set_compressor_params(cparams);
        break;
    default:
        throw "Unknown strip param";
        break;
    }
}