COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :

Go Back   Cockos Incorporated Forums > Other Software Discussion > WDL users forum

Reply
 
Thread Tools Display Modes
Old 05-16-2007, 12:23 PM   #1
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default IPlug C++ code framework for VST and AU audio plugins and GUIs

Here is a code framework for developing audio plugins and GUIs, which includes:

- A platform independent IPlug class that handles all communication with the audio host.

- A platform independent IGraphics class that handles managing the controls on the GUI.

- A set of platform independent IControl classes that handle moving and rotating images, vector graphics, mouse input, etc. Classes like "static bitmap", "switch", "fader", "rotating knob", etc. These classes can be easily extended.

- Windows and OSX graphics implementation classes, which handle window management, and use LICE (Cockos graphics lib) to draw GUIs.

- VST and AU implementation classes, which handle communication between the audio host and the plugin.

The idea is that you can derive a new plugin class from IPlug, and with a small number of readable lines of code, you can assemble the plugin and GUI without caring what the OS, plugin format, or graphics implementation is.

The framework and the code for the sample plugin can be found in the latest WDL package. This code should compile into a Windows VST, an OSX Audio Unit, or an OSX VST with no changes.

Here is an example of the source code (from the package) for the constructor of the example plugin.

To compile VSTs, you will need the VST SDK from Steinberg. You only need two files out of the SDK: aeffect.h and aeffectx.h. To compile AUs, you will need the Core Audio SDK from Apple (this comes with XCode).

The IPlug example project in WDL links in the Cockos LICE graphics library statically, but if you are making one-off plugins you may find it easier to simply add the necessary LICE source files to your plugin project.


.


.

Caveats.
This is code I use, so it's designed for users who are comfortable using C++. It doesn't offer any sort of GUI assembling graphical interface, everything is done in the user's code. Although it supports all the plugin/GUI functionality I happen to use, it may not support the functionality you want, for example it doesn't support common Windows controls like dropdowns and checkboxes. However, it should be straightforward to extend the framework to add features.

Last edited by schwa; 11-02-2009 at 07:04 AM.
schwa is offline   Reply With Quote
Old 05-16-2007, 01:30 PM   #2
esorcc
Human being with feelings
 
Join Date: Feb 2007
Posts: 23
Default That's exactly what I've been waiting for

I've been wanting to dive in to writing VST's. I'd not seen much C++ development for VST's. Having a base class to inherit from will significantly cut my development time.

Is this base class efficient?
esorcc is offline   Reply With Quote
Old 05-16-2007, 01:37 PM   #3
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

It's efficient.
schwa is offline   Reply With Quote
Old 05-18-2007, 10:15 AM   #4
caleb
Human being with feelings
 
caleb's Avatar
 
Join Date: Feb 2007
Posts: 632
Default

Talk to me Schwa.

Is this the cross-platform VST/GUI development platform that we've been waiting for that doesn't have large license costs for commercial endeavors like Juce does?

For example - can we take this and develop Linux VST plug-ins?

I'm actually interested (finally) in developing an audio plug-in and know shit really - I promise that what I want to make is quite simple in comparison to what others do. It's a flexible tone generator more than anything else.

I would also be interested in developing midi plugins.

Please help me.

Regards
Caleb
__________________
Happiness is the hidden behind the obvious.
caleb is offline   Reply With Quote
Old 05-18-2007, 10:44 AM   #5
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Well, it's technically cross platform -- it's designed that way. But ATM it will only work on windows. There are 3 main pieces:

- Framework code -- talking to audio host, managing params and controls, and all the specific code you would write for a given plugin, that's all cross platform and should work more or less out of the box anywhere. But without a GUI.

- Opening and managing the GUI window. This is designed to be able to drop in managers for different platforms but ATM there's only a windows implementation there. The existing windows impl is bare bones simple, it just throws a window up and routes messages back to the framework code. Somebody could write a window manager class to talk to whatever linux window manager pretty easily.

