Code Monkey home page Code Monkey logo

ctrlr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ctrlr's Issues

Newer binutils version need config.h

Newer version of binutils need config.h or #define PACKAGE "Ctrlr" to be set.
Compiling CtrlrLinux.cpp
In file included from ../../../../Source/Misc/include/libr.h:30:0,
from ../../../../Source/Native/CtrlrLinux.cpp:13:
/usr/include/bfd.h:35:2: erreur : #error config.h must be included before this header
#error config.h must be included before this header
Same with Source/Misc/libr.c and Source/Misc/libr-bfd.c

Work around: add #define PACKAGE "Ctrlr" just after #ifdef LINUX

I can't install Ctrlr 5.4.2 under Windows 10 .... Part 2.

Thank you Roman!
Yes, it works. The only problem i have now is that the 32 bit Plug-in not is loaded by Cubase. I have Cubase 8 - 32 bit installed under Windows 10 - 64 bit. I did place the "Ctrlr-VST-Win32.dll" into the Cubase-directory: "VSTPlugins". However, when i start Cubase, i don't see the plug-in. Any idea?
Thanks again for your nice work!
Nick.

Issue creating a MemoryBlock based on a size

Hi atom,
getting error messages (sometimes crash) when trying to create a MemoryBlock of a given size...
I tried in a function within a method, in a method and just in the console. Same stuff.
Using last version 5.4.2 x64.
Thx for looking at this when you have time...

>>> mbTiti=MemoryBlock(10,true)
ERROR: No matching overload found, candidates:
void __init(luabind::argument const&,String const&)
void __init(luabind::argument const&,luabind::object const&)
void __init(luabind::argument const&,JMemoryBlock const&)
void __init(luabind::argument const&,custom [unsigned __int64] const,bool)
void __init(luabind::argument const&)

>>> mbTiti=MemoryBlock(10,1)
ERROR: No matching overload found, candidates:
void __init(luabind::argument const&,String const&)
void __init(luabind::argument const&,luabind::object const&)
void __init(luabind::argument const&,JMemoryBlock const&)
void __init(luabind::argument const&,custom [unsigned __int64] const,bool)
void __init(luabind::argument const&)

>>> mbTiti=MemoryBlock(10,0)
ERROR: No matching overload found, candidates:
void __init(luabind::argument const&,String const&)
void __init(luabind::argument const&,luabind::object const&)
void __init(luabind::argument const&,JMemoryBlock const&)
void __init(luabind::argument const&,custom [unsigned __int64] const,bool)
void __init(luabind::argument const&)

release 5.4.16: Lua, Math.Sin not working anymore

in versions prior to v5.4.16 this will draw a sine wave:

function myNewMethod(component,graphics)

graphics:setColour (Colour(0xAF8D0000))

for x=1, 200 do

	y = 100 * math.sin (x/30) +100

	graphics:fillRect (x, y, 1, 3)

end

end

In version v5.4.16 it will just draw a line. Same result with sinf instead of math.sin.

Attached panel:
MathSinNotworking.zip

i suggest dropping 'save versioning' > why? >>>

because you never know what you're saving. i version myself, always,
each time i make significant changes; there is no other way to work.
but when it opens up something other than what i thought i saved,
i don't/can't know what's going on.
however, specifying Ctrlr version with each save, 'under the bonnet',
in File Properties(etc)is important.
i've just lost a complex panel involving days of work because of this,
i hope i can get it back by pulling bits out of previous files.(soz, i can't
make single panel VSTs, too boring :) )

MidiMessageReceived executed 2 times for one message

Hi,
MidiMessageReceived is executed 2 times for one message received.
Workaround is to reset the Midi Input devices (NOT the Controler devices because that reset is blocking the bidirectional behaviour).

-- Reset Midi INPUT devices to avoid having MidiMessageReceived method called twice
sMidiDevices = panel:getProperty("panelMidiInputDevice")
panel:setPropertyString("panelMidiInputDevice", "-- None")
panel:setPropertyString("panelMidiInputDevice", sMidiDevices)

Thx in advance for looking at this!

Mac-Graphic resources not available

Hi
Any Graphics in the resource page are not available in the selection box uilmageSliderResource, it just says "no choices" This is true for prebuilt panels or building from new.
This effects build 5.3.198 for mac OS X .
I reverted to version 5.3.122 and that has the resources available in the drop down menu.
I am running Stand alone ctrlr on OS X 10.5 in 64bit mode
mike

JD 800

Hi,
which version of ctrl do i need to run the old deprecated jd800 panel ? please?

LUA Disabled issue

When LUA is disabled after opening a panel, if a panel is opened and saved, all the LUA methods are deleted.

rel 5.4.29 - Lua: os.date ("%c")

os.date ("%c") shows only year, the same as os.date ("%Y"). should show date and time (e.g., 09/16/98 23:48:10). It showed correct in rel 5.4.11

from lua.org:

