All pastes #905847 Raw Edit

Something

public text v1 · immutable
·published 2008-02-16 01:49 UTC
rendered paste body
#include "guimodule.h"
#include "it_enum_list.h"

# include <cstdlib>
#include <Windows.h>
#include <stdio.h>

#define PN_GATE 0
#define PN_LORANGE 1
#define PN_HIRANGE 2
#define PN_OUT 3

GuiModule::GuiModule(seGuiCallback seaudioMaster, void *p_resvd1) : SEGUI_base(seaudioMaster, p_resvd1)
{
    int gate = false;
    imChanged = false; // pay attention to pins now
}

void GuiModule::OnGuiPinValueChange(SeGuiPin *p_pin)
{
    if(imChanged) return; // i'm already changing pins; leave me alone

	imChanged = true; // okay, now i'm gonna change stuff, please don't interrupt me. hehe

	SYSTEMTIME st;
    GetSystemTime(&st);

	// first, check any 'parameters' that will affect our formula

    gate    = getPin(PN_GATE)->getValueInt();
    lorange = getPin(PN_LORANGE)->getValueInt();
    hirange = getPin(PN_HIRANGE)->getValueInt();


    if (gate == true ){
        srand((unsigned int)st.wMilliseconds);
        i_out = (int)((hirange - lorange) * rand()/(float)RAND_MAX + lorange);
    }

    getPin(PN_OUT)->setValueInt( i_out );


    imChanged = false; // now we're done, start paying attention to the pins again
}