COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 04-22-2017, 09:31 AM   #81
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

I have just fixed compiling errors on MAC.
Youlean is offline   Reply With Quote
Old 04-22-2017, 09:41 AM   #82
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

I have fixed GetGUIResize()->ResizeControlRelativeToWindowSize(*mMyControl);
Youlean is offline   Reply With Quote
Old 04-23-2017, 03:57 AM   #83
mibes
Human being with feelings
 
Join Date: Apr 2017
Posts: 36
Default

yey, compiles for me now on mac. thanks for the work u are doing Youlean!
mibes is offline   Reply With Quote
Old 04-23-2017, 04:13 AM   #84
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by mibes View Post
yey, compiles for me now on mac. thanks for the work u are doing Youlean!
No problem..
Youlean is offline   Reply With Quote
Old 04-24-2017, 09:23 PM   #85
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Can confirm that the resizing no longer snaps back to the default position, thanks!

Got a small feature request on the LiveGUIEdit - would it be possible to also show the width and height of the control in the popup that comes up when a control is selected?
Bobflip is offline   Reply With Quote
Old 04-25-2017, 02:48 AM   #86
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Bobflip View Post
Can confirm that the resizing no longer snaps back to the default position, thanks!

Got a small feature request on the LiveGUIEdit - would it be possible to also show the width and height of the control in the popup that comes up when a control is selected?
Sure, but I won't be able to do this until I make right click menu (like old one) and that will take some time...
Youlean is offline   Reply With Quote
Old 04-26-2017, 12:48 AM   #87
Soundbytes
Human being with feelings
 
Soundbytes's Avatar
 
Join Date: May 2006
Posts: 58
Default struct of vectors vs vector of structs

Hi Youlean,
Diving further into the code I found that you chose to use structs of vectors for the layoutContainer and the viewContainer.
I find this design a bit unfortunate since in practice you will almost never iterate over single vector elements. I think a better choice would be to use a vector of structs (layoutItems / viewItems) instead.
This has some advantages:
- smaller number of pointers to dereferences.
- much bigger chance to have data that is used together in the same cache line (64 byte on current CPUs). This is potentially a great performace booster.
- Code is (IMO) easier to understand and to maintain. (check IPlugGUIResize::AttachGUIResize)

I have refactored the files IPlugGUIResize.h and IPlugGUIResize.cpp accordingly. If you like my changes feel free to pull them into your repository.
Andreas
__________________
www.soundbytes.de
Soundbytes is offline   Reply With Quote
Old 04-26-2017, 05:14 AM   #88
Soundbytes
Human being with feelings
 
Soundbytes's Avatar
 
Join Date: May 2006
Posts: 58
Default vcpkg

Hi Youlean,
Have you considered using vcpkg to include the cairo libraries and further dependencies? This is by far the easiest and most powerful way to do it that I have seen for the windows platform. vcpkg is a package manager created by microsoft. It is designed to give you a user experience similar to the best packet managers on the linux and osx platforms (like apt and homebrew)
Setting it up is a breeze and usage is very straightforward.
Here is a link:
https://github.com/Microsoft/vcpkg
and an introduction video (straight from the nerd zone)
https://channel9.msdn.com/Shows/C9-G...ction-To-Vcpkg
__________________
www.soundbytes.de
Soundbytes is offline   Reply With Quote
Old 04-26-2017, 07:10 AM   #89
Soundbytes
Human being with feelings
 
Soundbytes's Avatar
 
Join Date: May 2006
Posts: 58
Default bugfix

I have now fixed the bug that prevented rescaling to 100% on doubleclicking the rescale control. I have not yet tested it fully. so there might be side effects that I am not aware of.
__________________
www.soundbytes.de
Soundbytes is offline   Reply With Quote
Old 04-26-2017, 10:02 AM   #90
Bobflip
Human being with feelings
 
Join Date: Nov 2016
Posts: 341
Default

