IRC Log Viewer » #firebreath » 2010-12-01

IRC Nick Time (GMT-7) Message
Sinisa 01:12 hi all
hey, anyone knows syntax for homebrew, how to install i386 lib?
i've been looking online, apparently it should use i386 as default, but when i install opencv, it's always 64bit
and i can't use it
(sudo) brew intall opencv [and now should be a flag for architecture]
but can't find that anywhere online
anyone has some experience with homebrew?
i've checked brew help, and it sasy: install formula [-vd] [-i] but i can't find anywhere online what are these flags for
*...and it says
if i make all this work at the end, it will be one fat blog entry about it....
Sinisa 02:12 yo, anyone there>
?
i've checked in opencv source, followed it by-the-book, but when i try cmake, it outputs some libs cant be found. however these libs are in opencv source subfolders.
how do I tell cmake where these libs are?
i've double checked, and all opencv successfully checked in
and libs that cmake reports, are there (for instance, it can't find libavcodec, but it's there, in /opencv/3rdparty/lib/)
pasted here: http://fpaste.org/0pL0/
sabotaged|wk 11:12 so i found the problem with that activeX callback on non-root object
its just one line
taxilian 11:12 cool
are you going to tell me what it is, or do you want to submit a patch or pull request =]
?
sabotaged|wk 11:12 whats the pull request?
taxilian 11:12 it's a github thing
you fork the repository, make a commit, and then you submit a pull request to the FireBreath one that basically says "I have changes that you should pull, please get them"
sabotaged|wk 11:12 ok
maybe ill try that, i need some experience with git anyways
taxilian 11:12 http://progit.org/book/ is a great resource
read chapters 2 and 3 to have a pretty good understanding of how git works
sabotaged|wk 11:12 cool
taxilian 11:12 the more I use git the more confused I am that anyone uses anything else :-P
kylehuff 11:12 taxilian: now you know why I was pimping git like crack cocaine.
taxilian 11:12 lol
I wish I'd foudn that progit book months ago
it's the first git tutorial / explanation that is concise, comprehensive, and well-written that I have found
kylehuff 11:12 I should have known a textbook could convert your to the git-side...
taxilian 11:12 I just didn't know how to use it correctly =]
I do wish submodule support worked better, though
neilg_ 11:12 I haven't personally seen anything that git gives me that Mercurial didn't - but I haven't used either in any large amounts yet. Mercurial is more interesting to me because it's extensible by Python scripts which is interesting for writing hooks!
taxilian 11:12 if mercurial handled branches in a half-way intelligent manner I may have stuck with it
it's not bad
but git is much better
and I'm liking it more and more now that I'm using it
(in my oh-so-humble yet obviously fundamentally correct opinion, of course)
it's not even all just the features, though I like the featureset git has; the commandline tool is just much more polished
though I'll grant you it's a bit of an adjustment coming from svn, whereas mercurial is much more similar
neilg_: the main advantage that will benefit you: you can do "git clone git://github.com:firebreath/FireBreath -b firebreath-1.3 firebreath" and you'll get the latest source in the 1.3 branch; you'll stay on the 1.3 branch and can get any changes we backport to that branch until you specifically change it. even when we move to 1.4, you don't have to until you're ready; but if we backport changes, which suddenly becomes easy, then you can get them easy
similarly, you could select firebreath-1.2 or firebreath-1.1 to get the latest from those versions (though I don't recommend it)
or you can leave it at default to go with the latest in the master branch, which is what dev used to be
this is all in the same repo; we don't have to use multiple ones, because branching actually works correctly
neilg_ 12:12 I was under the (misleading) impression that this was something hg did very well too. Like I say, I'm not even slightly an expert at it. I've just read things. :)
taxilian 12:12 hg does branching
but when you commit to a branch, it sets that as the default branch
so you're forever worrying about which branch people will get when they clone the repository
worst of all, I have yet to find a way to actually delete a branch in hg
so it does branching, and we tried to use it… but it does it very poorly
whereas git does it very well
also, git supports remotes, which makes it easy to work with several different repositories and move changes between them, which is very nice if you want to work on your own fork but still easily pull changes from the main one — this doesn't allow anything you can't do with hg, but it makes it more convenient
and then when you have a feature committed to your personal fork, you can use git-hub to submit a pull request, which makes it really easy for me to pull your change into firebreath
cherry-picking is very nice and works quite well, also. there is a plugin for this in mercurial, but it doesn't work real well.
anyway, I better go get lunch and find some food
fundamentally, all of these systems work… just having used mercurial, bzr, and git all fairly extensively now (git less so), I find git to be by far the nicest to work with
cya
neilg_ 12:12 Hmm, that's interesting. I'm going to have to read into these some more!
I know that we'd been looking at switching to hg next year but maybe it's worth looking into git some more. The reason we'd chosen hg over git was that git didn't seem to work well on Windows (which is our primary platform) - but the power of branching is one of the primary reasons to switch so...
taxilian 13:12 neilg_: I can tell you that I've so far used git 90% on windows (since I'm working on a windows plugin ATM) and it all works great
in fact, there is a better windows gui for git than I have yet found for mac
so while there was a time when git didn't work well on windows (or so I hear), it works great for me
neilg_ 13:12 TortoiseGit?
taxilian 13:12 no
I'll maybe look at that when it's realeased
hang on, I'll find it
http://code.google.com/p/gitextensions/
it should work in mono, from what I see, so you can actually use it on mac and linux, aparently
in fact, to be honest, I like git extensions better than tortoisehg, which is the best mercurial plugin I've found so far
neilg_ 13:12 That's useful to know. I'm working on my own little project at home (a scrolling platformer written in Python) and have been using hg but only using the very, very basic commands
But having a GUI interface can be really useful sometimes. Thanks! I'll look into that. :)
taxilian 13:12 what I would recommend is read through chapter 2 and 3 of the Pro Git book; that'll give you a much better idea of what I'm talking about
it's not all that long
it's pretty concise
neilg_ 13:12 Yup, I've been reading through it ever since you sent me the link. It got me excited by DVCS again!
(I'm well aware I'm a geek) lol
taxilian 13:12 lol
you're in good company
and git extensions has built in support for gource, so you can see the 3-d model of your project and watch it grow :-P
neilg_ 13:12 Just took a look, that's pretty cool. We have something similar for SVN but I've used it so rarely I can't remember its name. lol
sabotaged|wk 16:12 so for this pull request stuff should i have a topic branch on my own uhh fork?
taxilian 16:12 it doesn't technically matter, but I would recommend it
it seems "cleaner" to me
but it doesn't really matter that much
particularly in this case
good practice, though =]
sabotaged|wk 16:12 ok i'll just do it next time then
taxilian 16:12 you are jzablot?
gah... yeah, that'd sure do it
I'm glad you caught that
wonder if that got missed elsewhere
sabotaged|wk 16:12 yes thats me
FB_GitHubBot 16:12 FireBreath: master Jason Zablotny * 18fb641 (1 files in 1 dirs): Fix ActiveX issue for callbacks from a non-root object - http://bit.ly/hLZqJG
taxilian 16:12 I'll cherry-pick that into 1.3 as well
btw, I didn't even have to pull it down locally to get that change from you
*so* much easier than with gcode
and the cherry pick was really easy as well
FB_GitHubBot 16:12 FireBreath: firebreath-1.3 Jason Zablotny * 4af6e59 (1 files in 1 dirs): Fix ActiveX issue for callbacks from a non-root object - http://bit.ly/eSIjjy
taxilian 16:12 sabotaged|wk: so now that you know how to do that, you can start contributing code to FireBreath more often ;-)
sabotaged|wk 16:12 yeah
i imagine i will be
Sinisa 17:12 hi all
can anyone tell me is it possible to get WindowRef from PluginWindowMacCarbon ?
amackera 17:12 Just PluginWindowMacCarbonCG
wait..
or QD also
Sinisa 17:12 ok, so basically to cast PluginWindow into PluginWindowMacCarbonCG ?
is there any cmake setting I need to set before, to make FB use PluginWindowMacCarbonCG ?
amackera 17:12 hmm, hold on
Sinisa 17:12 i remember i read something about that before, but can't find it now
amackera 17:12 Is your plugin CoreGraphics, or QuickDraw?
Sinisa 17:12 CG
ok thanks!
amackera 17:12 The only place you need to tell FB about CoreGraphics is in PluginConfig.cmake
in your project directory
the set(FBMAC_USE_COREGRAPHICS)
which should already be defaulted
Whenever you're handed a plugin window you should be safe to cast it to a PluginWindowMacCarbonCG
Sinisa 17:12 :-) that's wonderfu;
wonderful
amackera 17:12 You should always to a null check after a dynamic_cast though :P just to make sure
Sinisa 17:12 understood
amackera 17:12 And once you cast it to PluginWindowMacCarbonCG you can call getWindowRef() to get your WindowRef :D
Sinisa 17:12 I need it to initialize gl & attach my own window handler
trying to reuse what i already have for osx
yeah I see that
amackera 17:12 Nice, my plugin also does such things
so, you know, feel free to bug me if you run into trouble
word of warning: if you're using Carbon with WindowRefs, then creating an AGL context, your plugin drawing won't respect DOM ordering
meaning: HTML elements that should be overtop of the plugin are drawn underneath
The way I ended up going was to render into an offscreen framebuffer object, then glReadPixel into a coregraphics bitmap, then draw that with coregraphics
brb
Sinisa 17:12 will do, thanks a lot for your help!
that part with ordering is fine, as same thing is on Windows XP
WinXP cannot blend hardware-drawn image with desktop
if you move anything semi-transparent, over gl context, it will flicker
so client knows this, they keep all elements below plugin
you would be surprised how many laptops/desktops here are XP (in China)
that's still majority of market
btw, what do you guys do for living? aside from FB development, which I assume is for your own pleasure
I'm looking for quality developers to cooperate with, on commercial projects
btw u don't need glReadPixel if you render into framebuffer object, if you have attached texture to that object
it is a lot faster just to copy pixels from texture into unsigned char*
also glReadPixel on windows works in a different way with different drivers - I've experienced few years ago that it would read pixels only if DC is visible on the screen
for eg. - if I would draw into a hidden window - it wouldn't be able to get pixels
that was on ATI
but with framebuffer->texture you are very safe
amackera 17:12 good to know! thanks :D
you can achieve the same effect in XP if you draw to an offscreen window and copy the pixels into a DIB, and draw with GDI
but it is slow as hell :(
Sinisa 17:12 GDI - I refuse to (Ever again) work with that crap
amackera 17:12 Haha, fair enough :P
taxilian 17:12 lol
Sinisa: I actually do this for a living as well as for pleasure
amackera 17:12 As for what I do for a living, I'm a developer at http://tophatmonocle.com
taxilian 17:12 I work for a little company in California called Facebook
amackera 17:12 :P
taxilian 17:12 (http://facebook.com)
amackera 17:12 what's the url for facebook.com again!?
taxilian 17:12 well, my company email address is now fb.com
[email protected]
Sinisa 17:12 hah, very small company, not sure if i've heard of it... ;-)
taxilian 17:12 it's pretty cool. you should check it out sometime. :-P
Sinisa 17:12 would you guys be interested to cooperate on some iPhone/Mac/Windows projects, involving OpenGL, some 2d/3d interaction etc.?
taxilian 17:12 a lot of the new features in FireBreath 1.4 come from code written for or donated from Facebook
Sinisa 17:12 sometimes I have more work than I can handle myself
nice to know!
amackera 17:12 I'm really, really overworked at my startup
but thanks :)
taxilian 17:12 I am currently swamped between school and work
but come next March/April I may be looking for work
Sinisa 17:12 ok, anyway if you change your mind, my email is [email protected], feel free to email me anytime
taxilian 17:12 cool
amackera 17:12 cool thanks :)
mine is [email protected], or [email protected], or even [email protected] (does that still work, taxilian?)
taxilian 17:12 amackera: yep, and it will continue to
amackera 17:12 nice :D
taxilian 17:12 as long as you either check it or have forwarded it
amackera 17:12 it forwards to my gmail i believe
taxilian 17:12 if you were to disappear for, like, a year, then I'd probably eventually shut it off
but in the mean time I want to keep you happy in hopes that you'll eventually finish windowless :-P
or send me sample code using windowless in firefox so that I can :-P
amackera 17:12 haha, i'll get there eventually!
taxilian 17:12 1.4 is going to be a pretty major release in terms of new features... there is a lot of cool crap in there
amackera 17:12 sweet :D
taxilian 17:12 problem is it might not get released for another month :-P
amackera 17:12 for integration?
taxilian 17:12 testing
I'm still tweaking it all
Sinisa 17:12 (away for a while)
Sinisa 19:12 hi all
taxilian 19:12 hi Sinisa
Sinisa 19:12 hey, I got some problem with CarbonCG window.... I cast PluginWindow into PluginWindowMacCarbonCG (project is set for Carbon and CG in make), I get WindowRef pointer from it, but when I try GetWindowBounds( ... ) on that window ref, i get 0,0,0,0 rect
taxilian 19:12 that's an amackera question
Sinisa 19:12 basically, opengl is initialized, i get extensions etc - but nothing drawn on the screen
hope he's around...
taxilian 19:12 well, he's signed in; that's usually a good sign
Sinisa 19:12 :-)
I've checked if WIndowRef is not null (obiously), it appears to be ok
taxilian 19:12 is there an OS call that will tell you the bounds of WindowRef?
Sinisa 19:12 GetWindowBounds(hwnd,kWindowContentRgn,&wr);
that's the call
hwnd = WindowRef
taxilian 19:12 also, wait... is that an OS call or a firebreath call?
Sinisa 19:12 (i just typedefed it in code)
OS call
from MacWindows.h
taxilian 19:12 try using getWindowClipping and getWindowPosition from the PluginWindowMacCarbon object
https://github.com/firebreath/FireBreath/blob/master/src/PluginWindow/Mac/PluginWindowMacCarbon.h
Sinisa 19:12 so I can cast into both PluginWindowMacCarbonCG and PluginWindowMacCarbon ?
taxilian 19:12 PluginWindowMacCarbonCG extends PluginWindowMacCarbon
so you don't have to cast it
it's already there
Sinisa 19:12 k
taxilian 19:12 the code is pretty easy to follow, so don't be afraid to dig in if you need to
https://github.com/firebreath/FireBreath/blob/master/src/PluginWindow/Mac/PluginWindowMacCarbonCG.h
and of course https://github.com/firebreath/FireBreath/blob/master/src/PluginWindow/Mac/PluginWindowMacCarbonCG.cpp https://github.com/firebreath/FireBreath/blob/master/src/PluginWindow/Mac/PluginWindowMacCarbon.cpp
Sinisa 19:12 um. is there a chance that WindowRef received from FB is not accessible from another thread?
is it thread safe to access WindowRef receivef from FB, from another thread?
i can see opengl initialized all properly, no gl errors, driver info retreived, renderer, glsl, graphic card name....
taxilian 19:12 I do not know
Sinisa 19:12 i've set to just clear screen with red color, but i see white only
taxilian 19:12 amackera would have to answer that
what browser?
Sinisa 19:12 testing in chrome currently
taxilian 19:12 OS?
(meaning version, I know you're on mac)
Sinisa 19:12 10.6
taxilian 19:12 I don't think you can use opengl with Carbon/CG on Mac; I could be wrong. I think you have to use CoreAnimation
try it in Firefox 3.6 and see if it works
the problem is that you're in a different process
my understanding is that if you want to use OGL on mac and have it work everywhere, you'll have to support several different methods of drawing
Sinisa 19:12 ok, will check that out, thanks
ok this is weird. i should be able to get window rect from WindowRef using HIWindowGetBounds (10.5 and onwards), right in the FB funciton when window is attached
just for test
right?
but it returns size -1,0
HIWindowGetBounds must work
in the same thread with FB
is Window area created in that moment in FB? or is about to be created?
http://fpaste.org/oUb3/
here is code
taxilian 20:12 it is possible that the window hasn't been placed yet when we first get a reference to it
wonder if amackera just forgot to sign out
Sinisa 20:12 that may be a problem
as I am not sure I can get any window property (which I need for viewport size etc.) if it's not on the screen yet
any trick I can use?
like delayed init?
u guys have some timer in FB?
taxilian 20:12 there should be an event that you can catch when the window resizes it
when it resizes
there is not currently a timer abstraction; Georg is working on one, but has been swamped
Sinisa 20:12 resize should be fine
where's that?
taxilian 20:12 https://github.com/firebreath/FireBreath/blob/master/src/PluginWindow/Mac/PluginWindowMacCarbon.cpp
looks like there is a ClipChangedEvent
that might work
generally if the size changes, the clipping will too
Sinisa 20:12 how do I install this event?
add this to plugin header: EVENTTYPE_CASE(FB::ClipChangedEvent, onWindowResized, FB::PluginWindow) ?
taxilian 20:12 that should work, yes
and then you need to create a onWindowResized method
incidently, if you are using a platform-specific plugin class (you might not be), you could change FB::PluginWindow to FB::PluginWindowMacCarbon or whatever; the type you specify there is what is passed to the event handler. If it can't be cast to the correct type then the event handler will not be called
the problem of course in a normal platform-agnostic class is that on windows you don't know what a FB::PluginWindowMacCarbon (etc) class looks like
Sinisa 20:12 is there anything else I need to change to have ResizedEvent and/or ClipChangedEvent fired?
I think I added it all that's needed
but never gets into those functions
http://fpaste.org/HizU/ this is the code
amackera 20:12 hey sorry guys i'm here
taxilian 20:12 hehe
Sinisa: no worries, amackera knows everything that I don't know
which will include the solution to all your current problems
amackera 20:12 Hah, yeah right
taxilian 20:12 hey, I have never done drawing on Mac
yo uhave
amackera 20:12 Sinisa: can you explain your current problems?
taxilian 20:12 and you're moderately familiar with the code... ;-)
amackera 20:12 The carbon problems about getting window bounds are just plain hard to figure out
since those libs are deprecated
Sinisa 20:12 ok, basically I'm having trouble with with drawing opengl on received WindowRef
taxilian 20:12 (he's in Chrome on 10.6)
amackera 20:12 ahhhh
Sinisa 20:12 I'm not sure if WindowRef is the one that's referenced plugin draw area
even in FB call onWindowAttached, if I get WindowRef through CarbonCG window, and try to get it's bounds, I get 0,0,0,0
amackera 20:12 I'm not sure if you can use Carbon/CG with chrome on 10.6
let me dig a bit
Sinisa 20:12 ok
thanks!
amackera 20:12 Yes, chrome does not support carbon
Hmm... hold on
taxilian 20:12 maybe rather than trying to figure out if you can force it to it would be better to show him how to do it the "correct" way
Sinisa: what browsers are you targetting? just chrome, or do you want to support firefox and safari as well?
amackera 20:12 Yeah, that might be the only way
Sinisa 20:12 all 3
taxilian 20:12 and are you aiming to have a 64 bit version?
amackera 20:12 taxilian: I think he was trying to port old mac code
Sinisa 20:12 no, 32bit is fine - can run on 64bit machines, right?
taxilian 20:12 yeah, but it changes a bit what you have to support graphics-wise =]
Sinisa 20:12 no, just 32bit is ok
amackera 20:12 to target chrome, firefox and safari, even just 32 bit, you'll need to do a carbon/CG implementation for firefox and a cocoa/CG implementation for safari and chrome
taxilian 20:12 right
doesn't he need CoreAnimation for Safari?
amackera 20:12 Nope, CG is fine
taxilian 20:12 even doing opengl?
amackera 20:12 CA is more efficient, but you can do it in CG with offscreen rendering
taxilian 20:12 btw, gents, I would really really *really* *really* like to have a cross-platform opengl example to play with
even if it weren't public
just sayin'
amackera 20:12 I might be able to make that happen, but not before the new year
taxilian 20:12 fair enough
amackera 20:12 Like, serious discussion has happened about open-sourcing our plung
plugin*
we just need a moment to breath and plan properly
Unique 20:12 Hi, I wonder, how do deal with plugin update? (install a new version)
taxilian 20:12 that would be awesome. Even if you could just get permission to let me play with the code a bit it would be helpful
Unique: with much difficulty, great pain, and a lot of suffering
Unique 21:12 Sound interesting!
amackera 21:12 The great unsolved problem of plugins :P
taxilian 21:12 Unique: but probably the best way I know of is to use Google Omaha
there really aren't any good solutions I know of, but that one isn't as bad as some
Unique 21:12 *looking at Omaha*
taxilian 21:12 that's windows only, btw
Unique 21:12 beside forcing user to uninstall I guess
taxilian 21:12 there are several overall options; the problem is that I don't have time right now to explain them all, since I am trying to prepare for a test in a math class tomorrow
Unique 21:12 firebreath wix template do not create an uninstall file isnt it?
taxilian 21:12 it's an MSI, so it does, I think
http://www.firebreath.org/display/documentation/WiX+Installer+Help
Unique 21:12 okay dokay, thanks
taxilian 21:12 also worth looking at: http://www.firebreath.org/display/[email protected]/Potential+Installer+Improvements
amackera 21:12 Fellas, I'm leaving for work
taxilian 21:12 what time is it there?
amackera 21:12 any Mac issues email: [email protected]
11:04 PM
taxilian 21:12 that's what I thought. you're leaving for work? or you're headed home from work?
amackera 21:12 oops
hah
i mean i'm leaving from work
going home now
taxilian 21:12 oh, good
amackera 21:12 finally :P
taxilian 21:12 take care
amackera 21:12 ttyl!
Sinisa 21:12 cheers
taxilian 21:12 better to put mac issues on the google group, though
so there is a log of the response
for future generations
(meaning if I ever need to know)
Sinisa 21:12 ok, thanks - will post issues there if I can't solve it
or if I can - will post here solution ;-)
gotta test in FF, so have to log out
thanks taxilian
taxilian 21:12 np
Plasma- 21:12 Hi! I was asking earlier (and on the newsgroup) about if anyone has any experience with FB plugins not working on Safari Windows? The FB home page appears to say its supported; but ive had no luck in the extension appearing under the installed list, or even working if I just put the mime type in the page (it says it doesnt know how to show that mimetype)
FF, Chrome and IE browsers load the plugin fine, and the mac built extension loads fine on Safari Mac. Its just Windows Safari (using windows dll) that does not appear to work
taxilian 22:12 hey, Plasma
I haven't tested it recently
which is why I haven't responded yet
but last I tried it it was working fine
you installed it using regsvr32 method?
Plasma- 22:12 yeah and setup the necessary reg keys
taxilian 22:12 and have you tried FBTestPlugin as well?
Plasma- 22:12 nope; let me build that and give it a go
taxilian 22:12 if you did regsvr32 on it it should have done that for you
I'll try it real quick
I'm kinda swamped right now, but I can do that much
(I have a math test tomorrow)
Plasma- 22:12 appreciated thanks!
ahh; then get off the internet :)
taxilian 22:12 what can I say? I'm a firebreath addict
initial tests seem to indicate that it is working for me
yep
Plasma- 22:12 does it show up under help>installed plugins ?
taxilian 22:12 my plugin works fine in Safari 5 on Windows 7
yep
Plasma- 22:12 hm
taxilian 22:12 all 3 of the ones currently installed =]
I'd try it on another computer
might be something weird with your safari installation
Plasma- 22:12 and how did you install it? Im just getting around to building the plugin atm, net access here is being dumb
taxilian 22:12 cd buildex/bin/FBTestPlugin/Debug
regsvr32 npFBTestPlugin.dll
that's it
Plasma- 22:12 ok cheers
taxilian 22:12 sorry can't help more
Plasma- 22:12 nah that lets me know its my problem - what build of FB are you using?
taxilian 22:12 hmm. several different ones, depending on the plugin, but the one I actually loaded and tested is the latest from github
so the 1.4 branch
rather that which will become 1.4 that is in master currently
Plasma- 22:12 gotta reboot; vpn has busted itself. Thanks ill be back and confirm the test plugin works for me, and if not ill try using github's master and building it to find out whats breaking
im using FB 1.3.0 atm
brb
taxilian 22:12 well, I recommend at least updating to 1.3.1
but that shouldn't cause this
it's just a good idea =]
Plasma- 22:12 it was the latest as far as I thought on 8th nov 2010
taxilian 22:12 yeah, 1.3.1 was released a week or so ago
Plasma- 22:12 was a bit confusing actually finding the latest stable release on google code - I think your 'stable' link on the home page goes to a broken google page
taxilian 22:12 easiest is to just get the firebreath-1.3 branch from github
Plasma- 22:12 or filters for the wrong types of files etc
taxilian 22:12 yeah, gcode's filter broke
and I didn't notice at first
it's fixed now -- in that it doesn't try to filter it anymore
Plasma- 22:12 gonna reboot and then ill try the test plugin and go from there; upgrading as needed - thanks, bbs :)
ok now to try the test plugin
taxilian 22:12 FYI, if you get the firebreath-1.3 branch from github you can just pull periodically and get the latest stable.
that branch will only have bugfixes in it
Plasma- 22:12 ah k great
hm, how do I build the test plugin heh
oh and whats the 'media player' example plugin? Is that a wrapper aroudn wmp?
taxilian 22:12 prep2010.cmd examples will build the examples in a buildex/ dir
essentially, yes
if you haven't read this, it may help understand how the prep scripts work with directories: http://colonelpanic.net/2010/11/firebreath-tips-working-with-source-control/
Plasma- 22:12 ta
taxilian 22:12 he's back
Sinisa 22:12 it's me again :-) FYI: WindowRef that CarbonCG returns is WindowRef of entire FFox
it's not a subwindow of a plugin area
when I tried in FFox, I painted over entire FFox window, including main menu
so even for FFox, I am not sure how do I get area inside FFox canvas
taxilian 22:12 ahh
lol
hmm
ahh
that's probably what the clipping rect tells you
Sinisa 22:12 So basically, in FFox, and other browsers, there is no such thing as a sub window?
taxilian 22:12 right
Sinisa 22:12 Hm.
taxilian 22:12 on mac you're always windowless
Sinisa 22:12 what about UIView?
taxilian 22:12 UIView?
Sinisa 22:12 any chance to somehow have that?
similar to iPhone
taxilian 22:12 no idea
Sinisa 22:12 I would assume there should be something like that
taxilian 22:12 I'm not a mac developer, I'm afraid
just a plugin developer
Sinisa 22:12 and regarding CGContextRef, that is returned by both Cocoa and Carbon plugin window, is that reference to plugin's drawing area?
both CarbonCG and CocoaCG FB plugin window will have that one
or is that also reference to entire browser window
taxilian 22:12 well, it's CoreGraphics either way
but it's probably a reference to the browser window
because it's a windowless plugin
which is why it participates in the DOM order
https://wiki.mozilla.org/NPAPI:Models
https://wiki.mozilla.org/Mac:Plugins
https://wiki.mozilla.org/NPAPI:CocoaEventModel
ahh, here is something more useful: https://wiki.mozilla.org/Mac:NPAPI_Drawing_Models
there are links to that here: http://www.firebreath.org/display/documentation/Mac+Plugins
Sinisa 23:12 thanks. checking out
Sinisa 23:12 ok I think I start getting how this could be done
can I confirm with you following:
1. plugins in browsers, on osx, receive browser's window and cgcontextref. thus, i cannot draw directly into that, otherwise i kill everything else drawn by the browser.
2. I can create offscreen opengl renderer. whatever renders there, I then copy-paste into browser's cgcontextref, using clipping coords received from FB
am I correct?
taxilian 23:12 more or less, yes
so if you want good performance, you should use CoreAnimation instead
Sinisa 23:12 basically, there is no way I can draw opengl directly into a portion of browser's window
taxilian 23:12 instead of CoreGraphics
now, on FireFox 32 bit you can get away with creating a new AGL context over the browser (in the place given to you by clipping) and that will work
but not on Safari or Opera
or Firefox 64 bit
Sinisa 23:12 wil CA workin 32bit ffox?
*work in
taxilian 23:12 nope =]
nor will CoreAnimation work on Chrome in Mac OS 10.5
Sinisa 23:12 so basically, I gotta do both AGL-floater and CA
or, for 32bit I use CG, forget about performance
and CA where possible
taxilian 23:12 if you really want the "ideal" way of doing it, then yes; you do CoreAnimation whenever possible, then if that doesn't work you fall back to either floating AGL or (if no other choice) CG w/ copy/paste
yep
and feel free to send me the core of that when you're done and I'll see if I can make it a little more reusable :-P
anyway, headed home now. 11:30pm and I'm just leaving school... math test at 9am
should be... um... fun.
Sinisa 23:12 ok, will do
good luck!