Statistics: Posted by woodslanding — 04 Jan 2017, 19:29
CODE:
instName=kPianosloadPatch=kontaktinitPreset=0loadPresetBank=0pCH[vst/midi/list]=0audioIn[none/fx/ext/both]=0color=-2.0755231108091E38inputTrim=0outputTrim=21.3069114685059midiCHin=1transpose=0transToCC=0noteSolo=0soloLoNote=21soloHiNote=108details=Need to work out subpatch loading for KontaktCODE:
/////////////////////////////////////////////// READ INST DATA ////////////////////////////////////////////const folder = 'INSTRUMENTSDATA';const delimiter = '=';// parameters declarationvar instNameOUT,patchOUT,presetOUT,pgCHtypeOUT, audioConfigOUT,colorOUT,nsSoloOUT,lowNoteOUT,hiNoteOUT, inputTrimOUT,outputTrimOUT,midiChOUT,transposeOUT,transCCOUT, detailsOUT,loadBankOUT,filenameIN : Tparameter; var instName, patch, preset, bank, pgCHtype, audioConfig, color, inputTrim, outputTrim, transpose, transCC, midiCh, noteSrcSolo, lowNote, HiNote, details : integer; var st,tags : TStringList; var filename : string;var dataSent : boolean; // initialisation : create parametersprocedure init;var i : integerbegin SetModuleColor($808080+999999); tags.create; tags.add('instName'); instName := 0; tags.add('loadPatch'); patch := 1; tags.add('loadPresetBank'); bank := 2; tags.add('initPreset'); preset := 3; tags.add('pCH[vst/midi/list]'); pgCHtype := 4; tags.add('audioIn[none/fx/ext/both]'); audioConfig := 5; tags.add('color'); color := 6; tags.add('inputTrim'); inputTrim := 7; tags.add('outputTrim'); outputTrim := 8; tags.add('midiCHin'); midiCh := 9; tags.add('transpose'); transpose := 10; tags.add('transToCC'); transCC := 11; tags.add('noteSolo'); noteSrcSolo := 12; tags.add('soloLoNote'); lowNote := 13; tags.add('soloHiNote'); HiNote := 14; tags.add('details'); details := 15; filenameIN := CreateParam('file name',ptTextfield); SetIsOUTput(filenameIN,false); instNameOUT := CreateParam(tags.getStrings(instName),ptTextField); SetIsinput(instNameOUT,false); patchOUT := CreateParam(tags.getStrings(patch),ptTextField); SetIsinput(patchOUT,false); loadBankOUT := CreateParam(tags.getStrings(bank),ptTextfield); SetIsInput(loadBankOUT,false); presetOUT := CreateParam(tags.getStrings(preset),ptDatafield); SetIsinput(presetOUT,false); pgCHtypeOUT := CreateParam(tags.getStrings(pgCHtype),ptDataField); SetIsinput(pgCHtypeOUT,false); audioConfigOUT := CreateParam(tags.getStrings(audioConfig),ptDataField); SetIsinput(audioConfigOUT,false); colorOUT := CreateParam(tags.getStrings(color),ptDatafield); SetIsinput(colorOUT,false); nsSoloOUT := CreateParam(tags.getStrings(noteSrcSolo),ptDatafield); SetIsinput(nsSoloOUT,false); lowNoteOUT := CreateParam(tags.getStrings(lowNote),ptDataField); SetIsinput(lowNoteOUT,false); hiNoteOUT := CreateParam(tags.getStrings(hiNote),ptDataField); SetIsinput(hiNoteOUT,false); inputTrimOUT := CreateParam(tags.getStrings(inputTrim),ptDataField); SetIsinput(inputTrimOUT,false); outputTrimOUT := CreateParam(tags.getStrings(outputTrim),ptDataField); SetIsinput(outputTrimOUT,false); midiChOUT := CreateParam(tags.getStrings(midiCh),ptDataField); SetIsinput(midiChOUT,false); transposeOUT := CreateParam(tags.getStrings(transpose),ptDataField); SetIsinput(transposeOUT,false); transCCOUT := CreateParam(tags.getStrings(transCC),ptDataField); SetIsinput(transccOUT,false); detailsOUT := CreateParam(tags.getStrings(details),ptTextField); SetIsinput(detailsOUT,false); strace('**************************load inst file**********************************'); end;// destroyprocedure Destroy;begin tags.free;end; function getData (tagNum : integer; list : tStringlist) : stringvar tag,data : string;var taglength,i : integer;var line : string;begin for i := 0 to st.count do begin tag := tags.getStrings(tagNum); line := list.getStrings(i); if (pos(tag,line) = 1) then begin data := copy(line,length(tag) + 2,length(line) - length(tag)); strace('found data for tag ' +tag + ': ' + data); result := trim(data); break; end end end; procedure loadTextvar data : string;begin st.create; st.clear; filename := getApplicationPath() + 'config' + folder + '' + GetStringValue(filenameIN) + '.txt'; st.loadfromFile(filename); //strings SetStringValue(instNameOUT,getData(instName,st)); SetStringValue(patchOUT,getData(patch,st)); SetStringValue(loadBankOUT,getData(bank,st)); SetStringValue(detailsOUT,getData(details,st)); //integers SetValue(presetOUT,strToInt(getData(preset,st))); SetValue(audioConfigOUT,strToInt(getData(audioConfig,st))); SetValue(pgCHtypeOUT,strToInt(getData(pgCHtype,st))); SetValue(midiChOUT,strToInt(getData(midiCh,st))); SetValue(lowNote,strToInt(getData(lowNote,st))); SetValue(hiNote,strToInt(getData(hiNote,st))); SetValue(nsSoloOUT,strToInt(getData(noteSrcSolo,st))); SetValue(transposeOUT,strToInt(getData(transpose,st))); SetValue(transCCOUT,strToInt(getData(transCC,st))); //floats SetValue(colorOUT,strToFloat(getData(color,st))); SetValue(inputTrimOUT,strToFloat(getData(inputTrim,st))); SetValue(outputTrimOUT,strToFloat(getData(outputTrim,st))); dataSent := true; st.free; end; procedure Callback(n:integer);var res : string;var i : integer; begin // if (n = loadBankOUT) and (getValue(loadBankOUT) = 1) then begin strace('loading text'); loadText; // end;end;// no process blocStatistics: Posted by woodslanding — 04 Jan 2017, 01:10
Statistics: Posted by woodslanding — 04 Jan 2017, 19:29
CODE:
instName=kPianosloadPatch=kontaktinitPreset=0loadPresetBank=0pCH[vst/midi/list]=0audioIn[none/fx/ext/both]=0color=-2.0755231108091E38inputTrim=0outputTrim=21.3069114685059midiCHin=1transpose=0transToCC=0noteSolo=0soloLoNote=21soloHiNote=108details=Need to work out subpatch loading for KontaktCODE:
/////////////////////////////////////////////// READ INST DATA ////////////////////////////////////////////const folder = 'INSTRUMENTSDATA';const delimiter = '=';// parameters declarationvar instNameOUT,patchOUT,presetOUT,pgCHtypeOUT, audioConfigOUT,colorOUT,nsSoloOUT,lowNoteOUT,hiNoteOUT, inputTrimOUT,outputTrimOUT,midiChOUT,transposeOUT,transCCOUT, detailsOUT,loadBankOUT,filenameIN : Tparameter; var instName, patch, preset, bank, pgCHtype, audioConfig, color, inputTrim, outputTrim, transpose, transCC, midiCh, noteSrcSolo, lowNote, HiNote, details : integer; var st,tags : TStringList; var filename : string;var dataSent : boolean; // initialisation : create parametersprocedure init;var i : integerbegin SetModuleColor($808080+999999); tags.create; tags.add('instName'); instName := 0; tags.add('loadPatch'); patch := 1; tags.add('loadPresetBank'); bank := 2; tags.add('initPreset'); preset := 3; tags.add('pCH[vst/midi/list]'); pgCHtype := 4; tags.add('audioIn[none/fx/ext/both]'); audioConfig := 5; tags.add('color'); color := 6; tags.add('inputTrim'); inputTrim := 7; tags.add('outputTrim'); outputTrim := 8; tags.add('midiCHin'); midiCh := 9; tags.add('transpose'); transpose := 10; tags.add('transToCC'); transCC := 11; tags.add('noteSolo'); noteSrcSolo := 12; tags.add('soloLoNote'); lowNote := 13; tags.add('soloHiNote'); HiNote := 14; tags.add('details'); details := 15; filenameIN := CreateParam('file name',ptTextfield); SetIsOUTput(filenameIN,false); instNameOUT := CreateParam(tags.getStrings(instName),ptTextField); SetIsinput(instNameOUT,false); patchOUT := CreateParam(tags.getStrings(patch),ptTextField); SetIsinput(patchOUT,false); loadBankOUT := CreateParam(tags.getStrings(bank),ptTextfield); SetIsInput(loadBankOUT,false); presetOUT := CreateParam(tags.getStrings(preset),ptDatafield); SetIsinput(presetOUT,false); pgCHtypeOUT := CreateParam(tags.getStrings(pgCHtype),ptDataField); SetIsinput(pgCHtypeOUT,false); audioConfigOUT := CreateParam(tags.getStrings(audioConfig),ptDataField); SetIsinput(audioConfigOUT,false); colorOUT := CreateParam(tags.getStrings(color),ptDatafield); SetIsinput(colorOUT,false); nsSoloOUT := CreateParam(tags.getStrings(noteSrcSolo),ptDatafield); SetIsinput(nsSoloOUT,false); lowNoteOUT := CreateParam(tags.getStrings(lowNote),ptDataField); SetIsinput(lowNoteOUT,false); hiNoteOUT := CreateParam(tags.getStrings(hiNote),ptDataField); SetIsinput(hiNoteOUT,false); inputTrimOUT := CreateParam(tags.getStrings(inputTrim),ptDataField); SetIsinput(inputTrimOUT,false); outputTrimOUT := CreateParam(tags.getStrings(outputTrim),ptDataField); SetIsinput(outputTrimOUT,false); midiChOUT := CreateParam(tags.getStrings(midiCh),ptDataField); SetIsinput(midiChOUT,false); transposeOUT := CreateParam(tags.getStrings(transpose),ptDataField); SetIsinput(transposeOUT,false); transCCOUT := CreateParam(tags.getStrings(transCC),ptDataField); SetIsinput(transccOUT,false); detailsOUT := CreateParam(tags.getStrings(details),ptTextField); SetIsinput(detailsOUT,false); strace('**************************load inst file**********************************'); end;// destroyprocedure Destroy;begin tags.free;end; function getData (tagNum : integer; list : tStringlist) : stringvar tag,data : string;var taglength,i : integer;var line : string;begin for i := 0 to st.count do begin tag := tags.getStrings(tagNum); line := list.getStrings(i); if (pos(tag,line) = 1) then begin data := copy(line,length(tag) + 2,length(line) - length(tag)); strace('found data for tag ' +tag + ': ' + data); result := trim(data); break; end end end; procedure loadTextvar data : string;begin st.create; st.clear; filename := getApplicationPath() + 'config' + folder + '' + GetStringValue(filenameIN) + '.txt'; st.loadfromFile(filename); //strings SetStringValue(instNameOUT,getData(instName,st)); SetStringValue(patchOUT,getData(patch,st)); SetStringValue(loadBankOUT,getData(bank,st)); SetStringValue(detailsOUT,getData(details,st)); //integers SetValue(presetOUT,strToInt(getData(preset,st))); SetValue(audioConfigOUT,strToInt(getData(audioConfig,st))); SetValue(pgCHtypeOUT,strToInt(getData(pgCHtype,st))); SetValue(midiChOUT,strToInt(getData(midiCh,st))); SetValue(lowNote,strToInt(getData(lowNote,st))); SetValue(hiNote,strToInt(getData(hiNote,st))); SetValue(nsSoloOUT,strToInt(getData(noteSrcSolo,st))); SetValue(transposeOUT,strToInt(getData(transpose,st))); SetValue(transCCOUT,strToInt(getData(transCC,st))); //floats SetValue(colorOUT,strToFloat(getData(color,st))); SetValue(inputTrimOUT,strToFloat(getData(inputTrim,st))); SetValue(outputTrimOUT,strToFloat(getData(outputTrim,st))); dataSent := true; st.free; end; procedure Callback(n:integer);var res : string;var i : integer; begin // if (n = loadBankOUT) and (getValue(loadBankOUT) = 1) then begin strace('loading text'); loadText; // end;end;// no process blocStatistics: Posted by woodslanding — 04 Jan 2017, 01:10