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

Go Back   Cockos Incorporated Forums > Cockos and Friends Software Discussion > WDL users forum

Reply
 
Thread Tools Display Modes
Old 07-01-2007, 02:08 AM   #41
aquila
Human being with feelings
 
Join Date: Jun 2007
Posts: 4
Default main.ico missing in test lice folder

Hi,
I test. Iplug compile now. But for the IplugExample the project need lice.lib and the lice project doesn't compile because the main.ico is missing in the test folder. I add a dummy icone and everything is ok.

regards
Philippe
aquila is offline   Reply With Quote
Old 07-04-2007, 05:34 AM   #42
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Justin dropped by in the dark of night to fix a windows-level problem that occurred when multiple instances of the same plugin were loaded and unloaded. Thanks Justin.

... also there were a couple of changes in this update that will require tweaking existing projects: OnParamChange now supplies the index of the param that changed, the vector drawing controls now take a channel blending object, the relative library paths got flatted by one level, and possibly other minor things I can't recall at the moment.

Last edited by schwa; 07-04-2007 at 05:38 AM.
schwa is offline   Reply With Quote
Old 08-30-2007, 07:49 AM   #43
spaz
Human being with feelings
 
Join Date: Aug 2007
Location: Not too far from SeaTac Airport
Posts: 29
Default

Should work on:

1. OSX?
2. Any VST Host?

Last edited by spaz; 08-30-2007 at 07:51 AM. Reason: i hit enter or something!!
spaz is offline   Reply With Quote
Old 08-30-2007, 10:52 AM   #44
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Quote:
Originally Posted by spaz View Post
Should work on:

1. OSX?
2. Any VST Host?
I just updated the code with a month's worth of changes, at the top of the thread. IPlug has been pretty well battle tested in many configurations in many VST hosts, including Cubase SX3 & C4, Samplitude, FL Studio, Sonar, Live, etc.

IPlug will not work on OSX out of the box. But it's designed to be portable. Right now, to work on OSX, two new classes would need to be written: a window handler class and a graphics drawing class. (Both of these needs may eventually be met by WDL's LICE and SWELL.) With those two new classes, plugins written in IPlug will be compilable for either Windows or OSX.

I'm pretty sure the OSX classes will exist someday, but it's not something I'm working on right now.

* By the way, I want to say an huge "thank you" to Tallisman, who has done a tremendous amount of the aforementioned battle-testing. Thanks T!

Last edited by schwa; 08-30-2007 at 12:01 PM.
schwa is offline   Reply With Quote
Old 08-30-2007, 05:38 PM   #45
spaz
Human being with feelings
 
Join Date: Aug 2007
Location: Not too far from SeaTac Airport
Posts: 29
Default

Quote:
Originally Posted by schwa View Post
I just updated the code with a month's worth of changes, at the top of the thread. IPlug has been pretty well battle tested in many configurations in many VST hosts, including Cubase SX3 & C4, Samplitude, FL Studio, Sonar, Live, etc.

IPlug will not work on OSX out of the box. But it's designed to be portable. Right now, to work on OSX, two new classes would need to be written: a window handler class and a graphics drawing class. (Both of these needs may eventually be met by WDL's LICE and SWELL.) With those two new classes, plugins written in IPlug will be compilable for either Windows or OSX.

I'm pretty sure the OSX classes will exist someday, but it's not something I'm working on right now.

* By the way, I want to say an huge "thank you" to Tallisman, who has done a tremendous amount of the aforementioned battle-testing. Thanks T!
Why would LICE and SWELL not do the job today?
spaz is offline   Reply With Quote
Old 10-09-2007, 01:04 PM   #46
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default IPlug 2.0

A major update (in the first post) that includes tons of updates including vastly more efficient drawing logic, presets, battle tested host compatibility, and a million other things. Also I replaced STL with Cockos WDL, which makes for much smaller and somewhat faster code.

Removing STL caused a lot of interface changes, so this update is NOT compatible with previous IPlugs. And what's more, I'll be away for a few days and unable to respond to any problems! So if you are an actual current IPlug user, please copy your current build to a safe place instead of just clobbering it with this one.

