Forum Replies Created
-
AuthorPosts
-
comp:getOwner():getName()?
With this you get the name of the owner
with comp: you can only get component properties of a modulator – it is the same as panel:getComponent… If someone else knows how to get modulator properties I would be interested too.
comp:getOwner()
This is a memory leak, you could be creating table duplicates, who knows. You have to find out where the memory is going.
Are you using memoryBlocks? Check if you’re creating memoryBlocks and not deleting them.
At some point after 5.3.201 Atom started to remove stuff (maybe to rework it later in some other way) and it’s now half-finished.
It now seems that Ctrlr development is almost dead, last Atom’s code is from July. We would need a C++ developer to accomplish what you say.
But what I now ask myself: Is it possible to export the content of a label to the host? Just like exporting the status of a slider f.e.? Then I could use my Host to switch between different labels.
No, the uiLabel doesn’t have modulatorValue, the only property that is sent to the host.
In this post Atom says what LUA classes are bound to LUA (so they work in Ctrlr). He says that you need a pair of files (.h/.cpp) in order to bound a class. The link provided is from an old Ctrlr version, so we can compare between what was there years ago and what we have today:
Old Ctrlr: https://sourceforge.net/p/ctrlrv4/code/1511/tree/nightly/Source/Lua/JuceClasses/
Actual Ctrlr: https://github.com/RomanKubiak/ctrlr/tree/master/Source/Lua/JuceClasses
In the old Ctrlr there is “LImage.cpp” file that is not present now.
You can try in Ctrlr 5.3.201, in the console, the following:
img = Image() what(img)
and you get this:
Object type [Image] ----------------------------------------------------------------- Members: moveImageSection: function multiplyAllAlphas: function isRGB: function hasAlphaChannel: function isNull: function setPixelAt: function getWidth: function duplicateIfShared: function isValid: function isARGB: function isSingleChannel: function getPixelAt: function getHeight: function rescaled: function __init: function multiplyAlphaAt: function getReferenceCount: function desaturate: function
The one you are looking for seems to be class ImageFileFormat(), but I haven’t been able to make it work.
While I’m not a programmer, it’s very useful to have functions independent of methods, so you can call them at any time form anywhere.
Remember that you can use local variables to avoid problems with their names
filter = panel:getModualtorByName(“Filter) — global variable
local filter = panel:getModualtorByName(“Filter) — local variablenkovak: No problem, let me know how it works now.
human fly: Yes, the XP30 panel was done years ago and surely it will not work with modern Ctrlr versions.
I’ve uploaded a new version that could fix several of the issues related to envelopes and names not updating correctly.
3. Here the envelopes gets updated no matter how many times I randomize the patch.
5. So if you switch tab and go back, the name is updated. This is a clue that your system needs more time to update the panel.
6. Yes, the browser is the lib tab. If it’s quicker for you changing sounds on the synth, do it. I don’t know what functions do you expect from the lib.
7. It’s not possible to change performances from the editor, this function is not implemented. But you can change them on the synth and request the data form the editor.
8. Vol and Pan from the left tab correspond to Part Vol and Part Pan in Performance mode. Common Vol and Common Pan are totally different parameters.
If you are in Single mode, as there is no Part section, Vol and Pan from the left tab corresponds to Common Vol and Common Pan.I’ll send you a pm.
Hi nkovac, thanks for your input, much appreciated.
First I have to say that I haven’t tested the editor with a JV2080, just with a XP30.
1. After looking at the JV2080 manual, it seems that it can’t receive or transmit identity request messages, and this is the message used to know if the synth is online or offline. I’ll add this info in the manual.
2. There can be several configurations, it depends on your setup, if you’re using multi client midi drivers with your MIDI interface, if you’re using or not a DAW, the use of virtual midi ports… The config explained in the manual is the config I’ve tested (so I can help if it doesn’t work for you) and the one that give maximum control over the synth with no multi client MIDI drivers. Anyway, feel free to experiment with other configs.
3. Can’t reproduce this issue. When I press rand, the patch is randomized both on the synth and in the editor. After pressing rand several times, depending on the % amount and specially if you didn’t locked certain parameters, you could get no sound (due to key and velocity small ranges, low volumes, envelopes…).
4. I can’t reproduce this also. The patch name changes on both the synth and the editor. When I press get, the editor receives the patch (that is the same it was already in the editor).
5. This don’t happen here. It’s just that names don’t update, other parameters are correct? The sound is the correct?
6. Yes, the only way to load sounds is thru the browser, but this will not change.
7. The browser is just for patches and rhythms, and this also will not change. There are other free librarians that deal with this much better.
The main goal of the editor is to be able to use the synth in a DAW just like any other vst instrument, with total recall of parameters for each project. The browser is just a little add on for browsing patches and rhythms.8. I’ve checked all pan sliders and all are working.
Several of the problems could point to performance problems. Are you using a fast or slow computer? Many panel functions are sequences of actions driven with timers, and it could be that on some computers the interval used is not enough. I would need more reports to have a better idea.
There’s no Ctrlr documentation. All we have is the JUCE API, the forum and the panels created.
About timers: https://docs.juce.com/master/classTimer.html#a8adc40ca0fb4170737ba12e30481b9d8
About setModulatorValue: https://github.com/RomanKubiak/ctrlr/blob/master/Source/Lua/CtrlrLuaModulator.cppYou have to dig the forum, it’s full of answers.
For instance?
Ctrlr is Juce based and use the same API: http://rawmaterialsoftware.com/juce/api/classes.html
But not all functions are includedAlso, you can type what(object) to see all the available object properties.
Also look here: https://github.com/RomanKubiak/ctrlr
Let’s see if I understand: Both Octave knob and Wave knob output 4 messages and receive 3 messages?
And Octave knob work bidirectionally but Wave knob don’t?I don’t understand what the problem is: How many message do you expect on input, 3 or 4? The MIDI monitor only receives 3 messages, is the hardware sending 3 messages or 4? The slider will not react if it’s expecting 4 messages and only 3 are received.
After looking at the panel, the FixedImageSlider have “multi” as midi message type, with 4 CC messages. What message send your controller pot to control this slider?
I’ve never tested this, but 4 individual messages will be treated by Ctrlr as independent one of another, and to control a panel slider only one message is needed, it can’t be controlled by a group of different CC messages.
You’ll need to use one single CC message for input, to control the pot, and create a LUA method to output the group of messages needed.
Could be many things, can you share a panel with just the ImageSlider?
Are you assigning the correspondent image file to the FixedImageSlider? The difference between both is that the second one needs a image resource to replace the standard appearance of the slider.
-
AuthorPosts