Posted: 04 Jan 2017, 01:10
This is a script to load data from a text file. It is getting erroneous data suddenly, and I can't figure out why. Midi channel always comes up as 21, and low and hi notes as zero. But the trace shows correct data coming from the file.
Here is the data which gets stored in a text file in the HH config folder under INSTRUMENTSDATA:
and here is the script:
and here is what the trace shows:
found data for tag instName: kPianos
found data for tag loadPatch: kontakt
found data for tag loadPresetBank: 0
found data for tag details: Need to work out subpatch loading for Kontakt
found data for tag initPreset: 0
found data for tag audioIn[none/fx/ext/both]: 0
found data for tag pCH[vst/midi/list]: 2
found data for tag midiCHin: 1
found data for tag soloLoNote: 21
found data for tag soloHiNote: 108
found data for tag noteSolo: 0
found data for tag transpose: 0
found data for tag transToCC: 0
found data for tag color: -2.0755231108091E38
found data for tag inputTrim: 0
found data for tag outputTrim: 21.3069114685059
any clues???
Thanks in advance!
-eric
Here is the data which gets stored in a text file in the HH config folder under INSTRUMENTSDATA:
Code: Select all
instName=kPianos
loadPatch=kontakt
initPreset=0
loadPresetBank=0
pCH[vst/midi/list]=0
audioIn[none/fx/ext/both]=0
color=-2.0755231108091E38
inputTrim=0
outputTrim=21.3069114685059
midiCHin=1
transpose=0
transToCC=0
noteSolo=0
soloLoNote=21
soloHiNote=108
details=Need to work out subpatch loading for KontaktCode: Select all
/////////////////////////////////////////////
// READ INST DATA
////////////////////////////////////////////
const folder = 'INSTRUMENTSDATA';
const delimiter = '=';
// parameters declaration
var 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 parameters
procedure init;
var i : integer
begin
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;
// destroy
procedure Destroy;
begin
tags.free;
end;
function getData (tagNum : integer; list : tStringlist) : string
var 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 loadText
var 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 blocfound data for tag instName: kPianos
found data for tag loadPatch: kontakt
found data for tag loadPresetBank: 0
found data for tag details: Need to work out subpatch loading for Kontakt
found data for tag initPreset: 0
found data for tag audioIn[none/fx/ext/both]: 0
found data for tag pCH[vst/midi/list]: 2
found data for tag midiCHin: 1
found data for tag soloLoNote: 21
found data for tag soloHiNote: 108
found data for tag noteSolo: 0
found data for tag transpose: 0
found data for tag transToCC: 0
found data for tag color: -2.0755231108091E38
found data for tag inputTrim: 0
found data for tag outputTrim: 21.3069114685059
any clues???
Thanks in advance!
-eric