Also, I'm using VC++ 9 Express which is newish, so I didn't bother posting project files because I know they are not backwards compatible.

Also if you are an actual current IPlug user, please say hello to the unicorns and leprechauns and other mythical creatures you must live among...
schwa is offline   Reply With Quote
Old 10-19-2007, 07:00 AM   #47
wct
Human being with feelings
 
Join Date: Sep 2007
Posts: 3
Default

Hi there! I checked out the last release of IPlug and was impressed with what I saw, but haven't had time to do much with it recently. For what it's worth I was able to build the last release on Visual Studio 2005 by editing the project file and changing the version "9.00" to "8.00". But I'm on a new computer now and just installed Visual Studio Express 2008, so time to give it another whirl.

The main issue I had last time was that I had to guess the include and library paths for VST and LICE. Has this been standardised somehow (maybe an env variable?)

I also tweaked the iplug creation to allow use as a generator module. I'd be happy to contribute back code but I need to get up to speed with this release first.

Thanks for your great work!
wct is offline   Reply With Quote
Old 11-08-2007, 08:46 AM   #48
wct
Human being with feelings
 
Join Date: Sep 2007
Posts: 3
Default Multi-param controls?

I want to add a control that maps to two parameters (in this case an X/Y pad control). When I looked controls appeared to be limited to 1 param. If I change this would I be better off subclassing in my own library, or modifying IPlug and submitting the changes back?
wct is offline   Reply With Quote
Old 11-08-2007, 09:48 AM   #49
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Quote:
Originally Posted by wct View Post
I want to add a control that maps to two parameters (in this case an X/Y pad control). When I looked controls appeared to be limited to 1 param. If I change this would I be better off subclassing in my own library, or modifying IPlug and submitting the changes back?
When I've done this, I've subclassed IControl and overridden SetDirty to send both parameters back to the host, which is a painless way to do something like an X/Y pad.

Often though if you have a complex control, some parameters may be constrained by others, for example if you have controls to move 2 points along a line but the points may not pass one another. In this case it's not really safe to allow the control values to be VST parameters at all, because with the GUI closed (or using automation) the user could set the parameters to illegal combinations. In cases like this, I've subclassed IControl and had the new control hold a pointer to the plugin instance class. That way, the graphics handler still knows how to pass mouse actions to the control, but the control and the plugin can communicate directly without having to go back through the parameter handling code.

(BTW I just updated the IPlug src in the first post.)
schwa is offline   Reply With Quote
Old 11-09-2007, 04:39 AM   #50
wct
Human being with feelings
 
Join Date: Sep 2007
Posts: 3
Default

Cool, I'll try that and see how I go.
wct is offline   Reply With Quote
Old 01-15-2008, 08:17 PM   #51
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default Quick question

Thanks for this library! It was simple to get working, and I'm working on a VST plugin (receiving and processing both MIDI and audio) as we speak, complete with GUI and all. I'm very happy having gotten this far working less than 24h.

A quick question: I'm using the IKnobMultiControl to display a nice little knob I made with KnobMan, and it works very well. But for simple 2 bitmap thingies like a "MIDI activity"-indicator not connected to a parameter, what would you use?

Thanks again!
COCPORN is offline   Reply With Quote
Old 01-15-2008, 08:23 PM   #52
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default

Quote:
Originally Posted by COCPORN View Post
...snip question which has the answer in the example code...
*blush*

Sorry about that, I see you're using the IBitmapControl in the example. Thanks again.
COCPORN is offline   Reply With Quote
Old 01-15-2008, 08:36 PM   #53
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

I'm glad somebody's getting use out of this.

BTW, there's a major iplug update coming with OSX and AU support. I'd guess a couple of weeks away, after I clear some other work out.
schwa is offline   Reply With Quote
Old 01-15-2008, 08:59 PM   #54
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default

Quote:
Originally Posted by schwa View Post
I'm glad somebody's getting use out of this.

BTW, there's a major iplug update coming with OSX and AU support. I'd guess a couple of weeks away, after I clear some other work out.
Excellent. I've already managed to add the MIDI-activity button since my last post. This is a very nice library indeed. Looking forward to OSX support too! That'll be great.
COCPORN is offline   Reply With Quote
Old 01-16-2008, 11:41 AM   #55
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default Another small(?) problem

