Re: Automation in GUI
Re: Automation in GUI
- Subject: Re: Automation in GUI
- From: Andy <email@hidden>
- Date: Fri, 6 Dec 2002 14:53:45 +0000
On Friday, Dec 6, 2002, at 09:58 Europe/London, Mark Woollard wrote:
It seems that the GUI plugins I've looked at don't allow automation
from the GUI controls when used in Logic. Both Airy's and Url's
frameworks seem to have the same issue in that when you grab a control
screen updates in Logic cease until you release and after you release
no automation has been recorded. Since the Logic control interface
works smoothly for recording automation without any problem with Logic
screen updates why don't the GUI frameworks support this? Obviously
users are going to expect this to work without these issues. What
needs to be done in GUI code to get both host(Logic) screen updates to
continue and automation to be recorded?
Previous threads suggest that we should use AUParameterSet(). I am and
Logic is still not recording automation while the mouse is tracking my
controls. I believe the problem may well be with Logic. If you switch
Logic's AU view interface to "controls" mode, automation is still not
recorded even from there. And that mode is plainly allowing event/idle
time for screen refreshes.
According to IM "Handling Carbon Events" , TrackMouseLocation() is
supposed to be better than using GetMouse() in tight loops and the
documentation infers that the behaviour desired as mentioned by Mark
should be exhibited by this code, but it plainly is not in real life. I
too would like to know of a better way to handle mouse tracking, or at
least to allow idle time to happen while tracking, which is what I
thought TrackMouseLocation() is supposed to do...
quote from IM "Handling Carbon Events" ... (but to me it seems this
does /not/ enable an app to receive drawing time while the mouse is
down and tracking!) ...
However, there is an even better way, using the Carbon Event Manager
function TrackMouseLocation, as shown in Listing 3-7.
Listing 3-7 Tracking the mouse with TrackMouseLocation
Point mouseLoc;
MouseTrackingResult trackingResult;
GetMouse (&mouseLoc);
trackingResult = kMouseTrackingMousePressed;
while (trackingResult != kMouseTrackingMouseReleased)
{
/* Provide feedback based on mouse location */
TrackMouseLocation (NULL, &mouseLoc, &trackingResult);
} /* end while (trackingResult != kMouseTrackingMouseReleased) */
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.