%a abbreviated weekday name (e.g., Wed)
%A full weekday name (e.g., Wednesday)
%b abbreviated month name (e.g., Sep)
%B full month name (e.g., September)
%c date and time (e.g., 09/16/98 23:48:10)
%d day of the month (16) [01-31]
%H hour, using a 24-hour clock (23) [00-23]
%I hour, using a 12-hour clock (11) [01-12]
%M minute (48) [00-59]
%m month (09) [01-12]
%p either "am" or "pm" (pm)
%S second (10) [00-61]
%w weekday (3) [0-6 = Sunday-Saturday]
%x date (e.g., 09/16/98)
%X time (e.g., 23:48:10)
%Y full year (1998)
%y two-digit year (98) [00-99]
%% the character `%´

Called to calculate new modulator value from a MIDI value = crash

Hello Mr Atom (Roman)

I have a small problem which might be a bug in Ctrlr although I am no expert and wonder if you could just give it a look over please.

I have been discussing this problem in :-
http://ctrlr.org/forums/topic/what-am-i-doing-wrong/#post-69736

My messages are at #69713 - where I need the sending modulator to receive the same 18 bytes of SysEx and then call my myReverseLookUp method from:
“Called to calculate new modulator value from a MIDI value”

I find even with the default method, once the method is called, Ctrlr crashes.

Any help appreciated.
Peter_EP

selectt multiple with ctrl+

it would be nice to be able to select multiple objects on-panel
with usual ctrl (+click, on as many as wanted), in order to
move them.

(nb: quite often/always find that a modulator will jump to another
position when clicked; this isn't 'terminal', but it's a bit weird. also
'import' position when copy+paste-ing is unpredictable,and jumps,
one time, before you can reposition it reliably - v.5.02.102,need
to update again)

Content changed callback on uiLCDLabel is never called

How to reproduce :

  • Create a new Panel
  • Add a uiLCDLabel component
  • Make it editable
  • Create a method myMethod to be called when the label content changes
  • Add a console() method call in the method
  • Exit edit mode for the panel
  • Modify the label content : nothing happens, myMethod() is not called
  • Go back to edit mode on the panel, replace the uiLCDLabel by a uiLabel
  • Exit edit mode and do the test again : the method gets called properly

Stacked Modulator List Doubles ;-( (2 issues here)

this is a bit of a problem when you make a mistake - like forgetting
to rename a Group, when you move it onto a tab, or if you copy and
don't Index-renumber for each copy: you can end up with LOADS
stacked at same Index# in List, and there's no way to unpack it and
have a look at what you want to keep or delete. have not found a way
round this yet. i go back to panel and give objcts i want to keep arbitary
(high)numbers, to separate them from rogue doubles. i will renumber later.

problem i get with making new Groups a lot, is that i forget to edit
Owner Tab, and it keeps 'old' Owner after copy. > BAD :) >your
new group will jump into your other/old tab and make a horrible mess
when you reload Ctrlr. if Owner was NOT copied, but made blank?

LINUX: issue with Lua Editor cursor position

version: Ctrlr-x86_64-5.4.16.sh (latest linux from nightly) on xubuntu

I have issue with LUA Editor, the cursor is not on the right place, see screenshots.
selection_457

I have wrote "testtesttest", then clicked on right of the last "t", wrote a "X", then it appeared on the wrong place.

The following screenshot is when just writing "testtesttest" and show the wrong cursor position, which should appears just after the last "t"

selection_458

fixed small window under linux (x64)

Hiho,

i tried to start the current Ctrlr (binary) under a current Gentoo Linux. The program starts, but just show a very small quadratic segment of the upper left window which doesn't seem resizable - so Ctrlr seems not usable att on this platform.

Are there any sources for trying a self build?

If you need any system / environment details pls feel free to ask.

many thanks,
best regards,

Niels Dettenbach
http://www.syndicat.com

some workflow issues/current version

hope this is of use: (some notes i made this morning)

WHEN YOU CLICK OFF A MODULATOR, THEN BACK ON,
THE PARAMETER COLUMN RESETS THE VIEW.

ie: expanded/not > if i close MIDI, it comes
back with MIDI open, and Component Generic is
out of view/lower down again.

does not happen swapping between same type
modulator, but if i click onto workspace, then
back, it happens. bad for workflow.

always seems to return to MIDI view. ??

BUTTON MODULATOR CAN BE MOVED WITH PC KYBD ARROWS,
BUT COMBO CANNOT - IT SCROLLS ITS LIST.
ie: positioning objects (workflow>'inconsistent')
(maybe other types? not checked)

why do i suddenly have 'Group Text' showing?
(i was using a previous version? - new machine
and install)

idea: how about 'unlock all' for modulators within
a Group? > you have to lock a Group for Copy/Paste
operations, or the Group moves without children.

'lock' Group does not lock individual modulators.
quicker/workflow


Name size and position/justification vs frame size
and position, > confusing for newbs! (do not have
a suggestion at present- the properties pane can
be hard to get used to)
? > how about tabs at top on the pane, allowing
for a shorter properties page? no longer than
the workspace? an idea. no more difficult to
navigate, offers same amount of space.avoids
scrolling down.

DOES NOT REMEMBER LAST SAVED LOCATION WHEN SAVING
NEW FILE > DEFAULTS TO MY DOCUMENTS

Please add docs on building

I haven't found any docs on how to build ctrlr on various platforms and from the sources alone I don't get it. I've seen a .sln file, presumably for Visual Studio, but that doesn't help me much on Linux.

I thought I'd be able to figure this out, apparently I'm not, so I have to ask for additional docs or a pointer to existing ones I might have missed.

font size gets set to 0 after undo

Most of the time, especially after moving or modifying the size of a component and "undoing" the changes, some font size gets set to 0. Either the label name, or the slider value font. This happens on OSx at least.

Custom Icon for exported Instances

It would be nice if we could provided a custom Icon to be used when generating an exported instance (.exe or .app files with an icon different from the default Ctrlr icon).

workflow issue (minor)

(sorry if this has been dealt with or mentioned before - am on 5.2.102)

accidental scrolling of values in right-side pane is a problem.
even if you're aware of the risk, you can still change something
unintentionally. i have then copied this...hundreds of times.
(wrong 'base fallback value' produced...)

would be better, i think, if you had to click on one of these to activate
scrolling of value. less risky.

Resource images missing in Windows exported instances

How to reproduce :

  • Create a panel
  • Add an image resource to it
  • Add a uiImage component that points to the image resource
  • Export the instance as an exe file
  • Open the exe file on a different computer
    => The standalone exe instance displays "Invalid Resource" instead of the image
    This works fine on Mac.

Windows xp 32bit builds no longer working.

In ctrlr 5.4.27 and 5.4.29 On windows xp when i try to open to open the ctrlr standalone it gives me an errror:
'Impossibile trovare il punto di ingresso CreateSymbolicLinkW della procedure nella libreria di colegamento dinamico KERNEL32.DLL'

And ableton fails to load the vsti

In english that's
'Impossible to find entry point CreateSymbolicLinkW in the dynamic link library KERNEL32.DLL'

it looks to me that something when wrong in linking.

ctrlr 5.3.201 works though. So this probably happened fairly recently.

Ewan.

idea: Tab Index re-number>move content ?

i'm trying to do this, don't know if it will work:
with 4 tabs, i want to move contents(+title) of #3 to #2, and move
#2 to #3 > change order 0,1,2,3 to 0,2,1,3 for a better display,

without having to cut+paste contents and do all the work(!)
maybe if i just renumber tabs,save,close, re-load, it might work..
something one might wish to do in a build, anyway.

OSC string handling : bug fix requested

Thanks for implementing OSC in Dec 2015, but there is an issue with returning string arguments of the OSC message.

OSC sent into Ctrlr is "/track/name/" with string argument "Guitar".

Code fragment executed is:

`onOSCMessage = function(path, types, arguments)
oscMsg = path
oscType = types