I tried moving my plugin to my computer designated for audio work, but Live 7 doesn't even find the plugin on a rescan. That is, I'm sure it rescans the directory, but for some reason it doesn't list my baby.

Anyone familiar with troubleshooting this kind of situation? Are there any specialized hosts suitable for debugging this (and other) kinds of problems?

(I've MD5 checked files on both computers, it works perfectly on my development machine. I've also installed the vcredist 2008 on the second computer, as I'm using Visual Studio 2008 for development. I've also tried making an installation project to detect dependencies, but this doesn't seem to do any good either; it just adds comdlg32.dll to the install directory.)

Any help greatly appreciated.
COCPORN is offline   Reply With Quote
Old 01-16-2008, 12:13 PM   #56
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Quote:
Originally Posted by COCPORN View Post
I tried moving my plugin to my computer designated for audio work, but Live 7 doesn't even find the plugin on a rescan.
Is this a machine problem, or a host problem? You have computer A and computer B, and you have Reaper and Live (say). Which of the 4 combinations work and which don't?

I know for sure that my current local IPlug works in Live 6 and Live 7, fwiw, so if you discover it's a host problem, I can push the current source code up (it's been a while since I updated the code here). If it's a machine problem, it may be that the compiler settings on the dev PC don't generate code that audio PC can read (SSE2 code won't run on an Athlon XP, for example).
schwa is offline   Reply With Quote
Old 01-16-2008, 12:39 PM   #57
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default Similar configurations

The configurations are similar, but not identical. The laptop is a Core2 Duo, the desktop is a Quad, both from Intel. Both are running Vista Home Premium. Both are Live 7.0.1.

I'll try to compile the plugin with VS2005, I'm pretty sure this has something to do with runtime libraries and stuff like that. Trying that now.

Do you have a debug-host to recommend? I did a search but found mostly dead links.
COCPORN is offline   Reply With Quote
Old 01-16-2008, 12:48 PM   #58
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Quote:
Originally Posted by COCPORN View Post
The configurations are similar, but not identical. The laptop is a Core2 Duo, the desktop is a Quad, both from Intel. Both are running Vista Home Premium. Both are Live 7.0.1.

I'll try to compile the plugin with VS2005, I'm pretty sure this has something to do with runtime libraries and stuff like that. Trying that now.

Do you have a debug-host to recommend? I did a search but found mostly dead links.
If the same version of Live loads the plugin on one PC and not the other, I think it has to be something in your compiler settings. Did you change anything in the stock compiler settings that came with the project?

I don't think this will help in your case, but one debugging option is to define TRACER_BUILD in the project settings for IPlug and your plugin. Then the plugin will log all activity to C:/VSTLog.txt (don't run it too long if you get it to load, or you'll wear a groove in the disk). But like I said, it sounds like the one PC isn't even recognizing the dll.

I use a bunch of hosts for debugging, these all have free or eval versions available:
- MiniHost
- EnergyXT
- Live
- Samplitude
- Tracktion
- Sonar (time limited trial)
schwa is offline   Reply With Quote
Old 01-16-2008, 01:11 PM   #59
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default Not sure

Did the source come with a project? Not sure if I found it.

WDL came with a project, which I've converted to 2005 and 2008-projects, it compiles nicely on both platforms after handling a problem with redefinition of UINT8 and UINT16.

IPlugExample.zip and IPlug.zip don't really come with project files, as far as I can see. Am I missing something?

I've just done a "Create project from existing sourcefiles" and chose them to be lib for IPlug and dll for IPlugExample.

Any idea what settings in the project would make this not work? Do you have a sample project file for 2005 or 2008?

I've now compiled my source with 2005 and 2008, both work on the dev-PC, none work on the separate machine. I've also tested the VST Plugin Analyser from here: http://www.savioursofsoul.de/Christian/?page_id=5, which loads the plugin correctly on the dev-machine, but not on the separate machine. I've also compiled the source with the TRACER_BUILD-define, but nothing shows up in any file, even on the machine where the plugin loads correctly.

Thanks again!
COCPORN is offline   Reply With Quote
Old 01-16-2008, 01:18 PM   #60
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Here's a VC++ 2008 project file for the example project. If you post yours I can take a look at it, too.
http://stash.reaper.fm/oldsb/18548/IPlugExample.vcproj

The TRACER_BUILD needs both the lib and the dll compiled with it on (I use a separate build config for this). But it's clear this won't help you, because you need to get the one PC to read the dll at all.
schwa is offline   Reply With Quote
Old 01-16-2008, 01:42 PM   #61
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default Success!

I went through and made some changes. The ones I remember off the top of my head were "Character set" from "Not set" to "Multibyte charset", "Multithreaded DLL" (/MD)to "Multithreaded" (/MT), also I only had link includes to only lice.lib and iplug.lib, I added the ones you had in your project.

I'm pretty sure the perp was the "Multithreaded DLL", tho, in C++ Code Generation.

Thanks a bunch for your help!
COCPORN is offline   Reply With Quote
Old 01-18-2008, 01:52 AM   #62
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default Another small problem

I've come a long way in a short time writing my first VST plugin. Doing the last polishing I decided to implement a bypass button. As this will not be linked to a VST parameter, I decided on just subclassing the IBitmapControl with a new class; BypassButton. In BypassButton I override OnMouseDown, and toggle a bool and some UI elements in the plugin surface.

Problem is, the click-message is trapped only 70% of the time. I kind of remember this behavior in the cyclebitmaps in the IPlugExample-project too. (The one with the led and the lever.)

Anyone else experienced this, and/or have a workaround?

(EDIT: It seems to trigger ~100% of the time if I move the mouse in and out of the bitmap boundaries with every click. This could be a timing thing, tho. RE-EDIT: It seems like it approaches ~100% if I wait a period of time between clicks. Which is kind of odd. Is there a need to lock on some kind of mutex to trap these 100%? Tried locking on the IPlug mMutex in OnMouseDown, but no behavior changed.)

Last edited by COCPORN; 01-18-2008 at 02:26 AM.
COCPORN is offline   Reply With Quote
Old 01-18-2008, 05:19 AM   #63
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Could it just be that overly soon re-clicks are interpreted as double clicks? Try overridding OnMouseDblClick too.
schwa is offline   Reply With Quote
Old 01-18-2008, 08:29 AM   #64
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default :)