- Drawing the graphics. The two implementation classes in there are gdi+ which is windows-only and cockos LICE which is windows-only for now but planned to be cross-platform.

So for now, just Windows, but the important part is you could write your plugin code and when there are other windows manager and graphics implementation classes, your code will not need to change.

The audio and midi processing end, and what and how communication happens with the audio host, is all straight VST, so whatever a VST can do, IPlug can do.
schwa is offline   Reply With Quote
Old 05-19-2007, 04:34 AM   #6
caleb
Human being with feelings
 
caleb's Avatar
 
Join Date: Feb 2007
Posts: 632
Default

If LICE is planning to be cross-platform, maybe that's a better choice for me at the moment.

I might struggle to start with this without pretty good examples and such. I've never even made a VST plug-in full stop.

Plus there's the small issue that I'm not really a C++ programmer.

Yeah - the obstacles just keep getting bigger.

Regards
Caleb
__________________
Happiness is the hidden behind the obvious.
caleb is offline   Reply With Quote
Old 05-19-2007, 06:10 AM   #7
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

It looks like you at least have a computer, which is an important first step

There is an example plug in the zip but it's not a very exciting one. I'd be happy to help out at any stage, from getting it compiling to usage, etc, anyone who does try it out feel free to pm or whatever if any questions.
schwa is offline   Reply With Quote
Old 05-19-2007, 08:29 PM   #8
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Update mutex lock fixes, alpha blending, user settable gui fps, bitmap overlay control (for "about" screens etc).

Also added GetTimeInfo for finding out the current tempo and quarter-note position, which would be handy for say midi groove quantizing...

Last edited by schwa; 05-23-2007 at 09:19 PM.
schwa is offline   Reply With Quote
Old 05-23-2007, 09:24 PM   #9
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

<insert clever self deprecating joke about continuing to reply to myself here>

Added full midi support, internal state saving/reloading, a file selector control, text controls, other stuff.

IPlug is now a static library ... create a plugin dll by implementing a couple of functions, link against IPlug, and include VSTMain.h.
schwa is offline   Reply With Quote
Old 05-23-2007, 10:51 PM   #10
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

Well, Schwa, I have to say this looks very cool. I've been looking for something like this (an easy framework to get off and running with VSTs) for a long time. I downloaded today, and tried to compile the example in VS2005, which resulted in about 250 errors. I doubt there's anything wrong with your code; more the fact that it's been years since I've done any C++ coding, it was mostly in UN*X, I and don't know what I'm doing anymore. (smile)

Would you expect this to compile out of the box in VS2005? It did do some conversion when I opened it. Most of the compile errors seemed to be around very simple things (like trouble finding strcpy and other basic functions). I did D/L the Steinberg SDK as well as WDL and put them in the compiler's path. I'm hoping it's just some global library I haven't stuck in the compiler path yet or maybe I need some more include statements.

Any advice? I would love to play around with this but I'm kinda stuck Feel free to ignore me if this is a more basic question than you wanted to take on ;-)
HotDogWater is offline   Reply With Quote
Old 05-24-2007, 03:59 AM   #11
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Actually I know what your problem is: it's WDL's string.h conflicting with the standard library string.h. You need to do one of these things:

- rename WDL/string.h to something else, like WDL/wdlstring.h.

or

- don't put WDL in your include path at all, and whenever you need a WDL include, explicitly qualify it as #include "../WDL/whatever.h".

IPlug doesn't use WDL's string.h, so so the first fix will work without changing IPlug and the second fix will require (slightly) changing IPlug's references to WDL includes.

With that fix, you will still get a few errors about not finding resource.h or the IDR_PNGX style constants that reside in it, you'll need to add your own PNG image resources to the project.

Please do attach a file with any remaining errors or warnings you get and I'll try to help out.

Last edited by schwa; 05-24-2007 at 06:19 AM.
schwa is offline   Reply With Quote
Old 05-24-2007, 06:17 AM   #12
stodge
Human being with feelings
 
