Juce and VST plugins


#1

Hi to all,
I’m going to use Juce for developing some VST plugins.
In paricular I need to know if with this good library is possible to play an AVI video?

best regards
cialz


#2

quicktime only I believe


#3

yes, but quicktime will happily play AVIs…


#4

Oh, wonderful
Unfortunately at now I could not build Juce with VC++6
I’ve got two compiler error.

thanx


#5

cool. didnt know that. tend to avoid QT like the plague.


#6

So, I can show an AVI file in my VST plug GUI or only open QuickTime Stand Alone program?


#7

It happens that the jucevst demo, after closing and opening sometimes the editor view, I can’t see the gui, but only the 300x150 rect, without slider, string, and display.

Do you know why?

thanx


#8

are you using the demo juce filter from the RMS site? IIRC it is somewhat buggy, but ost12666 has an improved version.


#9

I’m using this

http://subminimal.org/juce/?act=dl&file=SnVjZU1pZGlNb24uemlw


#10

Why I need to clean up every time I have to build JUCEVST demo?
If I don’t clean up, CL tells me the following errors:

Compiling...
JuceVstMain.cpp
JUCE! Linking to: jucelib_static_debug.lib
c:\programmi\microsoft platform sdk\include\winnt.h(8854) : error C2955: 'tempArray' : use of class template requires template argument list
        c:\juce\src\juce_core\containers\juce_array.h(966) : see declaration of 'tempArray'
c:\programmi\microsoft platform sdk\include\winnt.h(8863) : error C2955: 'tempArray' : use of class template requires template argument list
        c:\juce\src\juce_core\containers\juce_array.h(966) : see declaration of 'tempArray'

#11

here try this: http://www.annoware.com/JVSTTemplate.zip
it’s ost12666’s version (i got permission from him to post it here)


#12

Hi, first of all I would ask you if it’s right do this in the Editor Component constructor:

I’ve used casting because the compiler notify me an error using “this” pointer

Then, I don’t have understand how it works the event hander.

I think I have to concentrate around

  • EditorComponent::changeListenerCallback(void *changedObject)
  • EditorComponent::handleCommandMessage(int commandId)
  • VSTplug::actionListenerCallback (const String& m)
	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void MultiVolver::actionListenerCallback (const String& m)
{
		if (m == "gain") setParameterAutomated(gain,(float)editorComp->slider->getValue());
		else if (m == openDirButtonName) 
		{
			AlertWindow *aw = new AlertWindow(T("Titolo"),T("choose IR"),AlertWindow::InfoIcon);
			
		}
}

The alert window doesn’t appear and also the tooltip when the mouse i over the TextButton


#13

If you have to cast “this” to an actionlistener, then it clearly isn’t one!

And I put lots of examples of how to use AlertWindows in the demo - have a look at that, or have a better look at the AlertWindow help docs.


#14

[quote=“jules”]If you have to cast “this” to an actionlistener, then it clearly isn’t one!

And I put lots of examples of how to use AlertWindows in the demo - have a look at that, or have a better look at the AlertWindow help docs.[/quote]

AlertWindows are your friend! Well mine anyway. Absolute joy to use. 4/5 lines of code, on the stack, piff paff poof, user has given/seen his data, and it’s done and gone.


#15

[quote=“jules”]If you have to cast “this” to an actionlistener, then it clearly isn’t one!

And I put lots of examples of how to use AlertWindows in the demo - have a look at that, or have a better look at the AlertWindow help docs.[/quote]

Thanx Juce. I’ve inherited also from ActionListener the EditorComponet.

But why the tooltip message doesn’t appear when I am over the TextButton?

	//==============================================================================
        openIRButton = new TextButton (openIRButtonName,
                                     Colours::black,
                                     Colours::lightgrey,
                                     Colours::darkgrey,
                                     "click here to choose the Impulse Responses...");

        addAndMakeVisible (openIRButton);
        openIRButton->setBounds (10, 50, 100, 24);
        openIRButton->addActionListener (this);
        openIRButton->setTriggeredOnMouseDown (true); // because this button pops up a menu, this lets us

#16

you need to actually create a TooltipWindow for tooltips to work - check out the docs for the TooltipWindow class.


#17

OK Jules,thanx a lot.


#18

Yes, here is the code copied from JuceDemo:

void MainEditorComponent::chooseIR()
{
	FileChooser fc (T("Choose a directory..."), 
								   File::getCurrentWorkingDirectory(), 
								   T("*"));
				   
	if (fc.browseForDirectory())
	{
	   File chosenDirectory = fc.getResult();
	}
}

Debugging the plug, the Dialog Window appears for some instructions, then it seems that gets closed.

The same behaviour happens in JuceDemo, the Widgets one.

Juce version 1.10
WinXP Home SP2


#19

[quote]Debugging the plug, the Dialog Window appears for some instructions, then it seems that gets closed.

The same behaviour happens in JuceDemo, the Widgets one. [/quote]

Not sure I understand what you mean…


#20

Debugging the plug,after choosing

if (fc.browseForDirectory())
{
File chosenDirectory = fc.getResult();
}
this line as breakpoint, stepping over for some instructions, passing through juceComponents.cpp, juce_file_chooser.cpp and so on, the load dir dialog box appears for a while, then it closes.

Instead, loading the plug in the host, I can’t see any dialog box.
This happens in the Wigets Juce Demo too. Clicking in the menu for load or save dialog box doesn’t work.

Sorry for my English