Thanks again, now everything works excellently.
COCPORN is offline   Reply With Quote
Old 01-20-2008, 03:21 AM   #65
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default ISwitchControl

BTW, ISwitchControl is affected by the same problem (with the double clicks not being trapped). It's really easy to fix, but should probably make it into your source base. I just added;

IControl.h:

(To ISwitchControl declaration.)

void OnMouseDblClick(int x, int y, IMouseMod *pMod);


IControl.cpp:

void ISwitchControl::OnMouseDblClick(int x, int y, IMouseMod *pMod)
{
OnMouseDown(x, y, pMod);
}

Then the lever doesn't jump around as strangely anymore.
COCPORN is offline   Reply With Quote
Old 01-20-2008, 05:37 AM   #66
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default Problem with static audioMasterCallback

There seems to be a problem with the way the audioMasterCallback is stored in the current implementation. This sometimes causes the plugin to hang the host under certain circumstances.

To reproduce:

(works with IPluginExample):

Set the ProcessDoubleReplacing-implementation to ask for host information, for example sample position:

void PlugExample::ProcessDoubleReplacing (double** inputs, double** outputs, int sampleFrames)
{
WDL_MutexLock lock(&mMutex);

int samplePos = GetSamplePos();
}

Create two instances of the plugin. Deleting the first works fine. Trying to deleting the second hangs my host (Live 7). Note: Both instances of the plugin will happily coexist until you delete one of them.

(I'm not intimately familiar with how DLL handles static resources, but I think this might be the problem. I tried heap-allocating some memory to hold the callback, but I was unable to get it to work.)

Workaround:

It's not difficult to work around this problem by passing the audioMasterCallback to the IPlug-instance (I'm currently doing this for my own plugin). This makes the IPlug-interface VST specific, tho. I'll leave it up to you to figure out a smart way to fix this in a platform agnostic way.
COCPORN is offline   Reply With Quote
Old 01-20-2008, 06:40 AM   #67
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Boy, you're going at this, aren't you?