if types=="f" then
	oscValue = tonumber(arguments[0].f)
elseif types=="s" then
	oscValue = tostring(arguments[0].s)
end
console('OSC: '..oscMsg..' Value: '..oscValue..' Type: '..oscType)

end`

This OSC example with numeric data works fine:
oscValue = tonumber(arguments[0].f)

This OSC example with a valid string does not :
'oscValue = tostring(arguments[0].s)`

Expected oscValue to be string type "Guitar".
Instead, oscValue is an ASCII code decimal representation of the first letter of the argument, which is "70".

Go, fix it, please.

Plugin-Version sending Midimessages twice

As far as I know this happens on all plugin versions (Win vst, Mac au, Mac vst). When sending Midimessages by Lua code this bug does not show (it will send messages once). So I guess it must be a bug of the Midi-Component.

Example1, IPR sysexmessage. Moving from value 00 to 06:

[09:52:44:000510]: RAW:[f0 41 39 00 24 30 01 12 00 f7]
[09:52:44:000510]: RAW:[f0 41 39 00 24 30 01 12 00 f7]
[09:52:58:000142]: RAW:[f0 41 39 00 24 30 01 12 01 f7]
[09:52:58:000142]: RAW:[f0 41 39 00 24 30 01 12 01 f7]
[09:52:59:000251]: RAW:[f0 41 39 00 24 30 01 12 02 f7]
[09:52:59:000251]: RAW:[f0 41 39 00 24 30 01 12 02 f7]
[09:52:59:000902]: RAW:[f0 41 39 00 24 30 01 12 03 f7]
[09:52:59:000902]: RAW:[f0 41 39 00 24 30 01 12 03 f7]
[09:53:00:000659]: RAW:[f0 41 39 00 24 30 01 12 04 f7]
[09:53:00:000659]: RAW:[f0 41 39 00 24 30 01 12 04 f7]
[09:53:02:000782]: RAW:[f0 41 39 00 24 30 01 12 05 f7]
[09:53:02:000782]: RAW:[f0 41 39 00 24 30 01 12 05 f7]
[09:53:04:000104]: RAW:[f0 41 39 00 24 30 01 12 06 f7]
[09:53:04:000104]: RAW:[f0 41 39 00 24 30 01 12 06 f7]