Quote:
Originally Posted by Youlean View Post
Sure, but I won't be able to do this until I make right click menu (like old one) and that will take some time...
No worries, cheers! Actually, a popup to show the window size would be handy too.
Bobflip is offline   Reply With Quote
Old 04-29-2017, 11:21 AM   #91
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

I'm having a crashing problem with my test project. When I exit the host (Reaper) with the plugin loaded, a crash message appears. When I debug the program with Visual Studio, it says "Unhandled exception thrown: read access violation. this was 0xCDCDCDCD." and points to ycairo.cpp line 87. Which is "cairo_destroy(cr);".

There is no gui in this plugin, nor I'm doing anything with cairo in my project.

May this be a bug in the framework?
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 04-29-2017, 11:55 AM   #92
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Soundbytes View Post
Hi Youlean,
Diving further into the code I found that you chose to use structs of vectors for the layoutContainer and the viewContainer.
I find this design a bit unfortunate since in practice you will almost never iterate over single vector elements. I think a better choice would be to use a vector of structs (layoutItems / viewItems) instead.
This has some advantages:
- smaller number of pointers to dereferences.
- much bigger chance to have data that is used together in the same cache line (64 byte on current CPUs). This is potentially a great performace booster.
- Code is (IMO) easier to understand and to maintain. (check IPlugGUIResize::AttachGUIResize)

I have refactored the files IPlugGUIResize.h and IPlugGUIResize.cpp accordingly. If you like my changes feel free to pull them into your repository.
Andreas
Can you make pull request to my repository?
Youlean is offline   Reply With Quote
Old 04-29-2017, 11:56 AM   #93
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Soundbytes View Post
Hi Youlean,
Have you considered using vcpkg to include the cairo libraries and further dependencies? This is by far the easiest and most powerful way to do it that I have seen for the windows platform. vcpkg is a package manager created by microsoft. It is designed to give you a user experience similar to the best packet managers on the linux and osx platforms (like apt and homebrew)
Setting it up is a breeze and usage is very straightforward.
Here is a link:
https://github.com/Microsoft/vcpkg
and an introduction video (straight from the nerd zone)
https://channel9.msdn.com/Shows/C9-G...ction-To-Vcpkg
I will check this out, though I was thinking to make visual studio and xcode projects to build cairo in the future...
Youlean is offline   Reply With Quote
Old 04-29-2017, 11:57 AM   #94
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Soundbytes View Post
I have now fixed the bug that prevented rescaling to 100% on doubleclicking the rescale control. I have not yet tested it fully. so there might be side effects that I am not aware of.
Please make a pull request and I will check this out...
Youlean is offline   Reply With Quote
Old 04-29-2017, 12:03 PM   #95
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Anomaly View Post
I'm having a crashing problem with my test project. When I exit the host (Reaper) with the plugin loaded, a crash message appears. When I debug the program with Visual Studio, it says "Unhandled exception thrown: read access violation. this was 0xCDCDCDCD." and points to ycairo.cpp line 87. Which is "cairo_destroy(cr);".

There is no gui in this plugin, nor I'm doing anything with cairo in my project.

May this be a bug in the framework?
You are using ycairo_base somewhere and you are not calling ycairo_base::bind_to_lice. That's why you have this bug. Can you check this out?
Youlean is offline   Reply With Quote
Old 04-30-2017, 01:07 AM   #96
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Quote:
Originally Posted by Youlean View Post
You are using ycairo_base somewhere and you are not calling ycairo_base::bind_to_lice. That's why you have this bug. Can you check this out?
I'm using the "IPlugEffect" from examples folder as a template. If ycairo has been used, it must be in the framework itself. In fact ycairo_base is used in "IPlug_include_in_plug_src.h" at line 27. The "ycairo->bind_to_lice(pGraphics);" appears in IPlugBase.

The crash seem to go away if I add minimal gui elements:

IGraphics* pGraphics = MakeGraphics(this, kWidth, kHeight);
pGraphics->AttachPanelBackground(&COLOR_GRAY);
AttachGraphics(pGraphics);

Of course I can comment the line:
"#define USING_YCAIRO" in IPlugBase.h
or declare pGraphics but not attach it to circumvent the problem.
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins

Last edited by Anomaly; 04-30-2017 at 01:17 AM.
Anomaly is offline   Reply With Quote
Old 04-30-2017, 07:27 AM   #97
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Anomaly View Post
I'm using the "IPlugEffect" from examples folder as a template. If ycairo has been used, it must be in the framework itself. In fact ycairo_base is used in "IPlug_include_in_plug_src.h" at line 27. The "ycairo->bind_to_lice(pGraphics);" appears in IPlugBase.

The crash seem to go away if I add minimal gui elements:

IGraphics* pGraphics = MakeGraphics(this, kWidth, kHeight);
pGraphics->AttachPanelBackground(&COLOR_GRAY);
AttachGraphics(pGraphics);

Of course I can comment the line:
"#define USING_YCAIRO" in IPlugBase.h
or declare pGraphics but not attach it to circumvent the problem.
OK. I have fixed that now.
Youlean is offline   Reply With Quote
Old 05-01-2017, 01:25 AM   #98
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Is there an "intelligent" way to disable cairo per project?

commenting "#define USING_YCAIRO" in IPlugBase.h will affect whole framework, not just the project.

The benefit of this would be smaller dll size when cairo is not needed.
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 05-01-2017, 03:11 AM   #99
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Anomaly View Post
Is there an "intelligent" way to disable cairo per project?

commenting "#define USING_YCAIRO" in IPlugBase.h will affect whole framework, not just the project.

The benefit of this would be smaller dll size when cairo is not needed.
Yes, this is currently a downside. I will think about that.
Youlean is offline   Reply With Quote
Old 05-07-2017, 06:11 AM   #100
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Because MIDI Out support in Apple AU format you will have to add #define AU_MIDI_FX 0 in resource.h to your existing projects and you will need to link CoreMIDI.framework with your AU project.
Youlean is offline   Reply With Quote
Old 05-07-2017, 09:03 AM   #101
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

I'm trying to get the ID of IMeterControl:

Code:
mtrAId = pGraphics->AttachControl(new IMeterControl(this, ... ));
However it does not seem to accept an integer as return type. It wants mtrAId to be a pointer. Is this behavior changed with IPlug Youlean? The wdl-ol version returns a regular integer.
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 05-07-2017, 09:10 AM   #102
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Anomaly View Post
I'm trying to get the ID of IMeterControl:

Code:
mtrAId = pGraphics->AttachControl(new IMeterControl(this, ... ));
However it does not seem to accept an integer as return type. It wants mtrAId to be a pointer. Is this behavior changed with IPlug Youlean? The wdl-ol version returns a regular integer.
Yes, it gives you pointer because in that way you can rearrange layers and still having correct control position number. This was implemented mainly because of GUI live edit but it can get handy if you want to rearrange control layers in your plugin...
Youlean is offline   Reply With Quote
Old 05-07-2017, 09:32 AM   #103
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Quote:
Originally Posted by Youlean View Post
Yes, it gives you pointer because in that way you can rearrange layers and still having correct control position number. This was implemented mainly because of GUI live edit but it can get handy if you want to rearrange control layers in your plugin...
Ok thanks, I guess that explains it. I have an issue with this, though:

GetGUI()->SetControlFromPlug(id, val);

SetControlFromPlug needs an integer variable id. But now I have a pointer. Is there a way to overcome this?
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 05-07-2017, 09:39 AM   #104
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Anomaly View Post
Ok thanks, I guess that explains it. I have an issue with this, though:

GetGUI()->SetControlFromPlug(id, val);

SetControlFromPlug needs an integer variable id. But now I have a pointer. Is there a way to overcome this?
Just use * before pointer to get value that pointer holds.

GetGUI()->SetControlFromPlug(*id, val);
Youlean is offline   Reply With Quote
Old 05-07-2017, 09:58 AM   #105
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

Quote:
Originally Posted by Youlean View Post
Just use * before pointer to get value that pointer holds.