For AU support I've added an "instance data" struct that holds the host callback and HINSTANCE pointer for Windows VSTs, and mac and AU specific stuff when relevant. Each plugin instance then holds its own instance data, so nothing is kept global. This will probably clear up whatever you're seeing.

Also, fwiw, the default double-click implementation resets the control to its original (default) setting.
schwa is offline   Reply With Quote
Old 01-20-2008, 07:40 AM   #68
COCPORN
Human being with feelings
 
Join Date: Jan 2008
Location: Oslo
Posts: 101
Default

I had a dream as a boy to code sound-stuff, and now it seems so accessible (mainly because of the excellent support in this thread) I'm going to spend some time with it.

I'm very happy with the results so far, I've been able to code this in under a week with no prior exposure to VST or MIDI:

http://www.intranq.com/Screenshots/P...Gate_Beta1.png

(The knobs actually do something.Send me a private message if you need a MIDI controlled "trance gate", and I'll give you the download URL.)

I'm looking forward to trying to compile this stuff on my friend's OSX-laptop, it sounds like the problem I was experiencing has been solved nicely. Regarding the double click thingie, I noticed on the rotary knobs that double click reset them, but I didn't have the mental capacity to transfer this behavior to the switchknobs. From a user point of view it was still kind of confusing even knowing why it was bahaving like that, so I'll leave the reset function disabled.
COCPORN is offline   Reply With Quote
Old 03-27-2008, 11:35 AM   #69
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Updated ... now you can compile the same code into a Windows VST and an OSX Audio Unit.
schwa is offline   Reply With Quote
Old 03-29-2008, 08:43 PM   #70
NAS
Human being with feelings
 
NAS's Avatar
 
Join Date: Dec 2007
Location: In church, burning it down
Posts: 1,345
Default

Hohohohohoho very cool update

NAS
__________________
Not Gods or Saints but HUMAN be
NAS is offline   Reply With Quote
Old 05-06-2008, 11:44 AM   #71
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Updated the source code (link in first post). VST and now AU support have been battle-tested in many hosts. Added OSX VST support.
schwa is offline   Reply With Quote
Old 05-13-2008, 12:01 PM   #72
TheAudiophileDutchman
Human being with feelings
 
TheAudiophileDutchman's Avatar
 
Join Date: May 2008
Location: Made in Holland
Posts: 7
Default How to compile lice.lib with VC++ 2008 Express

Great stuff!!

Would like to testdrive with VC++ 2008 Express, by using:

Quote:
Originally Posted by schwa View Post
Here's a VC++ 2008 project file for the example project. If you post yours I can take a look at it, too.
http://stash.reaper.fm/oldsb/18548/IPlugExample.vcproj

The TRACER_BUILD needs both the lib and the dll compiled with it on (I use a separate build config for this). But it's clear this won't help you, because you need to get the one PC to read the dll at all.
but the linker yields an error because it cannot open "lice.lib". See also:
http://www.cockos.com/forum/showthre...520#post184520

Any suggestions?
TheAudiophileDutchman is offline   Reply With Quote
Old 05-13-2008, 12:14 PM   #73
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

I do compile lice with VC08 ... you are compiling the lice library, not the test executable, right? That error sounds like it's not able to build the resources but the library shouldn't need any resources.

This might help, it's the VC08 vcproj file I use to build lice:
Attached Files
File Type: zip lice_vcproj.zip (2.1 KB, 370 views)
schwa is offline   Reply With Quote
Old 05-14-2008, 09:48 AM   #74
TheAudiophileDutchman
Human being with feelings
 
TheAudiophileDutchman's Avatar
 
Join Date: May 2008
Location: Made in Holland
Posts: 7
Default

You did put me on the right track, Schwa. After getting rid of some more directory related compiler & linker errors, I got the example-dll running in no time. Now, let the games commence ;-)

Thanks a lot!
TheAudiophileDutchman is offline   Reply With Quote
Old 06-15-2008, 05:23 AM   #75
kierenj
Human being with feelings
 
Join Date: May 2008
Posts: 16
Default

