Buttons within Quicktime Movies

Trevor DeVore lists at mangomultimedia.com
Sat Jul 1 11:35:37 EDT 2006

On Jun 30, 2006, at 11:11 PM, Jonathan Kotthoff wrote:

> Hello all:
> I have brought this up before...but, thought I would give it one  
> more try...I produce a lot of multimedia applications/kiosks that  
> compete with what alot of the market provides as Director of Flash  
> applications...The DB and Web integration that Revolution allows  
> me, gives my applications a real backend advantage to these  
> apps...but the feature that kills me everyday is my inability to  
> create buttons on top of or withing QuickTime applications...I  
> realize that I can create Sprites within QT movies and have done  
> this in the past, but this requires me resorting to C++ or going  
> into LiveStage Pro...Which is not the ideal...I and many others  
> could knock the competition out of the water and thus create more  
> demand for this our beloved product, if I could just have the  
> ability to create buttons (invisible or not) on top of or within QT  
> movies...

Hi Jonathan,

I recall seeing some QT API that will "knock-out" portions of a QT  
movie so QT doesn't draw that section to screen (meaning you could  
put a Rev button there) but I would be surprised if this gets  
implemented in Rev.  Even though I don't know what your end goal is  
in putting buttons over QT movies here are some thoughts that come to  
mind that may be of use -

> For the record I do realize that Revs inability to do this is tied  
> to its utilization of the QT library and how QT dislplays itself  
> within the OS environment...but part of me things that some  
> creative engineering could overcome this problem...for example, a  
> Hook installed at the os level could caprture all clicks within a  
> QT window space and pass them to Rev...this could be installed on  
> Mac OS X or Windows as a rev library...
> Anyone want to chime in on there agreement, disagreement, ideas?

Invisible buttons: You can already get clicks in the QT window  
space.  A player object receives all mouse messages.  So if you just  
want to create invisible hotspots then you can capture mouse clicks  
in a player and check them against some predefined invisible hotspots  
rectangles that you define.

Buttons using Sprites:  You mention that creating buttons using  
sprites isn't ideal.  I assume this means that it would work but  
there is something in the workflow that is wanting.  Perhaps you  
could create the following workflow:

1) Create a template - Create movie in LiveStage Pro that has a few  
buttons in it.  These buttons should get their label and size from a  
QTList store in the movie. There should be an event in the movie that  
will read the QTList and then position the buttons.  Each button  
would send a message to the rev player object when clicked.

2) Create a little tool in Revolution that enables you to drop  
buttons onto some object that represents the movie.  You would then  
convert the positions of those buttons into the XML that you can  
assign to the QTList of a player object.  This QTList is used by your  
template (step 1) to position buttons.

3) Open template movie in hidden player object.

4) Open movie that needs button layers in Revolution player object.

5) Assign QTList created in step 2 to player object (step 4).  You  
can use the EnhancedQT external for this.

6) Composite the template movie with (step 3) with your movie (step  
4) and call the Event that creates the buttons (EnhancedQT).

If this works, you would create one wired QT movie that can  
dynamically name and position it's buttons anywhere.  This can be  
composited with any movie you wish and position buttons accordingly.   
Would something like this work?

Trevor DeVore
Blue Mango Learning Systems - www.bluemangolearning.com
trevor at bluemangolearning.com

More information about the Use-livecode mailing list