Example2, APR sysexmessage. Sent by a Lua script, no doubled messages:

[09:54:52:000798]: RAW:[f0 41 38 00 24 30 01 20 20 4c 4f 57 20 53 54 52 49 4e 47 20 50 41 44 20 20 06 4c 27 26 00 00 00 7f 14 1c 2d 09 00 00 4e 00 02 00 01 00 09 00 00 4c 01 7e 00 01 00 5a 01 1a 00 00 00 f7]

[09:54:52:000798]: RAW:[f0 41 38 00 24 20 01 20 53 54 52 49 4e 47 53 20 31 20 38 05 00 38 32 00 00 40 00 00 40 00 00 7f 7f 00 3c 00 00 00 02 67 69 43 67 00 00 00 00 00 00 00 00 00 00 00 00 7f 00 7f 00 7f 00 29 4b 00 34 58 56 24 48 00 00 00 60 00 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 50 60 50 50 40 60 40 20 00 20 00 00 00 00 20 00 00 f7]

[09:54:52:000798]: RAW:[f0 41 38 00 24 20 02 4c 4f 20 53 54 52 49 4e 47 53 20 38 05 00 38 48 00 00 40 00 00 40 00 00 7f 7f 00 3c 00 00 00 14 67 7f 43 61 00 00 00 00 00 00 00 00 00 00 00 00 7f 00 7f 00 7f 00 00 46 00 34 58 56 24 48 00 00 00 60 00 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 50 50 60 50 50 40 60 40 20 00 20 00 00 00 00 20 00 00 f7]

Just to show you that this is not a bug of the Midimonitor: Reaper and MidiOX connected through loopMIDI. MidiOX display:

 TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT               
 0000E9DA   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 01 F7
 0000E9DA   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 01 F7
 0001043A   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 02 F7
 0001043A   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 02 F7
 00010A84   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 03 F7
 00010A84   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 03 F7
 00010E44   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 04 F7
 00010E44   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 04 F7
 000111AF   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 05 F7
 000111AF   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 05 F7
 000115BA   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 06 F7
 000115BA   9  --     F0  Buffer:    10 Bytes   System Exclusive      
 SYSX: F0 41 39 00 24 30 01 12 06 F7

Upgrade Ctrlr to Lua 5.3

Lua 5.3 comes with several API and performance improvements.

It would be great to be able to access that functionality in Ctrlr.

Thanks!
/Pascal

(re:102, if unchanged) copying modulator from group>group attributes remain

when copying modulator out of a group to another area
(eg: onto tab with no group), it retains its group name+(?ownership?)

therefore on project re-load it will not be where it should
eg: goes back to original group = a mess

eg: it should 'shed Group attributes' on copy (lol)

*also: nb: if some groups in tabs are not locked, they also go crazy
on reload - ie: end up in main workspace (this was for a 2nd UITabs,
inside a Group(as a container), with Groups of dropdown selectors
on tabs - grouped for easy multiple copying - come to think of it,
i must check this wasn't bcs of copied 'group' attributes ;o) ...)

CTRLR crashes using getPropertyName on uiEnvelope

Hi there! I am trying to see to what extent uiEnvelope works, by interrogating the object and seeing what properties it has. The eventual aim is simply to get and set points. Thanks.

Where dco is a reference to my uiEnvelope instance:

dco = panel:getModulatorByName("module-dco-" .. tostring(module))

obtree = dco.getObjectTree(dco)
numChildren = obtree.getNumChildren(obtree)

for i=0,numChildren do
    child = obtree.getChild(obtree, i)
    --what(child)
    --console(child.toXmlString(child)) -- need uiEnvelopePoint ... uiEnvelopePointPosition="19, 89" 
    numProps = child:getNumProperties()
    console(tostring(numProps))
    if numProps > 0 then
        console("got props")
        for propIdx = 0,numProps do
            --console(child:getPropertyName(propIdx)) -- UNCOMMENT TO CRASH
        end
    end
end

Build issue under Windows

I’m trying to compile Ctrlr on Windows.

I have..

  • installed Visual Studio 2015
  • installed JUCE under C:\devel\JUCE
  • Compiled Projucer for Release
  • git cloned the Ctrlr repo to c:\devel\ctrlr
  • extracted the boost.zip into c:\devel\ctrlr\Boost\boost
  • Installed cygwin

When I run the post_commit script in the Scripts folder I get the following errors:

"C:\devel\ctrlr\Builds\Ctrlr_Release.sln" (Rebuild target) (1) ->
"C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrlr_Plugin_VST.vcxproj" (Rebuild target) (3) ->
(ClCompile target) ->
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_audio_basics.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrl
r_Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_audio_devices.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctr
lr_Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_audio_formats.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctr
lr_Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_audio_plugin_client_utils.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\
VST_2015\Ctrlr_Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_audio_plugin_client_VST2.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\V
ST_2015\Ctrlr_Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_core.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrlr_Plugin
_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_audio_utils.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrlr
_Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_cryptography.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrl
r_Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_audio_processors.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\
Ctrlr_Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_events.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrlr_Plug
in_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_gui_basics.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrlr_
Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_opengl.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrlr_Plug
in_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_gui_extra.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrlr_P
lugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_data_structures.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\C
trlr_Plugin_VST.vcxproj]
  c1xx : fatal error C1083: Cannot open source file: '..\..\..\VST\JuceLibraryCode\juce_graphics.cpp': No such file or directory [C:\devel\ctrlr\Builds\Generated\Windows\VST_2015\Ctrlr_Pl
ugin_VST.vcxproj]

    268 Warning(s)
    15 Error(s)