Hi, wondering the best way of doing a visualisation-style plugin (or, one that redraws the whole window at a frequency). I saw some FPS / OnIdle things in the interfaces, but can't seem to wrangle it to work the way I'm thinking of.

At the moment I'm creating a graphics object, with no controls, and then infrequently (every 20k samples for this example) in ProcessDoubleReplacing calling some DrawLine(), then DrawScreen() with the whole screen rect.

It redraws if you force a window redraw - drag it on/off screen, overlay something else on top and move it away etc - but no matter what I do it wont refresh by itself - invalidate I mean.

Is there a correct way to do this? Create a new IControl-derived class for this kinda stuff?
kierenj is offline   Reply With Quote
Old 06-15-2008, 06:57 AM   #76
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Proper usage would have the control only redrawing itself when it is marked dirty. For controls that have only a single value (like a knob, or a meter), you can call GetGUI()->SetParameterFromPlug from within ProcessDoubleReplacing, which will cause the control to set itself dirty and redraw.

If the control has more than one value (like a graph), here's what I do:

- Create a new control class, and store a pointer to it in your plugin class.
- Write a control method Draw() (to override IControl:: Draw) that pulls the stored data from the plugin and draws whatever it needs to.
- From within the sample processing code, store whatever data the control needs, and whenever you want the control to redraw itself, call mycontrol->SetDirty(), which will cause mycontrol->Draw() to be called.

Last edited by schwa; 06-15-2008 at 11:13 PM.
schwa is offline   Reply With Quote
Old 06-15-2008, 10:39 PM   #77
garyn
Human being with feelings
 
Join Date: Mar 2007
Posts: 3
Default crash and bug - osx

I managed, after much mucking around, (why, not release something that'll build first time? ) to get the vst and au
to compile a universal binary in xcode, tried to load the vst in Live6 and it crashed:

/IPlug/IGraphicsLice.cpp:104: failed assertion `imgResourceFound'

the png files are there in the Resource folder though so, no
idea why it cant find them.

The au loads but draws the gui upside down! (see attahed)

any ideas?
Attached Images
File Type: png Picture 2.png (31.4 KB, 352 views)
garyn is offline   Reply With Quote
Old 06-15-2008, 10:58 PM   #78
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Quote:
Originally Posted by garyn View Post
I managed, after much mucking around, (why, not release something that'll build first time? ) to get the vst and au
to compile a universal binary in xcode, tried to load the vst in Live6 and it crashed:

/IPlug/IGraphicsLice.cpp:104: failed assertion `imgResourceFound'

the png files are there in the Resource folder though so, no
idea why it cant find them.

The au loads but draws the gui upside down! (see attahed)

any ideas?
The failed assert is probably because you didn't add the image resource to the vst target.

The upside downness is because (I forgot about this) iplug and lice developed along different paths for OSX drawing. You'll need to edit wdl/lice/lice.h LICE_SysBitmap::isFlipped() to simply return false always, and that should fix it.
schwa is offline   Reply With Quote
Old 06-23-2008, 06:12 PM   #79
garyn
Human being with feelings
 
Join Date: Mar 2007
Posts: 3
Default

Hi schwa

Quote:
The failed assert is probably because you didn't add the image resource to the vst target.

The upside downness is because (I forgot about this) iplug and lice developed along different paths for OSX drawing. You'll need to edit wdl/lice/lice.h LICE_SysBitmap::isFlipped() to simply return false always, and that should fix it.
The bitmaps are added to the VST target, i didnt change it
it, thats how your project was setup.

--

isFlipped currently always returns false, again its set that way in your code:

virtual bool isFlipped()=0;
bool isFlipped() { return false; }
bool isFlipped()
{
#ifndef _WIN32
return true;
#else
return false;
#endif
}
Attached Images
File Type: png Picture 1.png (30.6 KB, 309 views)
garyn is offline   Reply With Quote
Old 06-23-2008, 06:23 PM   #80
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,140
Default

Quote:
Originally Posted by garyn View Post
#ifndef _WIN32
return true;
#else
return false;
#endif
}
It's currently returning true on OSX (you are probably reading that as "ifdef" not "ifndef"). If you change that function to return false always, the plugin guis should turn themselves around properly.
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 03:37 PM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.