GetGUI()->SetControlFromPlug(*id, val);
Strange, I tried it first but it didn't pass the value into the control. I guess I have to figure out if something else is wrong.
Thanks
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 05-09-2017, 09:53 AM   #106
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

I apologize if this is a stupid question, but has there been any changes with SetControlFromPlug compared to wdl-ol?

It's a peculiar thing, I can't get my meter to update.

in ProcessDoubleReplacing:

if (GetGUI()) {
GetGUI()->SetControlFromPlug(*mtrAId, mtrConvA);
}

It updates only when I click and move any control on the gui, but stops updating when I release the control. The meter just freezes to the last position.
The problem could be elsewhere as well, but this is the first time I encounter this issue. The same method worked before with wdl-ol.
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 05-10-2017, 02:43 AM   #107
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Anomaly View Post
I apologize if this is a stupid question, but has there been any changes with SetControlFromPlug compared to wdl-ol?

It's a peculiar thing, I can't get my meter to update.

in ProcessDoubleReplacing:

if (GetGUI()) {
GetGUI()->SetControlFromPlug(*mtrAId, mtrConvA);
}

It updates only when I click and move any control on the gui, but stops updating when I release the control. The meter just freezes to the last position.
The problem could be elsewhere as well, but this is the first time I encounter this issue. The same method worked before with wdl-ol.
Try pulling latest commits from my branch.
Youlean is offline   Reply With Quote
Old 05-13-2017, 09:52 AM   #108
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

New API change. Now you can build cairo by using visual studio solution. You only need to change props files for your projects. For now you need to manually build all libs before using cairo in windows.

Run IPlug-Youlean\YCAIRO\Cairo_Graphics\projects\cairo.sln

Change 14 line in .props from
<ADDITIONAL_INCLUDES>$(ProjectDir)\..\..\..\MyDSP\ ;..\..\YCAIRO\;..\..\YCAIRO\Cairo_Graphics\Include-Win\cairo;..\..\YCAIRO\Cairo_Graphics\Include-Win;</ADDITIONAL_INCLUDES>

to

<ADDITIONAL_INCLUDES>$(ProjectDir)\..\..\..\MyDSP\ ;..\..\YCAIRO\;..\..\YCAIRO\Cairo_Graphics\cairo\s rc\;..\..\YCAIRO\Cairo_Graphics\freetype\include\; ..\..\YCAIRO\Cairo_Graphics\projects\cairo\src\;</ADDITIONAL_INCLUDES>

Last edited by Youlean; 05-13-2017 at 10:07 AM.
Youlean is offline   Reply With Quote
Old 05-16-2017, 11:05 AM   #109
kawa_
Human being with feelings
 
kawa_'s Avatar
 
Join Date: Mar 2016
Posts: 117
Default

Cool!Thank you!
__________________
web | kawaScripts | donate | twitter |
kawa_ is offline   Reply With Quote
Old 05-25-2017, 09:49 AM   #110
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 171
Default

Hi Youlean first of all thank you very much for your work on Cairo and IPlug, i just pullet your repo into my local branch and i was going to experiment with it.

First thing i noticed is that Cairo links against 10.7 sdk on mac i would need 10.6 support since i have some users (mainly PT users) stuck on 10.6.

I tried to build Cairo searching around the net but it's proving to be more complicated than what i thought.

I kindly ask if you have building instructions to build the libraries you ship with your branch so i can try to rebuilt it with the 10.6 sdk

Thank you very much
Saverio
HoRNet is offline   Reply With Quote
Old 05-25-2017, 12:18 PM   #111
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by HoRNet View Post
Hi Youlean first of all thank you very much for your work on Cairo and IPlug, i just pullet your repo into my local branch and i was going to experiment with it.

First thing i noticed is that Cairo links against 10.7 sdk on mac i would need 10.6 support since i have some users (mainly PT users) stuck on 10.6.

I tried to build Cairo searching around the net but it's proving to be more complicated than what i thought.

I kindly ask if you have building instructions to build the libraries you ship with your branch so i can try to rebuilt it with the 10.6 sdk