Time Elapsed 00:04:42.30
CTRLR: Win32 build failed

Looking into the c:\devel\ctrlr\Builds\VST\JuceLibraryCode\ directory these files are obviously not there. Are they supposed to be copied there during the build phase or have I missed something?

Ctrlr crashes when removing a method in LuaEditor tree

How to reproduce :

  • Create a new panel
  • Open the Lua Editor
  • Add a method
  • Remove it (in the tree, right-clic / Remove method)
    => Ctrlr crashes with the following message :
    Ctrlr has crashed
    ...
    3: RtlKnownExceptionFilter + 0xb7
    4: RtlInitializeExceptionChain + 0x36

I can't install Ctrlr 5.4.2 under Windows 10 ....

When i try to install Ctrlr 5.4.2 in Windows 10 i become the following message:

Error opening file for writing:
C:\Program Files (x86)\Ctrlr\Ctrlr-Win64.exe
Click Abort to stop the installation,
Retry to try again, or
Ignore to skip this file.

My system works with Windows 10 - 64bit. It makes no difference if i choose to install Ctrlr-Win32.exe.
Thank you for the answer how to fix this.

VST Instance Panel Size is wrong

When you export a restricted instance as a VST, the panel size can no longer be changed, but the panel always exports smaller than the set size. I don't think toolbars and borders are taken into account.

The real problem though is that if you try to increase the size, any image you have as a background moves regardless of what you set uiPanelImageLayout to.

It is currently impossible to correctly export a VST of the correct size that keeps the background image intact.

Tested on Win 8.1 64bit running Ableton Live 9.2 64-bit.

URGENT: check possible bug in utils.packDsiData()

Hi atom,
I'm finalizing my Pro2 panel (was intended to be released next week - mid August) by doing a lot of tests. Among those tests, some classical loops of reading some data then saving without any change and checking you have the same...
I discovered some differences and investigated in details until I came to the point of suspecting a bug in utils.packDsiData() occuring at the end of producing the output (a bit strange in my opinion).

I join you different info below.
The 3 last bytes at end of original packed data are: 03 7F 7F
The 3 last bytes at end of produced packed data are: 64 00 20
Unpacked data is the same...

Can you please have a look?
Thanks in advance....Dominique (goodweather)

Sysex file to use as test (6 bytes + 1171 packed + 1 byte):
**
F7P1 - Sweet Cherry.zip
**

Method to test:

LoadAndSaveTest = function(--[[ CtrlrModulator --]] mod, --[[ number --]] value, --[[ number --]] source)

    -- No action while loading a program or if the panel is in bootstrap or program states
    if bLoadingProgram or not isPanelReady() then
        return
    end 

    -- Load a .syx file
    f = utils.openFileWindow ("Load Pro 2 packed program dump", File(""), "*.syx", true)
    if f:isValid() then -- A file has been selected and the user pressed Open
        if f:existsAsFile() then
            Pro2ProgramFileData = MemoryBlock()
            f:loadFileAsData(Pro2ProgramFileData)
            FileSize = Pro2ProgramFileData:getSize()

            if FileSize == 1178 or FileSize == 1176 then
                -- Unpack and load data in panel
                if FileSize == 1178 then
                    -- Program data dump
                    console("Packed Program data dump after reading Load")
                    console(Pro2ProgramFileData:getRange(6, 1171):toHexString(1))                   
                    LoadedProgramData = utils.unpackDsiData(Pro2ProgramFileData:getRange(6, 1171))
                else
                    -- Program buffer data dump
                    console("Packed Program buffer data dump after Load")
                    console(Pro2ProgramFileData:getRange(4, 1171):toHexString(1))                   
                    LoadedProgramData = utils.unpackDsiData(Pro2ProgramFileData:getRange(4, 1171))
                end
                FileSize = LoadedProgramData:getSize()
                if FileSize == 1024 then
                    console("Unpacked LoadedProgramData after Load")
                    console(LoadedProgramData:toHexString(1))
                end
            end
        end
    end

    -- Save to .syx file: always saving a 1176 program buffer dump to be bank and program independent
    --  f = utils.saveFileWindow ("Save Pro 2 program buffer dump sysex file", File(""), "*.syx", true)
    --  if f:isValid() then
    --      if f:existsAsFile()==false then
    --          f:create()
    --      end

    --      FileSize = LoadedProgramData:getSize()
    --      if FileSize == 1024 then
                console("Unpacked LoadedProgramData before Save")
                console(LoadedProgramData:toHexString(1))
                console("Packed Program buffer data dump before Save")
                console(utils.packDsiData(LoadedProgramData):toHexString(1))
    --      end
    --  end

