I'm recreating the video and the bitmap when I change camera dimensions.
But it seems that once a video is snapshotted into a bitmap,
the camera somehow remembers the resolution, and future snapshots of
a new video object attached to that camera always end up at the same size.
It doesn't make any sense and I can't even work around it because
the first snapshot could have happened outside of this code.
I did:
- show some text behind the video, so that selecting a non-working camera
gives a little feedback.
- cleaned up NPE that happened if clearSnapshot() was called when it was
already cleared.
- Detach the camera from the old video before setting up a new one
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@467 ed5b42cb-e716-0410-a449-f6a68f950b19
snapshotting works and my scale hack throws it out of wack.
Uhhh. I know I wasn't booching it and running out-of-synch code
together, because everything's in this class and I had loads
of trace logging in here when I was working with it on monday.
I wouldn't believe myself if I hadn't been there.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@466 ed5b42cb-e716-0410-a449-f6a68f950b19
A: shit like this.
30 minutes of tweaking and trying things to get it to ACTUALLY snapshot at
specified size. The damn video control always says that videoWidth and
videoHeight are 0, but if you size the Camera correctly and attach the video
it works. Turns out that the video control, when snapshotted into a
bitmapdata, always thinks it's 160x120, but if we scale it up we can see
the pixel data that's really there. What the fuck?!
Oh well, it works now, but why does adobe make these things so difficult?
The only reason I got it working was trial and error and cargo-culting off
the example in Camera's API docs. Jeez.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@465 ed5b42cb-e716-0410-a449-f6a68f950b19
and will trigger events. Instead, sort the children and then
set their indicies.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@461 ed5b42cb-e716-0410-a449-f6a68f950b19
has not already been dispatched. This is a pain in my ass.
Make MediaContainer dispatch UNLOAD when it unloads its business,
regardless of whether things have been initialized.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@458 ed5b42cb-e716-0410-a449-f6a68f950b19
this won't happen, but it did today for folks with a cached crossdomain.xml.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@457 ed5b42cb-e716-0410-a449-f6a68f950b19
Just don't worry about rawChildren in a flex component.
Nothing is really using this method anyway.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@447 ed5b42cb-e716-0410-a449-f6a68f950b19
Contains dashRect() and dashTo() that Robert wrote for room editing.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@444 ed5b42cb-e716-0410-a449-f6a68f950b19
- Since quicksort is unstable anyway, might as well avoid a swap if two elements are equal.
- Be generous with the comparator function. It should really return -1, 0, 1, but sometimes people
return positive numbers, 0, negative numbers...
- If Array.sort() is a stable sort, I think we should just change this impl to put all
children into an array, sort'em, then set their indexes back into the parent.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@423 ed5b42cb-e716-0410-a449-f6a68f950b19
- multiply() -> scale() - since multiplication is ambiguous in vector contexts
- added destructive versions of add/subtract/cross/etc functions
- length now retrievable via a getter
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@413 ed5b42cb-e716-0410-a449-f6a68f950b19
Created a function to return the mask area as a Rectangle.
Will be used when snapshotting through the media stub.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@394 ed5b42cb-e716-0410-a449-f6a68f950b19
I had a subclass loading the new zip files that will be remixable avatars,
but that's going to have to be restructured (complexity++) for security
reasons.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@393 ed5b42cb-e716-0410-a449-f6a68f950b19
segment of a composite path, continue onto the next one. This should
fix part of the problem with trophy windows not sliding back out, but
doesn't explain why they're not being removed from the overlay entirely
(as the path completed functionality should still be called).
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@374 ed5b42cb-e716-0410-a449-f6a68f950b19
after timer events in the flash player.
What was happening was that a KEY_UP event was coming in so long after the
initial KEY_DOWN, that this code would think that the key was being held down
even when not.
So instead we wait until we actually see a 2nd KEY_DOWN event, at which point
we may need to dispatch that event right away, or we may need to wait a bit
if the limitRate is higher than the elapsed time between the two events.
Now also there is a Timer for each key being held down.
To top it all off, if you hold a key and then lose focus then this will
continue to fire, so it's going to need yet more complication to fix that.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@358 ed5b42cb-e716-0410-a449-f6a68f950b19
key repeats, or set the repeat rate to any desired value.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@357 ed5b42cb-e716-0410-a449-f6a68f950b19