Thank you very much
Saverio
Thanks. I have recently made visual studio projects for Windows to make compiling easier, and I was working on xcode projects too but this happens to be more difficult, but I guess I will figure it out eventually. Anyways, I have build script for mac and I will post it here on Saturday, if it is not too late...
Youlean is offline   Reply With Quote
Old 05-25-2017, 05:04 PM   #112
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 171
Default

Quote:
Originally Posted by Youlean View Post
Thanks. I have recently made visual studio projects for Windows to make compiling easier, and I was working on xcode projects too but this happens to be more difficult, but I guess I will figure it out eventually. Anyways, I have build script for mac and I will post it here on Saturday, if it is not too late...
Hi thank you for your help i'm perfectly fine with a shell build script it's just that i get lost in the Cairo dependences.

It's never too late I'm doing fine with WDL-OL at the moment i just want to experiment with Cairo (it's something i was planning to do for some months now and it happens i have to make a plugin for CM in the next month that is perfect as testbed for some new technology) coincidentally you released your IPlug version that is miles ahead of what I had done in this direction.

I don't know if I can contribute something back from my own tree because the moving and resizing of IControls is already done in your tree, i have done some work on the color picker for mac but it's very marginal...
HoRNet is offline   Reply With Quote
Old 05-27-2017, 02:50 PM   #113
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by HoRNet View Post
I don't know if I can contribute something back from my own tree because the moving and resizing of IControls is already done in your tree, i have done some work on the color picker for mac but it's very marginal...
It is not the problem, though if you spot something please let me know. My fork is in the works and it will be constantly updated with a things that I need.

Here is the build script. Save it to .sh file and run it from terminal. You will only need to change deployment target and the SDK version.
Code:
#! /bin/bash

# Set build directory same as script location
export BuildDir="$(dirname "$0")"

# Set deployment target, architectures and SDK
export MACOSX_DEPLOYMENT_TARGET=10.7
export LDFLAGS="-arch i386 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk"
export CFLAGS="-Os -arch i386 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk"


# Build expat  =============================================
cd ${BuildDir}/expat
./configure --prefix=${BuildDir} --disable-dependency-tracking
./configure --enable-static
make
make install
sudo cp /usr/local/lib/libexpat.a ../

# End ======================================================


# Build fontconfig  ========================================
cd ${BuildDir}/fontconfig
./configure --prefix=${BuildDir} --disable-dependency-tracking
./configure --enable-static
make
make install
sudo cp /usr/local/lib/libfontconfig.a ../

# End ======================================================


# Build bzip2  =============================================
cd ${BuildDir}/bzip2
./configure --prefix=${BuildDir} --disable-dependency-tracking
./configure --enable-static
make
make install
sudo cp /usr/local/lib/libbz2.a ../

# End ======================================================


# Build freetype  ==========================================
cd ${BuildDir}/freetype
./configure --prefix=${BuildDir} --disable-dependency-tracking
./configure --enable-static --with-bzip2=no
make
make install
sudo cp /usr/local/lib/libfreetype.a ../

# End ======================================================


# Build libpng  ============================================
cd ${BuildDir}/libpng
./configure --prefix=${BuildDir} --disable-dependency-tracking
./configure --enable-static
make
make install
sudo cp /usr/local/lib/libpng16.a ../

# End ======================================================


# Build pixman  ============================================
cd ${BuildDir}/pixman
./configure --prefix=${BuildDir} --disable-dependency-tracking
./configure --enable-static
make
make install
sudo cp /usr/local/lib/libpixman-1.a ../

# End ======================================================


# Build cairo  ============================================
cd ${BuildDir}/cairo
./configure --prefix=${BuildDir} --disable-xlib --disable-dependency-tracking
./configure --enable-static --enable-ft
make
make install
sudo cp /usr/local/lib/libcairo.a ../

# End ======================================================
Youlean is offline   Reply With Quote
Old 06-03-2017, 02:00 AM   #114
Anomaly
Human being with feelings
 
Anomaly's Avatar
 
Join Date: Sep 2007
Posts: 642
Default

I have not been able to get presets working:
http://forum.cockos.com/showthread.php?t=192359

So, I have a little question:

When you change a preset should the "UnserializePresets()" at IPlugBase be called at this point at all?

Thanks!
__________________
___________________________
Sonic Anomaly | free JSFX & VST Plugins
Anomaly is offline   Reply With Quote
Old 06-04-2017, 09:03 AM   #115
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by Anomaly View Post
I have not been able to get presets working:
http://forum.cockos.com/showthread.php?t=192359

So, I have a little question:

When you change a preset should the "UnserializePresets()" at IPlugBase be called at this point at all?

Thanks!
Sorry, I am not familiar with the presets in IPlug.
Youlean is offline   Reply With Quote
Old 06-04-2017, 09:04 AM   #116
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Now all project are being updated for Visual Studio 2017. It is time to switch!
Youlean is offline   Reply With Quote
Old 06-08-2017, 09:21 AM   #117
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 171
Default Build Scripts

Thank you for your build script Youlean, I've been able to build Cairo even if I had to make some changes to your scripts, i would share it with you but it's not completely "hands free" right now i have some issue with the zlib headers required for the pnglib. If you run the configure scripts the headers found in the 10.6 sdk differ fomr the system zlib and the pnglib fails to build.
To make it work you have to manually change the version of the zlib headers in the configure generated script by pnglib.

Anyway i completed my first plugin using only Cairo for the UI, i wrote some UI widgets, nothing fancy, a knob, a switch and a dropdown, i can contribute them back.

Saverio
HoRNet is offline   Reply With Quote
Old 06-11-2017, 05:45 PM   #118
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by HoRNet View Post
Thank you for your build script Youlean, I've been able to build Cairo even if I had to make some changes to your scripts, i would share it with you but it's not completely "hands free" right now i have some issue with the zlib headers required for the pnglib. If you run the configure scripts the headers found in the 10.6 sdk differ fomr the system zlib and the pnglib fails to build.
To make it work you have to manually change the version of the zlib headers in the configure generated script by pnglib.

Anyway i completed my first plugin using only Cairo for the UI, i wrote some UI widgets, nothing fancy, a knob, a switch and a dropdown, i can contribute them back.

Saverio
Thanks Saverio. This won't be necessary as I will make some generic cairo controls in the future. I will have to think about strategy how to implement this in a good way though.
Just as a heads up, retina resolution is still working in old way, but I will change this very soon. If you need this urgently, just let me know to up it on my priority list..
Youlean is offline   Reply With Quote
Old 06-12-2017, 05:15 AM   #119
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 171
Default

Quote:
Originally Posted by Youlean View Post
Thanks Saverio. This won't be necessary as I will make some generic cairo controls in the future. I will have to think about strategy how to implement this in a good way though.
Just as a heads up, retina resolution is still working in old way, but I will change this very soon. If you need this urgently, just let me know to up it on my priority list..
Thank you Youlean, it's not needed i already had half working retina support in my branch for bitmaps but never actually used because of the results of a survey I run through my customers that did not deemed retina support essential.

Btw while working on this new plugin I remembered that i have built the midi CC support for the VST3 wrapper some years ago, when i did that it was missing from WDL-OL but I don't know if it's been added since then... if it's still missing i can create a pull request on github (once i understand how to cherry pick those changes alone)

Saverio
HoRNet is offline   Reply With Quote
Old 06-12-2017, 05:42 AM   #120
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by HoRNet View Post
Thank you Youlean, it's not needed i already had half working retina support in my branch for bitmaps but never actually used because of the results of a survey I run through my customers that did not deemed retina support essential.

Btw while working on this new plugin I remembered that i have built the midi CC support for the VST3 wrapper some years ago, when i did that it was missing from WDL-OL but I don't know if it's been added since then... if it's still missing i can create a pull request on github (once i understand how to cherry pick those changes alone)

Saverio
Is this sending midi notes? If so, that would be awesome. I have implement that on AU so VST3 implementation is only missing..
Youlean is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:31 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.