end

Console output from attached .syx file:

LUA>> Packed Program data dump after reading Load

LUA>> 00 3c 3c 24 24 32 3c 32 00 32 3c 3c 3c 1d 05 05 00 04 1d 00 01 02 03 07 00 08 09 0a 04 05 06 07 00 36 40 40 40 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 00 1d 00 1d 1d 1d 00 00 00 00 00 01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 01 02 02 00 00 00 00 00 03 00 00 05 00 0a 01 7f 00 00 00 17 01 24 10 00 75 08 00 00 40 00 7f 00 7f 00 78 70 00 50 4f 07 09 05 03 00 00 00 00 1e 00 00 00 22 00 00 00 00 00 7f 7f 7f 00 7f 00 00 00 00 00 00 00 00 00 40 40 40 40 00 20 00 00 00 15 28 04 3e 00 00 00 00 00 00 00 00 00 00 02 03 00 7f 05 0f 00 05 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 1f 7f 7f 01 4e 7f 34 00 00 00 00 00 00 00 00 00 00 05 00 00 31 67 00 51 39 00 35 00 00 50 7f 7f 7f 00 6a 00 00 5f 18 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 10 11 11 0b 00 0b 18 11 06 18 14 14 30 00 00 00 00 07 61 57 67 27 37 38 7f 7f 11 3e 02 7f 2a 7f 7f 7f 7f 42 00 0e 18 0b 4b 57 21 00 00 09 21 01 0e 00 00 00 00 00 00 00 78 02 00 00 00 01 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 77 65 65 74 20 43 00 68 65 72 72 79 20 20 40 20 20 20 20 20 20 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08 08 08 08 08 00 08 20 20 20 20 20 20 00 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7e 00 30 3c 48 33 3f 4b 7f 2e 3a 35 46 33 48 32 07 30 54 54 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 3c 3c 3c 3c 00 3c 3c 3c 3c 3c 3c 3c 00 3c 3c 3c 3c 3c 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 2c 4c 00 51 61 01 6f 69 36 50 22 5f 6b 3a 41 12 30 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 64 64 64 64 64 64 00 64 64 64 64 64 64 64 00 64 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 7f 7f

LUA>> Unpacked LoadedProgramData after Load

LUA>> 3c 3c 24 24 32 3c 32 32 3c 3c 3c 1d 05 05 04 1d 00 01 02 03 07 08 09 0a 04 05 06 07 36 40 40 40 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 00 1d 1d 1d 1d 00 00 00 00 01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 02 01 02 02 00 00 00 00 03 00 00 05 0a 01 7f 00 00 00 17 a4 10 00 75 08 00 00 00 7f 00 7f 00 78 f0 50 4f 07 09 05 03 00 00 00 1e 00 00 00 22 00 00 00 00 7f 7f 7f 7f 00 00 00 00 00 00 00 00 40 40 40 40 00 00 00 00 15 28 84 3e 00 00 00 00 00 00 00 00 02 03 00 7f 05 0f 05 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9f 7f 7f ce 7f 34 00 00 00 00 00 00 00 00 00 05 00 31 67 00 51 39 00 35 00 50 7f 7f 7f 00 6a 00 5f 18 00 22 00 00 00 00 00 00 00 00 00 00 00 0f 10 11 11 0b 0b 18 11 06 18 14 14 00 00 00 00 87 e1 57 a7 b7 b8 7f 7f 91 be 7f aa 7f 7f 7f 7f 42 0e 18 0b 4b 57 21 00 09 21 01 0e 00 00 00 00 00 00 78 02 00 00 01 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 77 65 65 74 20 43 68 65 72 72 79 20 20 20 20 20 20 20 20 8f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08 08 08 08 08 08 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 bc c8 b3 bf cb ae ba b5 c6 b3 c8 b2 b0 d4 d4 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 2c 4c 51 61 01 6f 69 36 50 5f eb 3a 41 12 b0 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff

LUA>> Unpacked LoadedProgramData before Save