Join Date: May 2007
Location: Canada
Posts: 206
Default

Cool! I'm curious about writing VSTs, so I might just give this a try.
stodge is offline   Reply With Quote
Old 05-24-2007, 06:22 AM   #13
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

That went a long way! I decided to try your fix of renaming WDL's string.h since that seems easiest to deal with in the long run.

IPlug compiled with no errors. IPlugGUI generated a 3 errors with respect to the PNG files (I can't find where the variables that reference them are defined) and 2 warnings.

The compiler log is here:
Plug GUI


Again, thanks for taking the time. Any help appreciated

Last edited by HotDogWater; 05-24-2007 at 06:29 AM.
HotDogWater is offline   Reply With Quote
Old 05-24-2007, 06:43 AM   #14
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

OK.

If you're unfamiliar with using resources in C++ projects, it might be worth a web browse to read up on it. The example plugin refers to constants like IDR_PNG1 etc, which are references to compiled-in image resources that aren't included in the download. What you'll need to do is:

- Right click project -> add resource.
- Import -> browse to whatever image files you want to use for your background, faders, knobs, meters, whatever.
- If your version of VS doesn't recognize PNGs and you try to import a PNG, it will ask what type of resource it is, type "PNG".

When you do that VS will compile the image resources into the binary, and create a resource.h file that contains tags like IDR_PNG1 etc that refer to those images. You can then use those tags to construct IBitmaps in the IPlug code.

Now, if you're using the free VC++ 2005 express, microsoft has cruelly disabled the resource compiler and "add resource" will be grayed out. You'll need to browse for how to compile resources from the command line, which isn't hard, but is an arbitrary pain in the ass that Microsoft has decided to drop on you because you didn't pay them any money.

I think all the rest is warnings from the Stenberg VST header which has the char-width-unsafe strncat, strncpy, etc in it. Your options are: ignore the warnings, or edit the header to use _strncat etc instead (I think, might require some fiddling), or define _CRT_SECURE_NO_DEPRECATE at the top of the header.

Last edited by schwa; 05-24-2007 at 06:46 AM.
schwa is offline   Reply With Quote
Old 05-24-2007, 06:49 AM   #15
stodge
Human being with feelings
 
Join Date: May 2007
Location: Canada
Posts: 206
Default

Quote:
Originally Posted by schwa View Post
Actually I know what your problem is: it's WDL's string.h conflicting with the standard library string.h. You need to do one of these things:

- rename WDL/string.h to something else, like WDL/wdlstring.h.

or

- don't put WDL in your include path at all, and whenever you need a WDL include, explicitly qualify it as #include "../WDL/whatever.h".

IPlug doesn't use WDL's string.h, so so the first fix will work without changing IPlug and the second fix will require (slightly) changing IPlug's references to WDL includes.

With that fix, you will still get a few errors about not finding resource.h or the IDR_PNGX style constants that reside in it, you'll need to add your own PNG image resources to the project.

Please do attach a file with any remaining errors or warnings you get and I'll try to help out.
How about a WDL/wdl namespace?
stodge is offline   Reply With Quote
Old 05-24-2007, 06:55 AM   #16
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Quote:
Originally Posted by stodge View Post
How about a WDL/wdl namespace?
I don't think that would fix the include problem unfortunately ... the issue is that the compiler knows it needs a string.h, grabs the first one it finds and carries on, and then complains that it never saw the functions defined in the other string.h.
schwa is offline   Reply With Quote
Old 05-24-2007, 09:07 AM   #17
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

Good stuff. I am still struggling. I'm running VS05 Pro, so it lets me import resources. I browse to a PNG file I created, give it type PNG, and it opens up a hex file with an RC extension. Any suggestions? Sorry for all the basic questions that I should probably already know when attempting this.

Also, though there were no graphics files included in the archive, they appear in my resource list. (e.g. fader-cap.png)
HotDogWater is offline   Reply With Quote
Old 05-24-2007, 09:24 AM   #18
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

I guess I should just stick some pngs in the download. I sort of wanted a handsomer looking example plugin before doing that (the graphics in the example are fairly random). You might need to delete the references to nonexistent pngs, I'm not sure.

Anyway. Add your own image resource at described above. VS will then display the raw data (because it doesn't understand what a PNG is, if you added a BMP resource it would display the actual bitmap), with a label like "IDR_PNGX" in the tab over the data. Save the raw data file and close it to get it out of your way. In your plugin, that IDR_PNGX label can now be used to initialize an IBitmap.

Specifically what happens is when you compile, VS compiles the resources first, and creates a resource.h file that lists all the resource tags. If you #include "resource.h", then you can use the tag as a reference to the image.

This is all generic resource stuff, not specifically to do with IPlug (I'm happy to help with it, just being clear that these are generic issues and not IPlug specific issues).

Here is some MSDN stuff on using resources.

Last edited by schwa; 05-24-2007 at 09:38 AM. Reason: added MSDN link
schwa is offline   Reply With Quote
Old 05-24-2007, 09:46 AM   #19
stodge
Human being with feelings
 
Join Date: May 2007
Location: Canada
Posts: 206
Default

Quote:
Originally Posted by schwa View Post
I don't think that would fix the include problem unfortunately ... the issue is that the compiler knows it needs a string.h, grabs the first one it finds and carries on, and then complains that it never saw the functions defined in the other string.h.
Fair enough. Maybe rename your string header in the download?
stodge is offline   Reply With Quote
Old 05-24-2007, 11:24 AM   #20
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

Yep, I agree that this is generic resource stuff and you are very generous to help out, not to mention posting your code wihch looks like it will be very useful! Thanks for the instructions and the link.

So, now I've downloaded your most recent ZIP file (Iplug as a static library). The resource PNG files seem to (I hope) be the last hurdle. But now when I right click and try to add a new PNG resource, I'm getting "Operation cannot be completed - unspecified error". (which is oh so helpful a message ) The PlugGUIExample.rc list is empty and says "load failed." Everything I do around resources seems to generate that unspecified error. And I can't seem to remove the PlugGUIExample.rc file and start from scracth.

So I'm Googling around and trying to find out why that would happen (maybe a VS 2005 bug?), but so far no luck.
HotDogWater is offline   Reply With Quote
Old 05-24-2007, 11:32 AM   #21
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

I'm in the middle of putting together a real example plugin which I will zip up with images & all. I should be able to get it out within the next hour or so.
schwa is offline   Reply With Quote
Old 05-24-2007, 11:39 AM   #22
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

Schwa, you're a gentlman and a scholar!

WHATEVER kind of images you include are going to be better than what I was throwing together (plain circles and squares, probably way off in size) just trying to get this to compile
HotDogWater is offline   Reply With Quote
Old 05-24-2007, 11:51 AM   #23
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

OK, there is a real example plugin there including images, that should compile out of the box. It's a boring panner / channel switcher, with randomly placed graphic elements that White Tie ("Shiny Knobs for the Distinguished Gentleman") was kind enough to sweep off the desk in my direction.

I think I scooped everything for the example into the zip, let me know if anything is missing.

Last edited by schwa; 05-24-2007 at 11:58 AM.
schwa is offline   Reply With Quote
Old 05-24-2007, 12:28 PM   #24
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

It doesn't look boring to me. Perhaps from an end user perspective it is but from a learning perspective, it looks perfect.

Still having PNG troubles.

Compiler's output is here. The compiler did not seem to generate a resource.h file (at least that I can find) when it went, so I'm guessing the errors are linked to that.
HotDogWater is offline   Reply With Quote
Old 05-24-2007, 12:47 PM   #25
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Well let's see. There must be a resource.h file somewhere or else the compiler would complain about not finding it. I would say, first clean the project. Then, there should be an .rc file in the project, try right-click compile only the resources and see if you get a new resource.h file.
schwa is offline   Reply With Quote
Old 05-24-2007, 01:25 PM   #26
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

I made it past the PNGs. YAY! There were a few problems. I had a path to WDL\lice\test in my preferences and there was a resource.h file there that it was using. It wouldn't build me a resource.h file until I manually added a new resource and then deleted it. Finally, the existing resource IDs all got imported inside double quotes, and it didn't like those. So anyway, I think there is progress

Now I'm down to one (new) error:
Quote:
Linking...
LINK : fatal error LNK1104: cannot open file 'lice.lib'
I can't find the file "lice.lib" on my HDD either. Is this part of the WDL?
HotDogWater is offline   Reply With Quote
Old 05-24-2007, 01:29 PM   #27
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Endgame!

If you want to use the Cockos LICE graphics lib as your GUI engine, you need to compile LICE. It's part of WDL, there should be a project file in WDL/LICE which will compile a lib to Debug or Release underneath that dir. Then you may need to adjust a path to the LICE lib in the PlugExample project settings (there will be a relative path for it there already but if you put things in different places from me, you'll need to change it).
schwa is offline   Reply With Quote
Old 05-24-2007, 02:08 PM   #28
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

That's it! AWESOME! It compiled, and loaded up in Reaper! Thank you SO MUCH for helping me get this going! Now to start tinkering and hopefully my next question(s) will be more relevant to iPlug itself rather than how to compile

Just an FYI, when I loaded the compiled DLL into Reaper, two things weren't as I expected.

1. The pan control isn't where I thought it would be (see my screenshot)

2. The pan knob functions (affects audio pan), but the knob doesn't rotate



So, first iplug question. There are function calls to SetDisplayText e.g.
Quote:
GetParam(kChannelSw).SetDisplayText(kDefault, "default");
but I don't ever see that text displayed. Would you expect to see it somewhere?
HotDogWater is offline   Reply With Quote
Old 05-24-2007, 02:14 PM   #29
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Hmm, that's weird the knob is in a different place. Are you using the gdi+ engine or the lice one? If the lice one, it's possible we have different versions or something. Whichever one you are using, try the other one and see if anything changes.

The display text is what shows by default in the GUI-less interface (press the UI button). But it's available via GetParam(idx).GetDisplayTextForHost() if you want to send it to a text control on the GUI or something.

I'm gone until late tonight, hope that helps for now.
schwa is offline   Reply With Quote
Old 05-24-2007, 04:17 PM   #30
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

I was using gdi+ but after switching to Lice, same thing. Pan knob is still behind left meter.

After digging in a little further into the code and opening up the PNG files in GIMP, I realize the things I thought were a/b swiches are in fact faders. They do not move, in addition to the pan knob not moving. Though the graphics don't move, going through the motions of moving them does control the sound (i.e. I can click on a fader and drag down and that channel's gain goes down but the fader graphic stays stationary).

The meters are animated as expected, and the 5-pole switch moves when I click it. Can't say I've quite figured out how that works yet. They are esentially graphics for all possible positions stacked atop one another. But I'm not sure how the code tells it to move to position Y within the PNG file. I'll have to play with that, I guess.

I wonder if you sent the DLL that you compiled on your system if it would behave as expected on my system or do the same thing it's doing now.

Again, thanks for this. It is well documented code, so I'm starting to get a feel for what's going on, and could see where this could really make for rapid VST development! PlugGUIExample.cpp is really very few lines of code for what it does, and is pretty straightforward to read.

Last edited by HotDogWater; 05-24-2007 at 04:20 PM.
HotDogWater is offline   Reply With Quote
Old 05-24-2007, 07:16 PM   #31
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

HDW, make sure all the IPlug code is current, maybe that's the trouble.

I'll put a version file or something in the package for clarity, I guess.
schwa is offline   Reply With Quote
Old 05-25-2007, 10:29 AM   #32
HotDogWater
Human being with feelings
 
HotDogWater's Avatar
 
Join Date: May 2007
Posts: 232
Default

I know we've gone back and forth with PMs, but just for the record - all fixed when I updated to the most recent version.
HotDogWater is offline   Reply With Quote
Old 05-26-2007, 06:34 PM   #33
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Updated IPlug: simplified drawing logic, more text drawing options, proper drawing cleanup after modal windows.
schwa is offline   Reply With Quote
Old 06-07-2007, 06:17 AM   #34
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Updated with project files for VC++ 2005. I had to rebuild a PC anyway so I thought I'd try out the free VC++ 2005 Express, which works just fine, I recommend it for anyone who wants to do C++ work without the installing whole Visual Studio universe.

Earlier I said that the free VC++ didn't have a resource compiler, but that's wrong, all it's missing is a resource editor, which for this application you would never use anyway. You need to hand-write a resource.h and <projectname>.rc file, but it's very straightforward (faster than adding resources using the resource editor), and the compiler will embed the images properly for you (you can look at the example project to see how it's done).
schwa is offline   Reply With Quote
Old 06-07-2007, 07:41 AM   #35
Andrew Cockburn
Human being with feelings
 
Andrew Cockburn's Avatar
 
Join Date: Jun 2007
Location: FL, USA
Posts: 97
Default

Hey Schwa,

This looks cool - I tried VST programming a few months ago but gave up when I ran out of steam with all the boring GUI programing - I'll definately have a look at this and have a play - thanks!
Andrew Cockburn is offline   Reply With Quote
Old 06-28-2007, 10:20 PM   #36
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

I removed the gdi+ graphics implementation class from IPlug. Cockos' Lice graphic library now supports vector drawing (as well as lots of other cool stuff, check it out). So Lice can now do most of what gdi+ can do, but way faster.
schwa is offline   Reply With Quote
Old 06-29-2007, 01:26 PM   #37
aquila
Human being with feelings
 
Join Date: Jun 2007
Posts: 4
Default LICE_Line identifier not found

Hi,
I try to compile the Iplug with the latest version of WDL (2070627) and I have the following error : LICE_Line identifier not found.
I open the lice.h and there is :
/*
Stuff planned:


...
void LICE_Line(LICE_IBitmap *dest, float x1, float y1, float x2, float y2, LICE_pixel color, float alpha=1.0, bool aa=true);
void LICE_Rectangle(LICE_IBitmap *dest, float x1, float y1, float x2, float y2, LICE_pixel color, float alpha=1.0, bool aa=true);
....
*/
SO the method is not implemented in my version of WDL. When do plan to update the WDL to compile Iplug or do I have the right version ?

regards
Philippe
aquila is offline   Reply With Quote
Old 06-29-2007, 05:18 PM   #38
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Oops! That's coming to WDL soon I think. For the moment you can comment out the single call to LICE_Line at (or near) IGraphicsLice.cpp line 142 and everything else should work fine (except vector drawing, of course), until a new WDL comes out.
schwa is offline   Reply With Quote
Old 06-30-2007, 12:46 AM   #39
aquila
Human being with feelings
 
Join Date: Jun 2007
Posts: 4
Default Error 1 fatal error LNK1181: cannot open input file '.\Debug\IGraphicsGL.obj' IPlug

There is another problem. The file IGraphicsGL.cpp and .h is not present. But there is IGraphicsGdip.cpp and .h
Does the new files replace the old one.
If I try to replace, I have a lot of error in like IGraphicsGdip.h:
Error 1 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\nomad\dev\juce\wdl\iplug\igraphicsgl.h 27
or
Error 2 error C2143: syntax error : missing ',' before '&' c:\nomad\dev\juce\wdl\iplug\igraphicsgl.h 27

Have you an idea ?

regards
Philippe
aquila is offline   Reply With Quote
Old 06-30-2007, 05:24 AM   #40
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,749
Default

Sorry about that, I left the old vcproj file in the zip after I removed the stale files, so it's looking for stuff it can't find. I updated the zips, it should work without complaining now.
schwa 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 10:17 AM.


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