Forum Replies Created
-
AuthorPosts
-
I’m back!
OK all worked well until I exported a VST instance and then tried to use it in my DAW. I have several issues to sort but thought I would address this one first.
So I have attached a message that I get on panel launch / boot (as I drop it into the DAW). This relates to one of the many methods that are attached to the uiCombos. Here is the code for that particular method:
lfoModeMessage = function(midiMessage) -- This variable stops index issues during panel bootup if panel:getRestoreState() == true or panel:getProgramState() == true then return end midiCcData = midiMessage:getData():getByte(2) -- Value Byte if midiCcData >= 0x00 and midiCcData <= 0x43 then LFOMode:setModulatorValue((0), false, false, false) elseif midiCcData >= 0x44 and midiCcData <= 0x7F then LFOMode:setModulatorValue((1), false, false, false) end end
Here is an abridged version of the method that precedes it:
midiMessageReceived = function(midiMessage) if panel:getRestoreState() == true or panel:getProgramState() == true then return end midiCcID = midiMessage:getData():getByte(0) -- Controller Byte if midiCcID >= 0xB0 and midiCcID <= 0xBF then -- MIDI Channels midiCcMod = midiMessage:getData():getByte(1) -- Parameter Byte if midiCcMod == 0x08 then dcoOneRangeMessage(midiMessage) elseif midiCcMod == 0x10 then lfoModeMessage(midiMessage) elseif midiCcMod == 0x67 then atLevelMessage(midiMessage) end end end
This is line 14:
midiCcData = midiMessage:getData():getByte(2) -- Value Byte
Thanks.
Attachments:
You must be logged in to view attached files.Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalHi Possemo,
That is a beautifully clear explanation, thank you. I have set the minimum and maximum values on the uiCombo to 0 and 16383 and given it another go and it now works beautifully. I had the minimum and maximum set to 0 and 127.
I guess that the Kiwi-3P does not transmit the lsb part of the message is just an anomaly in the firmware or something.
By the way the Kiwi-3P is the KiwiTechnics upgrade to the Roland JX-3P, basically a complete processor swap out and replacement of some other components. Check it out here and some of Murray’s other upgrades too: https://kiwitechnics.com/jx3pupgrade.htm
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalHey Possemo, that works brilliantly. I tested the >= and <= across all sixteen MIDI channels to be on the safe side and it works perfectly. Many thanks for your invaluable assistance.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalThanks for the info I will try setValueMapped tonight and see what the result is.
Due to my lack of Lua knowledge I am not sure if the way I have formatted the first script is correct. In that I wish for it only to proceed to
midiCcData = midiMessage:getData():getByte(2)
if the result of
midiCcID = midiMessage:getData():getByte(0)
is positive. I have a suspicion that currently the second question is independent of the first.Could you confirm and or advise if this is the case please. Cheers.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalThat seems like a good workaround, I have quite a lot of uiCombos on my panel however. With this in mind I have persevered with Lua scripting with some success.
So I have added the following to my ‘midiMessageReceived’ script which is attached to ‘Called when panels receives a MIDImessage’
midiMessageReceived = function(midiMessage) midiCcID = midiMessage:getData():getByte(0) if midiCcID == 0xB0 or midiCcID == 0xB1 or midiCcID == 0xB2 or midiCcID == 0xB3 or midiCcID == 0xB4 or midiCcID == 0xB5 or midiCcID == 0xB6 or midiCcID == 0xB7 or midiCcID == 0xB8 or midiCcID == 0xB9 or midiCcID == 0xBA or midiCcID == 0xBB or midiCcID == 0xBC or midiCcID == 0xBD or midiCcID == 0xBE or midiCcID == 0xBF then console ("CC Detected") end midiCcMod = midiMessage:getData():getByte(1) if midiCcMod == 0x08 then dcoOneRangeMessage(midiMessage) end end
Then I have a method for each uiCombo that is scripted as per the following.
dcoOneRangeMessage = function(midiMessage) midiCcData = midiMessage:getData():getByte(2) if midiCcData == 0x00 then DCO1Range:setModulatorValue((0), false, false, false) elseif midiCcData == 0x24 then DCO1Range:setModulatorValue((1), false, false, false) elseif midiCcData == 0x54 then DCO1Range:setModulatorValue((2), false, false, false) end end
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalThanks Possemo,
I too have Dyslexia, however as I child my next door neighbour was a teacher and I had one to one tuition which helped a lot. But I still have problems if I am flustered or in a hurry and sometimes I cannot connect the middle of a journey although I can picture both the start and the finish. However on the plus side it means I can often approach problem solving from a different angle.
Well I tried adjusting the uiCombo values to match the synth values but with no avail, so I think the script route is best way forward.
I have a script that recognises incoming CC, but I would like to omit the MIDI channel character from this. I tried using BigInteger and (bi:getBitRangeAsInt(1,1), but didn’t entirely know what I was doing.
midiCcID = midiMessage:getLuaData():getByte(0) if midiCcID == 0xB0 then console("CC Detected") end
I am guessing I need to make a script for each uiCombo and attach it via the “Called to calculate new modulator value from a MIDI value” menu. Would that be correct? As opposed to one long script for all.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalOh dear, the joys of dyscalculia.
My error that should have read:
$00 (0) 16’
$24 (36) 8’
$54 (84) 4’So the synth firmware is fine, it is my firmware that is buggy!
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalThanks Possemo,
Indeed to your first point the synth actually returns:
$54 (84) 16’
$24 (36) 8’
$00 (0) 4’To your second point I attached the script as suggested, however this had no effect.
I will have a further dabble with scripts and see what I can achieve, I’ll report any kind of success.Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalOK, so I found what was causing the issue.
It was a conflict between the Lua data in my old panel and my new panel, because the panels shared the exact same name. Ctrlr creates a preferences folder on the Mac that also shares the panel name, so if you have two panels with the same name but with differing Lua methods it creates a conflict.
So to get around this problem (as I was still using and referring to the old panel) I renamed the new panel.
I hope this helps others avoid the same issue.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalOK I disabled the drop down menus and deleted the methods for them, re-exported but still had the same problem. So it is not the drop down menus loading outside the VST that causes the LUA issues.
Regarding the above post this is the method I have in place:
-- This variable stops index issues during panel bootup if panel:getRestoreState() == true or panel:getProgramState() == true then return end
It does seem to come down to an issue with the instigator / panel prefs. Deleting these, especially the former cures the LUA issue.
Cheers M.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalCheers fella,
I am going to try disabling some LUA drop down menus in my panel. I have noticed when I place my VST into the Reason rack from the side bar these drop downs all launch outside the Reason VST wrapper. Which isn’t right!
This may or may not be causing issues… but at least I should eliminate it.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalHi human fly,
Thanks for the suggestion, I deleted the ctrlr.settings file as suggested, I also cleared out the ctrlr folder, deleted the com.instigator.Ctrlr.plist and by my exported VSTs prefs folder.
This worked and then again it failed.
But from this I have found that it seems to be an interaction between the com.instigator.Ctrlr.plist file and the exported VST prefs folder. Deleting these seems to sort out the problem until the next time I launch the VST.
Not sure where to go from here.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalAaaargh,
It’s gone again, how odd!
So it worked the immediately after I backdated Ctrlr then the next time I saved my panel and exported it… zilch. That doesn’t make much sense.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalThanks Proton,
Thats cured the problem!
It’s ironic as I recently updated due to using a really old version of Ctrlr.Have a great day guys and thanks for your assistance,
M.Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalHi human fly,
Indeed, I will try a simple panel… that said the problem is anything LUA across the board, every single script both large and small.
To your second point, that is exactly what I thought and the fact that it works as a standalone but not a VST points towards an issue with the Ctrlr VST or my implementation of something the Ctrlr VST requires.
I tried my exported VST in Minihost and Defective Records Klee; same result no LUA.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalHi Guys,
In the meantime check out the contents of the ‘Global Tab’ in the current version of the panel (My post dated October 22, 2014 at 12:13 pm).
Looking forward to seeing your panel Possemo.
Cheers.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalHey Atom/Roman,
The effort you put in to your projects is always above and beyond the call of duty!
Seriously, Ctrlr has unlocked so much potential from my equipment I think this is a great opportunity to say A BIG THANK YOU; and I Hope all goes well with all your endeavours.
M.
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalOK the latest version of this panel has been uploaded to the Panels area of Downloads, here: http://ctrlr.org/peavey-spectrum-synth-editor/
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalGlad to hear you got the dump to work.
Are you able to analyse other MIDI outputs from the PC1600v software, it would be interesting to compare these with the MIDI tables Peavey supplied. Particularly the items I may not have got quite right!
Here is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystalHi,
Excellent, I am glad that someone else is finding this panel useful. Indeed I plan to incorporate more features, however work commitments and a recent house move have put the project on the back burner for the time being.
Regarding Edit Buffer Dumps, there is no Sysex in the firmware for this. I contacted Peavey on the off-chance that they might be able to help; and they went to some effort to contact an engineer who worked on the Spectrum Synth. I thought this was above and beyond for a long discontinued model and really appreciate their efforts. This was the engineers reply:
“There is no command for dumping the edit buffer. But there looks to be a workaround.
1. Recall a preset via program change.
2. Use sysex command WriteEditBuf (command #7). Data after the 7 is the preset destination, 0-63. This will obviously overwrite a RAM location, which is the “price” of the workaround.
3. Use sysex command DumpRamProgram (command #1). Data of 0-63 chooses a single preset, so match the number with that used in the previous step. (Data of 127 is a flag for Dump All.)Hope that helps,
JohnJohn Fera
Digital Design Engineer”I have made some small tweaks to the layout and other items that were bothering me and can post the revised file if you would like.
How do you find the ‘Cross-Point Modulation’, it did not work for me and I think my Sysex implementation is at fault?
Cheers,
lfo2vcoHere is some noise I organised into an acceptable format:
https://soundcloud.com/lfo2vco/a-dark-crystal -
AuthorPosts