LUA>> 3c 3c 24 24 32 3c 32 32 3c 3c 3c 1d 05 05 04 1d 00 01 02 03 07 08 09 0a 04 05 06 07 36 40 40 40 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 00 1d 1d 1d 1d 00 00 00 00 01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 02 01 02 02 00 00 00 00 03 00 00 05 0a 01 7f 00 00 00 17 a4 10 00 75 08 00 00 00 7f 00 7f 00 78 f0 50 4f 07 09 05 03 00 00 00 1e 00 00 00 22 00 00 00 00 7f 7f 7f 7f 00 00 00 00 00 00 00 00 40 40 40 40 00 00 00 00 15 28 84 3e 00 00 00 00 00 00 00 00 02 03 00 7f 05 0f 05 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9f 7f 7f ce 7f 34 00 00 00 00 00 00 00 00 00 05 00 31 67 00 51 39 00 35 00 50 7f 7f 7f 00 6a 00 5f 18 00 22 00 00 00 00 00 00 00 00 00 00 00 0f 10 11 11 0b 0b 18 11 06 18 14 14 00 00 00 00 87 e1 57 a7 b7 b8 7f 7f 91 be 7f aa 7f 7f 7f 7f 42 0e 18 0b 4b 57 21 00 09 21 01 0e 00 00 00 00 00 00 78 02 00 00 01 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 77 65 65 74 20 43 68 65 72 72 79 20 20 20 20 20 20 20 20 8f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08 08 08 08 08 08 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0 bc c8 b3 bf cb ae ba b5 c6 b3 c8 b2 b0 d4 d4 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 3c 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 2c 4c 51 61 01 6f 69 36 50 5f eb 3a 41 12 b0 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff

LUA>> Packed Program buffer data dump before Save

LUA>> 00 3c 3c 24 24 32 3c 32 00 32 3c 3c 3c 1d 05 05 00 04 1d 00 01 02 03 07 00 08 09 0a 04 05 06 07 00 36 40 40 40 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 00 1d 00 1d 1d 1d 00 00 00 00 00 01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 01 02 02 00 00 00 00 00 03 00 00 05 00 0a 01 7f 00 00 00 17 01 24 10 00 75 08 00 00 40 00 7f 00 7f 00 78 70 00 50 4f 07 09 05 03 00 00 00 00 1e 00 00 00 22 00 00 00 00 00 7f 7f 7f 00 7f 00 00 00 00 00 00 00 00 00 40 40 40 40 00 20 00 00 00 15 28 04 3e 00 00 00 00 00 00 00 00 00 00 02 03 00 7f 05 0f 00 05 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 1f 7f 7f 01 4e 7f 34 00 00 00 00 00 00 00 00 00 00 05 00 00 31 67 00 51 39 00 35 00 00 50 7f 7f 7f 00 6a 00 00 5f 18 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 10 11 11 0b 00 0b 18 11 06 18 14 14 30 00 00 00 00 07 61 57 67 27 37 38 7f 7f 11 3e 02 7f 2a 7f 7f 7f 7f 42 00 0e 18 0b 4b 57 21 00 00 09 21 01 0e 00 00 00 00 00 00 00 78 02 00 00 00 01 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 77 65 65 74 20 43 00 68 65 72 72 79 20 20 40 20 20 20 20 20 20 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 08 08 08 08 08 08 00 08 20 20 20 20 20 20 00 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7e 00 30 3c 48 33 3f 4b 7f 2e 3a 35 46 33 48 32 07 30 54 54 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 3c 3c 3c 3c 00 3c 3c 3c 3c 3c 3c 3c 00 3c 3c 3c 3c 3c 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 2c 4c 00 51 61 01 6f 69 36 50 22 5f 6b 3a 41 12 30 29 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 64 64 64 64 64 64 00 64 64 64 64 64 64 64 00 64 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 20

Linking issues with libbfd?

Ctrlr Linux VST plugin build from git (commit 87ad3d2) crashes Ardour3 upon start (undefined symbol: bfd_init) and Qtractor when trying to add the plugin to a track. When adding -lbfd as a linker flag to the VST Makefile both Ardour and Qtractor load the plugin but fail to open its GUI, then both DAWs crash. This is with Ubuntu 12.04.4 and libbfd 2.22. The standalone version works great. What would be the preferred way to debug this issue?

Best regards,

Jeremy

Lua methods referenced in panel callbacks get called on startup

I need to start each methods referenced in panel callbacks with this code :
if panel:getBootstrapState() or panel:getProgramState() then
return
end
otherwise the code of the method is executed on panel load or on Ctrlr start.
In addition to that, event if I use the above code, all the callback methods are called the first time I launch an exported instance of my panel.

Resetting Controller devices by Lua disable bidirectional behaviour of modulators

Hi,
to avoid double messages on MidiMessageReceived I used the technique proposed on the forum to reset the Controller devices.

sDevices = panel:getProperty("panelMidiControllerDevice")
panel:setPropertyString("panelMidiControllerDevice", "-- None")
panel:setPropertyString("panelMidiControllerDevice", sDevices)

