IRC Log Viewer » #firebreath » 2012-02-06

IRC Nick Time (GMT-7) Message
kun 01:02 When I reload the page then the destructor of plugin.cpp and the pluginAPI.cpp is called but when I reload the page a second time then no destructor is called! why?
linearray 02:02 do you keep a handle to it somewhere?
kun 02:02 what do you mean?
linearray 03:02 well I don't see why the destructor shouldn't be called, other than you holding a shared_ptr to it somewhere
kun 03:02 It is weird...when I reload the page the first time the destructor is called..but the second time not
linearray 03:02 in all browsers?
kun 03:02 I dont tested it
I have different API classes that I dont release in my constructor
Do I have to release them?
linearray 03:02 not necessarily
Best I can do is suggest you read http://www.firebreath.org/display/documentation/Plugin+Lifecycle and see if that helps you track down the problem.
kun 03:02 I always read that :/
linearray 03:02 taxilian: FWIW: the intel 320 can do 220/270 MB/sec write/read
mkoch_ 04:02 what is the easiest way to use audio in a Mac plugin?
reichi 05:02 maybe you want to have a look at the mediaplayer demo plugin
mkoch_ 05:02 that doesn't do nothing on Mac
it just displays some poligons with different drawing models, but that's all
reichi 05:02 sad thign
prettyrobots 07:02 I'm trying to run through the OS X tutorial.
I'm stuck on an error First parameter of 'main" must be of type 'int'.
dtecta 07:02 I'm porting an ActiveX plugin to FireBreath. The plugin is intended to be Windows-only but should support Netscape-type browsers as well. The plugin uses OIS for keyboard and mouse handling which basically catches events directly from a windows handle (HWND). I'm passing the handle from the browser (static_cast<FB::PluginWindowWin*>(getPlugin()->GetWindow())->getHWND()) to the client plugin which draws in the browser window as e
FireBreathBot 07:02 dtecta: 30 Jan 15:31Z <taxilian> tell dtecta never call SetCurrentDirectory from within a plugin; you don't control the process, you don't own it, you shouldn't be messing with the cwd (and you certainly can't expect that if you do it'll always work correctly). use SetDllDirectory instead
dtecta 07:02 LOL. :P Should be static_cast<FB::PluginWindowWin*>(getPlugin()->GetWindow())->GetHWND()
linearray 07:02 prettyrobots: which version did you get?
the tutorial is old, do not follow it blindly
http://www.firebreath.org/display/documentation/Download
prettyrobots 07:02 firebreath 1.5
linearray 07:02 yeah, get 1.6
this was fixed IIRC
prettyrobots 07:02 Okay so:
firebreath-1.6.0?
Okay.
linearray 08:02 However, I think the Mac tutorial would give you -dev, which is also ok
so no idea why you had 1.5 ;)
prettyrobots 08:02 Same error with 1.6.0.
I'll try -dev.
linearray 08:02 main was removed in 1.6
prettyrobots 08:02 It wasn't necessary?
linearray 08:02 nope
prettyrobots 08:02 Cool.
linearray 08:02 so doublecheck you are using the correct version, rebuild the project, etc.
prettyrobots 08:02 It's still there in 1.6.0.
There is a _NO_MAIN define.
linearray 08:02 https://github.com/firebreath/FireBreath/commit/36b8402da0fd867e59fac3bf3c7d89e55eafb7ca
FireBreathBot 08:02 36b8402 by Max Amanshauser: Removed unnecessary main(.) to allow building with clang. http://goo.gl/DQFpW
mkoch_ 08:02 how can I set in the cmake file the default build arch to 64bit instead of universal 32/64bit? it gets resetted every time I run the prepmac.sh
prettyrobots 08:02 Thanks. I'm on my way.
taxilian 09:02 mkoch_: look on the wiki on the prep scripts page, it tells you how
!wiki prep scripts
FireBreathBot 09:02 8 results found. Note: Results limited to 8
"Prep Scripts": http://goo.gl/VnMXJ
"Using CMake With FireBreath": http://goo.gl/Q3r1T
"Build Configurations": http://goo.gl/DpgE6
"Download": http://goo.gl/6jNBX
"Creating a Plugin Project without fbgen": http://goo.gl/ud08C
"Building on Windows": http://goo.gl/VYTcE
"Best Practices": http://goo.gl/dLa9V
"Frequently Asked Questions": http://goo.gl/bU1CK
reichi 09:02 taxilian: it seems that getting rid of the x11/gtk dependencies was a pretty straight forward task, considering that my use-case is GUI_DISABLED one :)
the only bad thing is, i had to patch some stuff for that to extend it with "my" platform specific ifdefs
-for that
taxilian 09:02 reichi: yeah, it should be =]
why not just define the firebreath ones?
then you don't have to patch the stuff
reichi 09:02 you mean keep the names?
taxilian 09:02 yeah
reichi 09:02 and just use a different implementation
dunno what's worse ;)
calling something X11 which ist not X11 at all
or doing some minor patches that should be easily appliable even when changes were made to the originals
taxilian 09:02 well, you know your use case better than I, obviously
reichi 09:02 it's only like dunno, 5-6 ifdefs?
taxilian 09:02 personally I hate ifdefs; I try to avoid them. unfortunately, haven't been able to everywehre
reichi 09:02 pretty much impossible of you target several platforms (imo)
taxilian 09:02 actually most of the time it works out great; we customize by compilation rather than by preprocessor; in other words, we compile in the file we need and it contains the platform-specific subclass
however, there are times when that doesn't work
reichi 09:02 well
i was a little surprised
it took me like, 3 hours today or so?
it still builds and runs ;)
taxilian 09:02 hehe
reichi 09:02 so again, nice job you did there :)
taxilian 09:02 that's because it was *ahem* brilliantly designed and architected and stuff.
yeah
that's it
reichi 09:02 let's hope this thing performs ok on an embedded platform
taxilian 09:02 I'll be curious to hear
reichi 09:02 it will have the incredible power of 1100 DMIPS
;)
taxilian 09:02 lol
reichi 09:02 but there is nothing that should be any problem performance-wise
taxilian 09:02 most likely not
mkoch_ 10:02 taxilian: hi and thx! can I set this CMAKE_OSX_ARCHITECTURES in the projectDef.cmake too, or it works only as a cl parameter for prepmac.sh?
taxilian 10:02 projectDef.cmake and even PluginConfig.cmake (which is processed at an earlier level) are still too late in the build process
so needs to be a cl apram
I usually make my own prepmac.sh file in my project dir that does all the command line args I need
mkoch_ 10:02 ok, i see
works like a charm :)
taxilian 10:02 =]
mkoch_ 10:02 have you seen my former question about the audio stuff?
in the meanwhile I have found AudioToolbox/AudioQueue
do you have any experience with that?
taxilian 10:02 In the past when I've needed audio in a mac plugin I've used CoreAudio
mkoch_ 10:02 did you just play a sound file or you had to write data chunks directly into the audio buffer?
taxilian 10:02 had to write data chunks to the audio buffer
though I'm sure CoreAudio can do both
mkoch_ 10:02 i need that too (to write data chunks to the audio buffer)
taxilian 10:02 well, CoreAudio is the de-facto standard way to do it on Mac
other libraries would probably use that, though I'm sure it's not the only way you can do it
mkoch_ 10:02 I'm not 100% sure but I think this audiotoolbox is also just a layer over CoreAudio too
taxilian 10:02 probably
mkoch_ 10:02 do you know any tutorial available on the net about simply playing a raw data with CoreAudio? I tried to search on Apple's developer site, but didn't find any so far
taxilian 10:02 I don't; I didn't actually write the one we were using
I just know what was used
mkoch_ 10:02 was that an open project?
taxilian 10:02 no