Forum Replies Created
-
AuthorPosts
-
Another issue..
I have now extracted some devices from JSL and currently I am verifying that they work in Ctrlr.
When I call this method:
function Performance_getPatchStart (patchNum)
— This variable stops index issues during panel bootup
if panel:getRestoreState() == true or panel:getProgramState() == true then
return
endif panel_loaded == 0 then
return
endconsole(“Performance_getPatchStart”)
return (Performance_dxSinglePackedSize * patchNum) + Performance_dxSysexHeaderSizeend
I get the following error popup:
lua runtime error
At line [-1]: [C]
Error message: No such operator defined.
You can recreate this by opening the attached panel -> go to the Voice tab (far down..) -> Load -> Bank -> select a sysex file (probably any will work but you are supposed to load a DX7 bank)
From what I have googled it seems to be some issue with the luabind but I cant understand if it is my code that triggers the issue or not.
I’ve come to the conclusion that it is this line that triggers the issue:
return (Performance_dxSinglePackedSize * patchNum) + Performance_dxSysexHeaderSize
And I can’t see how this cannot be valid Lua.
Any help would be apprciated!
/PascalAttachments:
You must be logged in to view attached files.Hi,
I have now extracted the checksum methodsfrom Java as well so there is no need to expose these functinos to Lua from my point of view.
In the .panel files the local username is exposed in the resource element, resourceSourceFile attribute. Couldn’t you use the %APPDATA% variable in the XML files instead? Or have a Ctrlr specific variable that can be translated by the Ctrlr application to a OS specific path where Ctrlr accesses its resources?
BR
/Pascal1. Great! I’ll try that out then
2. I think especially the z checksum algorithm is more or less standard. I think both Yamaha and Roland use it so exposing at least that one could be a good idea. For the other ones I agree that it is perhaps best to write them directly in Lua but then on the other hand how would I access that Lua function from my sysex formula?
Hi again,
1. Then I must download the dll and store it locally on my machine in the Ctrlr installation dir right? I guess every user of those panels will have to do the same thing?
2. I mean the sysex checksums that most synth manufacturers use. E.g. when sending a patch to the synth Ctrlr needs to calculate a checksum and set it to the second last byte in the data stream. Is there a Lua call in Ctrlr that will provide me the checksum value of a data array as it is in the sysex formula field of a modulator?
BR
/PascalHi,
I think not shipping all panels together with Ctrlr by default is a good feature actually. That keeps the binary footprint down. Couldn’t you exclude all panels except the DEMO ones at build time?
I have two questions regarding my Lua code generation:
1. Is the Lua Bit Operations Module included in your Lua engine?
2. I have some issues finding out how to tell Ctrlr to calculate a checksum from Lua. Is there an API for that?Thanks!
/PascalHi,
I’m not a version control expert but I have heard of something called submodules in git. Perhaps you could have a submodule inside the master git and make it public?
Thanks atom,
One thing that could help all development of panels would be a repository, e.g. the Panels folder in the git root, where anyone could store their “work in progress” panels.
I have seen some cases in this forum where a panel has been started by someone and then abandoned. As the panel was never released no one can continue where the previous person left off.
Also that would be a great place to see all panels. I think there are quite some panels laying around “out there”. But these are hard to find as long as they are not published on the downloads page here.
BR
/Pascal -
AuthorPosts