Unfortunately I noticed that this was blocking the bidirectional behaviour of the modulators (turning a knob on the synth doesn't move the corresponding modulator - NRPN connection).
It works fine when resetting the Midi Input devices.
So maybe a bug on Controller devices?

LINUX: Build broken

Hello,

Linux native build seems broken, and documentation not up to date.
Some things I have needed to do but still not successfull:

  • Tried commits up to 6328278 and can't build at all
  • Needed to unzip boost.zip in <repo>/Source/Misc/boost/ and <repo>/Boost/
  • Use "bash build.sh" in <repo>/Builds/Generated/Linux/Standalone/ and not chmod +x build.sh && ./build.sh
  • In build.sh and Makefile change -I ../../../../Juce/modules \ to -I ../../../../JUCE/modules \ (case sensitive)
  • In build.sh add to -I list: -I ../../../../Source/Misc/luabind \ and -I ../../../../Source/Misc/lua/include \
  • In Makefile, add to the three JUCE_CPPFLAGS list the following: -I../../../../Source/Misc/lua/include -I../../../../Source/Misc/luabind -I../../../../Source/Misc/liblo/include/

With theses changes I am able to build to a certain point but it always fails.

Master currently fails on:

Compiling CtrlrProperties.cpp
Compiling CtrlrSysexProcessor.cpp
Compiling CtrlrSysexToken.cpp
Compiling CtrlrUpdateManager.cpp
../../../../Source/Core/CtrlrUpdateManager.cpp: In member function ‘virtual void CtrlrUpdateManager::timerCallback()’:
../../../../Source/Core/CtrlrUpdateManager.cpp:91:30: error: ‘ctrlrCheckForUpdates’ is not a member of ‘Ids’
  if ((bool)owner.getProperty(Ids::ctrlrCheckForUpdates) == false)
                              ^~~
../../../../Source/Core/CtrlrUpdateManager.cpp: In member function ‘juce::XmlElement* CtrlrUpdateManager::getUpdateData(const juce::String&)’:
../../../../Source/Core/CtrlrUpdateManager.cpp:108:32: error: ‘ctrlrUpdateUrl’ is not a member of ‘Ids’
   url = URL(owner.getProperty (Ids::ctrlrUpdateUrl));
                                ^~~
Compiling CtrlrUtilities.cpp
Makefile:472: recipe for target 'build/intermediate/Release_Nightly/CtrlrUpdateManager_a061528e.o' failed
make: *** [build/intermediate/Release_Nightly/CtrlrUpdateManager_a061528e.o] Error 1
make: *** Waiting for unfinished jobs....
CTRLR[linux]: build failed

Edit: error seems related to 315843a

(ugly) removing the impacted lines it build and leads to:

Compiling CtrlrLuaMemoryBlock.cpp
make: *** No rule to make target '../../../../Source/Lua/luabind/src/luabind.cpp', needed by 'build/intermediate/Release_Nightly/luabind_8688111a.o'.  Stop.
make: *** Waiting for unfinished jobs....
Compiling CtrlrLuaRectangle.cpp
CTRLR[linux]: build failed

luabind.cpp doesn't exists
Seems related to 3b4bbc7 which change luabind to a fork without luabind.cpp

(now I'm stuck :p)

crash report

ctrlr crashed when i moved a locked modulator with
keyboard arrows. the unlocked ones moved ok, but i
then did it with 1 locked one, was ok, 2nd one gave
a crash. (can't find the report file atm?)

wrong tab name -have identified possible cause

i have wrong tab names for modulators created at early stages of this
project, that belong to Groups. i changed the Tab title later, but items
in the group retain old Tab titles (eg: 'Tabs', and this is now called
Tabs Partials, and i don't have a 'Tabs' anymore.
This has happened with other items i created later on another
tabset, also changing that name later.
so...i conclude that once a modulator belongs to a Group, it is
the Group's 'ownership' that counts, and that items within it are
not so(...) 'connected' as before: tab reference does not update.
(i may have this all wrong, of course, i've been trying to figure out
what happened here, but seems best explanation)
in any case, i haven't had problem of modulators jumping into wrong
tab, as before, and project loads ok, and drafted ok as a test dll.
i will try to input correct tab references,for peace of mind. it looks odd
in Modulator List, is all.

i have also noticed that 'component ID' and 'component position and size'
swap places in the display, from modulator to modulator, -this is within
a ADSR series that were copies of each other. - i don't know if this is
important, just thought i'd mention it. (v102, i promise to update asap ;) )

Cannot call AlertWindow.addProgressBarComponent from Lua

The wrapper for addProgressBarComponent() method on LAlertWindow.cpp cannot be called from Lua because it requires the progressValue parameter to be passed as reference (which is not possible from Lua, unless I'm missing something).

We really need a way to handle progress bars in Ctrlr to give feedback to the user while a long running MIDI operation is being performed. Having it in a modal window seems a good option since we don't want the user to perform other operations while a MIDI dump is in progress.

I've been trying to use the ThreadWithProgressWindow but threading in Lua seems to cause some problems (Ctrlr crashes every once in a while...).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.