Forum Replies Created
-
AuthorPosts
-
Thanks dasfaker, but getPropertyInt not working.
Besides SaveStateData method is disabled when panel is loading.
I’ve tried to use string to store but with the same error.SaveStateData = function(stateData) stateData:setProperty("KIPRenc64", "StringToStore", nil) end
I’ve tried what(stateData) in console and it gives me :
>>> what(stateData) Object type [nil] ----------------------------------------------------------------- Members: Attributes: -----------------------------------------------------------------
- This reply was modified 8 years, 5 months ago by daimondamps.
Hi,
maybe you can help me with this?
I’m trying to save state data with a example script(called when DAW save state):KIPRString="" SaveStateData = function(stateData) stateData:setProperty("KIPRenc64", 1234, nil) end
Script for loading data:
function LoadStateData(stateData) KIPRString=stateData:getProperty("KIPRenc64") end
And it is working.
But when I close and reopen the panel I have following error (and the method is disabled):
What: C
Namewhat: method
Name: setProperty
Error message: No matching overload found, candidates:
void setProperty(CtrlrLuaObject&,Identifier const&,var const&,bool)
At line [-1]: [C]Ctrlr debug log Log started: 21 Nov 2015 9:15:23pm [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_base [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_table [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_string [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_math [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_io [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_debug [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_package [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_os [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_bit [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luaopen_usb [INFO ][21:15:23:000193]: CtrlrLuaManager::createLuaState luabind open [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaState luabind bind_class_info [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaStateAudio luaopen_base [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaStateAudio luaopen_table [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaStateAudio luaopen_string [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaStateAudio luaopen_math [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaStateAudio luaopen_debug [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaStateAudio luaopen_package [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaStateAudio luaopen_bit [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaStateAudio luabind open luaStateAudio [INFO ][21:15:23:000194]: CtrlrLuaManager::createLuaStateAudio luabind bind_class_info luaStateAudio [INFO ][21:15:23:000203]: CtrlrLuaManager::ctor create debugger [INFO ][21:15:23:000447]: CtrlrLuaMethodManager::call Loader [INFO ][21:15:23:000451]: CtrlrLuaMethodManager::call LoadStateData [INFO ][21:15:23:000452]: CtrlrLuaMethodManager::call SaveStateData [LUA ERR ][21:15:25:000055]: Callback error: [SaveStateData] At line [-1]: [C] What: C Namewhat: method Name: setProperty Error message: No matching overload found, candidates: void setProperty(CtrlrLuaObject&,Identifier const&,var const&,bool) At line [-1]: [C] What: C Namewhat: method Name: setProperty Error message: No matching overload found, candidates: void setProperty(CtrlrLuaObject&,Identifier const&,var const&,bool). Method disabled [INFO ][21:15:25:000055]: CtrlrLuaMethodManager::call ExportKIPRfile [WARN ][21:15:27:000208]: CtrlrPanelMIDIInputThread::run stopping [WARN ][21:15:27:000707]: CtrlrPanelMIDIInputThread::run stopping
Any idea whats wrong?
- This reply was modified 8 years, 5 months ago by daimondamps.
- This reply was modified 8 years, 5 months ago by daimondamps.
Maybe you could use something like this script on loading panel with some timer
initialize = function() a=panel:getProperty("panelMidiControllerDevice") panel:setPropertyString("panelMidiControllerDevice","-- None") panel:setPropertyString("panelMidiControllerDevice",a) console(a) end
Check out this thread:
http://ctrlr.org/forums/topic/what-do-you-need-to-know-in-order-to-make-panels/#post-34128- This reply was modified 8 years, 6 months ago by daimondamps.
Check this thread – maybe this will help you with double called script:
Thank you both.
I found this thread http://ctrlr.org/forums/topic/statedata/
There also is some info about ValueTree.This may be the problem :
Problems recalling plugin state versus current presetHolly S***”!!. That could explain this
I always had this problem with Vst versions of my panels, once I reopened the Daw project many parameters didn’t have their correct values (the values they had when I saved the project), instead they had the previous value before saving.
As I never found the reason, I ended storing modulator values as user data when the project was saved, that was later assigned on project loading.
I think this has something to do when the DAW want to save Patch and Bank.
When I’m saving only bank or patch in vst the script is called once.But when I’m saving DAW session it is called twice.
I only want to save custom data to recall it when the DAW open the project.
About 2.Maybe this is problem with my PC or MIDI interface driver.
Hard to tell..:/
Good that i found that reseting the MIDI Controler device in CTRLR is working for me.- This reply was modified 8 years, 6 months ago by daimondamps.
- This reply was modified 8 years, 6 months ago by daimondamps.
Sometimes it’s possible that the HOST will re-send the value you are setting again, so you get two parameter changes, one triggered from the host and one by you. I’m working on a mechanism that will show you in Lua where the change came from. But i’m not sure if it will help a lot, i will look into that double/message problem anyway.
Ok – now i have small progress:
1. DAW when saving session make the ctrl double call luaPanelSaveState
this was my DAW problem – i opened vst in another one and the scipt is callen once like it should
This may be the problem :
Problems recalling plugin state versus current preset
I found workaround with simple timer to check minimal time between saves.DawSaveRequest= function(--[[ ValueTree --]]stateData) -- Makee sure that message is not doubled if lastSaveTime == nil then GetLastRigFileName() console('DAW saves data') else lapse = (Time.getMillisecondCounterHiRes() - lastSaveTime)/1000 if lapse>0.1 then --console(String(lapse)) console('DAW saves data') GetLastRigFileName() end end lastSaveTime=Time.getMillisecondCounterHiRes() end
Now I have second problem:
2. My simple midiMessageRecived script is called twice but in midi monitor i have only one incoming message.
What i found is when i change panelMidiCtrlrDevice to none and then back to my Midi Device – the midiMessageRecived is called once per incoming message.
Temporary workaround is to run script after panel is loaded:
initialize = function() a=panel:getProperty("panelMidiControllerDevice") panel:setPropertyString("panelMidiControllerDevice","-- None") panel:setPropertyString("panelMidiControllerDevice",a) console(a) end
- This reply was modified 8 years, 6 months ago by daimondamps.
- This reply was modified 8 years, 6 months ago by daimondamps.
I’ll check it out, i haven’t done any MIDI dumps recently with Ctrlr, it’s all been dry coding. I’ll sit down to it and see if i haven’t added a call that might be triggering the method more then once.
I have the same problem with the VST instance:/(double sysex are send via script – the same panel ).
Can you help?Cheers
DamianEDIT:
I found that CTRLR trigger LUA script twice – no matter what is in the script.
I’ve attached my simple panel with only one script sending console output when DAW saves a project.
In standalone mode script is called once – when i click Save CTRLR State.
In DAW when i save the project script is called twice.Here is a log from VST :
********************************************************** Ctrlr debug log Log started: 8 Oct 2015 10:35:46am [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_base [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_table [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_string [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_math [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_io [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_debug [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_package [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_os [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_bit [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_usb [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luabind open [INFO ][10:35:46:000328]: CtrlrLuaManager::ctor luabind bind_class_info [INFO ][10:35:46:000333]: CtrlrLuaManager::ctor create debugger [INFO ][10:36:06:000309]: CtrlrLuaMethodManager::call getlist [LUA ][10:36:06:000309]: Rig tempo processing [INFO ][10:36:06:000316]: CtrlrLuaMethodManager::call getlist [LUA ][10:36:06:000316]: Rig tempo processing [WARN ][10:36:33:000338]: CtrlrPanelMIDIInputThread::run stopping [WARN ][10:36:33:000838]: CtrlrPanelMIDIInputThread::run stopping
- This reply was modified 8 years, 6 months ago by daimondamps.
- This reply was modified 8 years, 6 months ago by daimondamps.
Attachments:
You must be logged in to view attached files.Hi, is there example somewhere how to do such dump to value tree and recall it back? I wan to create a Panel without modulators only to save current state of the device into DAW project.
- This reply was modified 8 years, 7 months ago by daimondamps.
Thank you Atom:)
No – I am monitoring only with midi OX and the sysex messages sended back are correct(recived one time only).
But when I’m using Ctrlr(standalone – direct midi connection to device and without midi ox ) the Midi Message Received script is called twice per one sysex message, and I’m receiving twice the same message.- This reply was modified 8 years, 11 months ago by daimondamps.
Thank you Atom that you’ve implemented usblib in latest build:)
I will try to use it now.
If you have some time can I ask you for help in this thread? :
I’m getting doubled sysex messages on input but from midi ox everything looks fine.Bump!
I have builded ctrlr from source to have debug version. I really want to track this issue down.
Can anyone help me?
I’t seems that panel recives doubled onMidiMessage event with the same midi syysex message.- This reply was modified 8 years, 11 months ago by daimondamps.
Thi is MIDI OX dump with the same two sysex commands(see mini input)
This is strange – it seems that ctrlr is ommiting sysex message at end.
00006A01 1 2 FE -- -- -- --- Active Sensing 00006B31 1 2 FE -- -- -- --- Active Sensing 00006C71 1 2 FE -- -- -- --- Active Sensing 00006DA1 1 2 FE -- -- -- --- Active Sensing 00006ED9 1 2 FE -- -- -- --- Active Sensing 00007009 1 2 FE -- -- -- --- Active Sensing 000070C9 MOX 2 F0 Buffer: 12 Bytes System Exclusive SYSX: F0 00 20 33 02 7F 7E 00 07 03 0B F7 00007135 1 2 FE -- -- -- --- Active Sensing 00007142 MOX 2 F0 Buffer: 11 Bytes System Exclusive SYSX: F0 00 20 33 02 7F 7E 00 05 03 F7 00007161 1 2 F0 Buffer: 14 Bytes System Exclusive SYSX: F0 00 20 33 02 7F 7E 00 03 03 00 03 18 F7 00007211 1 2 F0 Buffer: 523 Bytes System Exclusive SYSX: F0 00 20 33 02 7F 7E 00 04 03 58 32 4A 73 59 57 35 72 SYSX: 49 43 30 67 4D 6A 41 78 4E 43 30 78 4D 43 30 78 4E 43 SYSX: 41 78 4D 79 30 77 4E 69 30 79 4F 53 35 72 61 58 42 79 SYSX: 43 56 39 69 62 47 46 75 61 77 70 55 63 6D 56 74 62 32 SYSX: 78 76 49 46 4E 73 59 58 41 67 4C 53 41 79 4D 44 45 30 SYSX: 4C 54 45 77 4C 54 45 30 49 44 45 7A 4C 54 45 34 4C 54 SYSX: 51 32 4C 6D 74 70 63 48 49 4A 56 48 4A 6C 62 57 39 73 SYSX: 62 79 42 54 62 47 46 77 43 6C 52 6F 5A 53 41 34 4D 48 SYSX: 4D 67 59 32 46 73 62 47 56 6B 4C 53 30 74 49 43 30 67 SYSX: 4D 6A 41 78 4E 43 30 78 4D 43 30 78 4E 43 41 78 4D 79 SYSX: 30 78 4D 79 30 30 4E 53 35 72 61 58 42 79 43 56 52 6F SYSX: 5A 53 41 34 4D 48 4D 67 59 32 46 73 62 47 56 6B 4C 69 SYSX: 34 75 43 6C 4E 70 62 6D 64 73 5A 53 42 4F 62 33 52 6C SYSX: 49 45 5A 31 62 6D 73 67 4C 53 41 79 4D 44 45 30 4C 54 SYSX: 45 77 4C 54 45 30 49 44 45 79 4C 54 55 34 4C 54 55 77 SYSX: 4C 6D 74 70 63 48 49 4A 55 32 6C 75 5A 32 78 6C 49 45 SYSX: 35 76 64 47 55 67 52 6E 56 75 61 77 70 4E 62 32 35 6B SYSX: 62 32 31 76 52 43 41 74 49 44 49 77 4D 54 51 74 4D 54 SYSX: 41 74 4D 54 51 67 4D 54 4D 74 4D 54 4D 74 4D 44 67 75 SYSX: 61 32 6C 77 63 67 6C 4E 62 32 35 6B 62 32 31 76 52 41 SYSX: 70 45 61 58 4A 30 65 53 42 53 62 33 52 76 63 69 41 74 SYSX: 49 44 49 77 4D 54 51 74 4D 54 41 74 4D 54 51 67 4D 54 SYSX: 4D 74 4D 44 51 74 4D 6A 59 75 61 32 6C 77 63 67 6C 45 SYSX: 61 58 4A 30 65 53 42 53 62 33 52 76 63 67 70 43 61 57 SYSX: 64 6E 5A 58 49 67 4C 53 41 79 4D 44 45 30 4C 54 45 77 SYSX: 4C 54 45 30 49 44 45 7A 4C 54 45 32 4C 54 4D 34 4C 6D SYSX: 74 70 63 48 49 4A 51 6D 6C 6E 5A 32 56 79 43 6B 46 74 SYSX: 59 6D 6C 6C 62 6E 51 67 56 32 46 7A 61 43 41 74 49 44 SYSX: 49 77 4D 54 51 74 4D 54 41 74 4D 54 51 67 4D 54 4D 74 SYSX: F7 0000721D 1 2 F0 Buffer: 43 Bytes System Exclusive SYSX: F0 00 20 33 02 7F 7E 00 04 03 4D 54 59 74 4D 54 51 75 SYSX: 61 32 6C 77 63 67 6C 42 62 57 4A 70 5A 57 35 30 49 46 SYSX: 64 68 63 32 67 4B F7 00007221 1 2 F0 Buffer: 13 Bytes System Exclusive SYSX: F0 00 20 33 02 7F 7E 00 06 03 28 37 F7 0000726D 1 2 FE -- -- -- --- Active Sensing 000072F1 1 2 F0 Buffer: 12 Bytes System Exclusive SYSX: F0 00 20 33 02 7F 7E 00 7D 03 01 F7 00007395 1 2 FE -- -- -- --- Active Sensing 000074BD 1 2 FE -- -- -- --- Active Sensing 000075E1 1 2 FE -- -- -- --- Active Sensing 00007725 1 2 FE -- -- -- --- Active Sensing 0000785D 1 2 FE -- -- -- --- Active Sensing 00007989 1 2 FE -- -- -- --- Active Sensing 00007AAD 1 2 FE -- -- -- --- Active Sensing
- This reply was modified 8 years, 11 months ago by daimondamps.
- This reply was modified 8 years, 11 months ago by daimondamps.
Komunikacja powinna być trywialna – oto przykład :
14 f0 00 20 14 33 02 7f 14 7e 00 01 14 00 01 53
14 53 50 2d 14 4c 41 4e 14 45 59 20 14 54 49 20
14 30 32 20 14 2d 20 32 14 30 31 34 14 2d 31 31
14 2d 32 32 14 20 31 33 14 2d 33 31 14 2d 33 36
14 2e 6b 69 14 70 72 00 15 f7 00 00 14 f0 00 20
14 33 02 7f 14 7e 00 05 16 00 f7 00Jak widać to sysexy poprzedzielane co 3 bajty bajtem 0x14 – stosunkowo łatwo
będzie zrobić parser do tego:).(A sprzęt to Kemper – ten sam producent co Acces Virus)
Byłbym wielce zobowiązany gdyby udało dodać się ten support USB:)
Dzięki jeszcze raz i pozdrawiam.- This reply was modified 9 years ago by daimondamps.
super:) Wygląda na to że biblioteka działa na wymienionych przez Ciebie systemach (windows , osx i linux). Nie wymaga instalacji dodatkowych sterowników.
źródło jest tutaj : https://github.com/lipp/lualibusb
Wcześniejsza wersja jest tutaj http://luaforge.net/frs/download.php/4252/lualibusb-0.4.tar.gzOpis kompilacji z lua jest na wiki: http://wiki.pinguino.cc/index.php/Interfacing_with_Lua
Zdaje się że to wymaga również libusb
http://www.libusb.org/Super jakby się to udało – Szkoda ze ze mnie marny programista – pewnie sam bym to zrobił nie zawracając głowy.
Zapytam tylko jeszcze jak głęboko i w jakie środowisko (Juce,lua) musiał bym się wgryźć aby przekierować komunikację z portu USB tak aby CTrlr widział go jako port midi?(jak już wspomniałem urządzenie wysyła dane po usb w formacie midi). Może spróbował bym wtedy skompilować własną wersję ctrl’a tylko pod to urządzenie.
- This reply was modified 9 years ago by daimondamps.
- This reply was modified 9 years ago by daimondamps.
- This reply was modified 9 years ago by daimondamps.
I can only integrate new lua features if they are cross platform (linux/windows/osx) and if i can preferably ship the source code to them in the project and not ask Ctrlr users to install some 3rd party packages.
If those requirements can be met i’m willing to add it to Ctrlr.
A jak by tak po polskiemu 😀 – po prostu czy mógłbym skompilować ctrlr z tymi źródłami LUAUSB aby z poziomu lua to działało ? nie jestem zbyt biegły w programowaniu – choć podstawowe rzeczy potrafię. Staram sie osiągnąć komunikację z tym urządzeniem na USB bo midi jest zbyt wolne i zapycha procesor urządzenia. świetną robotę zrobiłeś z tym softem:) dzięki 🙂
- This reply was modified 9 years ago by daimondamps.
- This reply was modified 9 years ago by daimondamps.
…
- This reply was modified 9 years ago by daimondamps.
Sorry – i mean just that device is as MEDIA device in control panel . But it isn’t midi device.
I have monitored communication with this device and it uses standard midi sysex codes with their own software. I just want to “talk” with this device with some low level usb api to achieve midi communication. -
AuthorPosts