Flash in Juce - help


#1

I decided to take a crack at writing a component for juce that is capable of displaying Adobe Flash files in juce. It uses ActiveX, so this only works under windows (for now anyway). I am able to instantiate the appropriate objects and even load a .SWF file, but it does not render properly. I know it’s working because I’m able to click on buttons in the flash movie and hear sound (and see the flash menus when I right-click), but the component renders as a solid color.

If anyone wants to give it a shot, my code is here:

Grab my current code at:

http://www.genomestudio.net/juceFlash.zip

This is what the code looks like:

[code]
void FlashComponent::createControlIfNeeded()
{
bool _isCreated = isControlCreated();
bool _isShowing = isShowing();
if(_isShowing && !_isCreated)
{

	const IID swfIID = __uuidof(ShockwaveFlashObjects::ShockwaveFlash);

	if (createControl( &swfIID )) 
	{
		const IID swf_intIID = __uuidof(ShockwaveFlashObjects::IShockwaveFlash);
        flashInterface = (ShockwaveFlashObjects::IShockwaveFlash*)queryInterface ( &swf_intIID );

		if(flashInterface)
		{

			IViewObjectEx*    view=0; 
			flashInterface->QueryInterface(__uuidof(IViewObjectEx),(void **)&view);

			flashInterface->put_WMode(L"opaque");
			flashInterface->put_BackgroundColor(0xff00ffff);
			flashInterface->put_Scale(L"showAll");

			flashInterface->put_EmbedMovie(TRUE);
			flashInterface->LoadMovie(0, L"file://f:/flash/VideoPlayer.swf");

			flashInterface->Play();

			long ver = (flashInterface->FlashVersion() & 0x00FF0000) / 65536;
		}
	}
	


}

}[/code]

Once this is fixed, it should be possible to write code that can call functions in the flash code and receieve calls back also…


#2

just noticed that someone already encountered this issue:

http://www.rawmaterialsoftware.com/juceforum/viewtopic.php?t=2151&highlight=activex