IRC Log Viewer » #firebreath » 2011-08-04

IRC Nick Time (GMT-7) Message
dougma 00:08 how's the built-size shaping up?
taxilian 00:08 well, the plugin I'm most worried about I have the compressed size down from 1.2M to 776K
I have turned on full program optimization (always) and FB_OPTIMIZE can be set to size or speed
the default is just full
the real size reduction came from reducing the size of the openssl and curl binaries that I was linking against, though
however, I'm about to try to run the analysis on FBTestPlugin again, this time after optimizing for size
see what it looks like
well, I'll have to do it tomorrow; my internet is undergoing maintenance and I just entered the time window they warned me about; I'm seeing the effects already
dougma 00:08 good progress.
good night!
taxilian 00:08 g'day, really =]
dougma 00:08 not having much joy debugging safari's PluginProcess on mac
GarethTheGreat 01:08 hi guys < read the bit about FireBreath
not sure if you guys already know, but basically some asshole is trying to patent "embedding an application into a webpage"
i and at least 6 other devs have prior art, and they're using your code to do it, so you have obvious prior art, not to mention that if they get this granted FireBreath will need to pay them royalties
dougma 01:08 err
firebreath is not a plugin so it couldn't infringe
unless they are patenting plugin frameworks
have you seen the patent application?
dougma 01:08 i suppose Firebreath could be sued for contributory infringement, but that's quite a stretch... and besides IANAL so i will stop speculating.
GarethTheGreat 01:08 dougma: i haven't seen the patent application
they're keeping it hidden to prevent people protesting
dougma 01:08 or because that's the way it's done
GarethTheGreat 01:08 well, no - it's perfectly fine to publish the application number
it doesn't prevent you from getting the patent
unless of course your patent is full of dodgy claims covered by prior art
dougma 01:08 mmm
GarethTheGreat 01:08 if a patent is truly a new invention, then the application can be published in public without issue - until the patent is granted of course competitors can copy it
but in this particular case, competitors have already done what they're wanting to patent
it's a very obvious idea
dougma 01:08 how do i know what they want to patent?
as in, can i have a link where spoton3d are saying "we are patenting this and this"
GarethTheGreat 01:08 from their public statements :)
hang on
dougma 01:08 cause that blog post was missing that. :/
GarethTheGreat 01:08
dougma 01:08 ok, so that's as clear as mud. :)
GarethTheGreat 01:08 they've also shown their product to the media - well, the VW media anyway
and repeatedly stated their intent to patent it
dougma 01:08 so it sounds like more than "embedding an application into a webpage"
GarethTheGreat 01:08 “The plugin is an entirely separate program that has been designed to and does work on not only OpenSim, but also on numerous other programs,” he said in a comment at New World Notes. ”The technology encompassed in the plugin is patent pending world wide as well as copyrighted.”
dougma 02:08 which doesn't indicate he's claiming copyright or patents on firebreath
honestly it sounds like puff to try to attract investors
GarethTheGreat 02:08 most likely is to attract investors yeah
but they have said they'll be enforcing the patent
which will put at least one competitor out of business
rashmi 02:08 hi
i have a question regarding firing events in firebreath
i have written events in my firebreath code
above is the event that i am firing
which transfers data to javascript file
n dis javascript file is written for IE
document.getElementById("pluginobj").attachEvent("onframedata", onFrameDataChrome);
above is the event listener in IE
however, i found that d event is not being fired at all
d data is not reaching dis javascript
why is dis plugin of mine not workin on IE
sorry i forgot to mention that
i am creatin a plugin using firebreath using which desktop sharing is possible
onFrameDataChrome is defined as follows:
function OnFrameDataChrome(len,param) { console.log(param); document.getElementById("KwebUI").onFrameData(len,param); }
dougma 05:08 FireBreathBot: tell rashmi your function is "OnFrameDataChrome", you are attaching "onFrameDataChrome" - they are not the same thing.
FireBreathBot 05:08 dougma: I'll pass that on when rashmi is around.
dodo__ 07:08 how / where do i add the configuration for WIX to install another Dll that i need to be deployed with my plugin? it is not very clear in the documentation
taxilian 08:08 FireBreathBot: tell dodo__ you keep leaving before I get online; I usually dont' get online until 9-10am MDT (GMT-0600)
FireBreathBot 08:08 taxilian: I'll pass that on when dodo__ is around.
taxilian 08:08 FireBreathBot: tell rashmi also try making your event all lowercase; the built-in events are all lowercase and seems like I've had a problem with mixed case event names
FireBreathBot 08:08 taxilian: I'll pass that on when rashmi is around.
ilan_ 08:08 sdf
taxilian 08:08 are you sure?
oh, hello
ilan_ 08:08 Can I ask a question about one of the exapmles ?
The media player example
taxilian 08:08 sure
ilan_ 08:08 It doesnt compiled on mac
taxilian 08:08 (and in the future you don't need to ask to ask a question, just ask it)
ilan_ 08:08 sure
there are missing files for mac building
am i right?
is it suppose to be able to be compiled on mac ?
on window there were no problems
taxilian 08:08 it worked for me last I tried it
and someone-noone was building it on mac just the other day
ilan_ 08:08 ok
taxilian 08:08 what message are you getting?
ilan_ 08:08 it doesnt find many methods, he says varaible does not declared in the scope
dougma 08:08 do you have boost?
taxilian 08:08 did you run
ilan_ 08:08 yes
taxilian 08:08 .pb
FireBreathBot 08:08 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin.,, and are all good options
taxilian 08:08 send me the build log
ilan_ 08:08 ok
where can
i found it
Can you guide me to the location ?
taxilian 08:08 the location of what?
ilan_ 08:08 the logs file
taxilian 08:08 there is no file
it's just the output when you try to build
ilan_ 08:08 ok
someone-noone 08:08 ilan_: what mac os version do you have?
ilan_ 09:08 lion
someone-noone 09:08 then
i know where is a problem
ilan_ 09:08 ?
someone-noone 09:08 errors are in QD stuff, right?
taxilian 09:08 ahh; good point. what version of FireBreath are you using?
ilan_ 09:08 yep
taxilian 09:08 update to the latest in the 1.6 branch
ilan_ 09:08 1.5.2
someone-noone 09:08 so go into projectDef.cmake in mac
set USE_QUICKDRAW (or so) to 0
taxilian 09:08 hmm. that might work too =]
someone-noone 09:08 in BasicMediaPlayer.h comment all quick draw functions
ilan_ 09:08 ok, there no need to update to 1.6 ? only set the flag to 0 ?
someone-noone 09:08 in comment #include <PluginWindowQD.h>
and all quick draw functions
taxilian 09:08 another option would be to set it to build with the 10.6 SDK
someone-noone 09:08 yeah, it should work too
ilan_ 09:08 all the drowing models files are not included in the example directory. isnt that a problem ?
someone-noone 09:08 no
it should just work without QD stuff, or with but SDK 10.6 enabled
ilan_ 09:08 PluginWindowMacCA for example
is missing
someone-noone 09:08 it shouldn't be there
taxilian 09:08 !findfile PluginWindowMacCA
FireBreathBot 09:08 Found 2 matching file(s) in the master branch. First 2 are:
taxilian 09:08 it's right there
it shouldn't be in the examples dir
it's a firebreath file
ilan_ 09:08 ok
someone-noone 09:08 taxilian: (and others xcode4 users) will 8gb of ram be enough for xcode?
linearray 09:08 barely :)
someone-noone 09:08 but… will it possible to work? unfortunately, can upgrade my macbook pro only up to 8gb
now it's like: run and go drink coffee for 2 hours
with 4gb ram :)
linearray 09:08 some people use xcodebuild instead
someone-noone 09:08 yeah, but what about gdb?
also console ?:D
linearray 09:08 guess so
for me 8 GB were not enough for xcode
someone-noone 09:08 crap
linearray 09:08 so I switched to developing on windows
in vmware :)
someone-noone 09:08 if this could support gdb breakpoints...
that would be great
linearray 09:08 I mean, it just swapped like crazy, so if you can wait 15 minutes for a build I guess it's bearable.
someone-noone 09:08 yeah, i so 20gb of swap too
i saw *
ilan_ 09:08 what is the best way to do the upgrade from 1.5.2 to 1.6 ?
someone-noone 09:08 git clone git:// -b firebreath-1.6 firebreath-1.6
best way )
taxilian 09:08 someone-noone: 8GB would help; another option is to downgrade to XCode 3
someone-noone 09:08 it's impossible on lion
i've already tried
taxilian 09:08 it runs on lion
just a question of how to install it
someone-noone 09:08 taxilian: do you have prebuilt boost libraries?
or you are building it eachtime after prepmac?
taxilian 09:08 someone-noone: I use firebreath-boost
it only has to rebuild if you nuke your build dir
someone-noone 09:08 i was told that problem is in the boost. Better to say in clang and clang's templates
taxilian 09:08 that's likely
but in the header files, not the need to build the libs
someone-noone 09:08 and possible solution is to make index directory non-writable
yeah, problem not in building. I understand this
taxilian 09:08 well, I'm going to go get some exercise and take a shower. I'll be back in prolly an hour
someone-noone 09:08 chmod -R -w ~/Library/Developer/Xcode/DerivedData/
indexer bye-bye
linearray 09:08 interesting
someone-noone 09:08 but wait
someone-noone 09:08 Build succeed
so it works
someone-noone 10:08 just installed new 8GB RAM and enabled indexing again… seems that 8GB solve the problem too
taxilian 10:08 someone-noone: could you put that tip on disabling indexing somewhere on the firebreath website?
someone-noone 10:08 sure
dodo_ 10:08 hi, where do i change the versionof the plugin so it is not ?
taxilian 10:08 which version are you reading?
dodo_ 10:08 it what is showing on the about:plugins
someone-noone 10:08 PluginConfig.cmake
then ./prep#
dodo_ 10:08 thanks!
run prep again?
someone-noone 10:08 yeah, or changes will not affect
taxilian 10:08 I'm not sure if that will change what shows in about:plugins; that may be showing the DLL version, if you're on windows
dodo_ 10:08 ok, checking
sabotaged|wk 11:08 hmm. i merged in 1.6 branch and after running prep, on VS2010 i'm getting project load errors for CPT_PluginAuto and PluginCore
CPT_PluginAuto.vcxproj(489,7): The project file could not be loaded. The 'ClInclude' start tag on line 468 position 6 does not match the end tag of 'ClCompile'. Line 489, position 7.
PluginCore.vcxproj(494,7): The project file could not be loaded. The 'ClInclude' start tag on line 473 position 6 does not match the end tag of 'ClCompile'. Line 494, position 7.
someone-noone 11:08 taxilian:
taxilian 11:08 I saw; thanks!
taxilian 12:08 someone-noone: with your mac CA stuff you're calling invalidate, right?
someone-noone 12:08 yes
i tried invalidate and\or setneedsdisplay
same result
taxilian 12:08 are you using 32 or 64 bit FA?
someone-noone 12:08 64
but why are you askin? CA should work on any architecture
taxilian 12:08 I'm doing some experimenting; give me a few minutes
Eric just tested an old version of BasicMeidaPlayer, btw, and it worked fine in multiple tabs on all three browsers that support CA
someone-noone 12:08 that sounds strange
because mine is not working and i even made "a clean build from box"
taxilian 12:08 there may be something broken in the example
I'm building the current version now to test
someone-noone: so look at the history of that example; back in March (mid march or so) it worked
I must have broken something
someone-noone 12:08 you're also having problems with new version?
taxilian 12:08 CA and ICA don't work at all for me with the current version
someone-noone 12:08 me too. so this sounds hopeful.
taxilian: so you think problem is in BasicMediaPlayer, not in firebreath core?
taxilian 12:08 well, I think so
but I don't have any way to be absolutely certain
someone-noone 12:08 I'm listing git and see that from march there was some fixes on CALayer and friends
someone-noone 13:08 i've looked at at this commit and don't see any difference between new version
except of event handling
taxilian 13:08 it could be worth looking at the differences in the core as well
specifically the pluginwindow classes
someone-noone 13:08 i've downloaded 1.4 version, will try to play with that
will downgrade until i locate the problem
taxilian 13:08 consider using git bisect
someone-noone 13:08 binary search is good, but unfortunately i'm not familar with git. i'm mercurial user
taxilian 13:08 find a working version first
someone-noone 13:08 so guess linear search is better for me)
taxilian 13:08 but remember that there was a point where basicmediaplayer didn't even build on mac
much less have a rendering example in it
and it was probably around feb or march that it was added
someone-noone 13:08 ok
someone-noone 13:08 taxilian: so 1.4 version failed, v 1.3 also is a "white screen". But currently i don't see any drawing in this version
taxilian 13:08 1.3 certainly wouldn't work
there was no basicmediaplayer example back then
not for man, anyway
try commit ef932b397f
FireBreathBot 13:08 ef932b3 by Jarom Loveridge: Cleaned up the drawingModel examples slightly.
taxilian 13:08 it was working that commit
someone-noone 13:08 sorry for dumb question, but how can i do it? tried git revert, but it works not like in hg..
taxilian 13:08 take some time sometime and read the pro git book (at least chapters 1-3). it's not long, and it'll help you a lot to understand what is happening.
in the mean time, git checkout ef932b397f
FireBreathBot 13:08 ef932b3 by Jarom Loveridge: Cleaned up the drawingModel examples slightly.
taxilian 13:08 revert is something totally different
someone-noone 13:08 thanks!
i will do that…. just have not time for all, unfortunately
taxilian 13:08 learning to use git is something you'll never regret
I used to use mercurial a lot, bzr a lot
I can't stand them anymore
they are such a pain to work with
going to go get some lunch
be back in a bit
someone-noone 13:08 may be you're right… but i'm using it in 3 projects with 3 people. currently we have no reasons to change it
have a nice lunch!
someone-noone 14:08 yes, this works. now will check how works animation in this commit
animation works perfectly!
finally, problem is nearly located
how should i move next?
ahh.. seems i understood how to use bisect
taxilian 14:08 someone-noone: yeah, git bisect is perfect for what you need
there are plenty of instructions on how to use it
someone-noone 14:08 5 steps left
xcode4 with my new ram and clang is fantastic!
it's ~2 times faster than 3d version
my plugin is building for 15 sec instead of 15 mins )
someone-noone 15:08 commit c608762f8944f35695ffe521102ced47e4e7d240
FireBreathBot 15:08 c608762 by Richard Bateman: FIREBREATH-8 Fixed CoreGraphics to not error out on carbon,
someone-noone 15:08 this is evil commit...
taxilian 15:08 this is the evil commit?
figures it would be mine
of course, 90% of the commits are, so statistically that was likley
kylehuff 15:08 people have had problems with exactly 0% of my commits...
taxilian 15:08 lol
well done, Kyle
perfect record
however, if we could successfully divide by your commits the universe would explode
someone-noone 15:08 :)
kylehuff 15:08 lol, true...
someone-noone 15:08 taxilian: what should i do next?
taxilian 15:08 figure out why that broke it =]
someone-noone 15:08 i bet on :)
FireBreathBot 15:08 c608762 by Richard Bateman: FIREBREATH-8 Fixed CoreGraphics to not error out on carbon,
someone-noone 15:08 because there are no changes in CA
so i guess smth wrong with events
taxilian 15:08 that would be my guess as well
here is what I would try
first I would try using the version of the basicmediaplayer files that were there with the new firebreath and see if that works
if it does, then you can start applying the changes that make sense until it doesn't work anymore =]
if that doesn't help then you know it's in the core and it's event related
someone-noone 15:08 the only difference
in current version and that
is only events in
CALayer and friends are the same
taxilian 15:08 and .h
so try reverting those
and see if it works
if that doesn't work, we can look at something else
someone-noone 16:08 as i said i'm new to git. May i ask some dumb questions to speed up process? :)
taxilian 16:08 oh, I suppsoe
someone-noone 16:08 how can i get current "last commit"
taxilian 16:08 not sure what you mean
how do you find out what commit you're on?
someone-noone 16:08 yes. git log, i guess
taxilian 16:08 yes
or git log -1
someone-noone 16:08 and how to revert basicmediaplayer files?
taxilian 16:08
someone-noone 16:08 wow)
captain obvious answered )
sabotaged|wk 16:08 so after upgrading to 1.6 i'm seeing linker messages about recommending /LTCG for improved link performance
taxilian 16:08 that's fine
ignore it
sabotaged|wk: although… that's strange, because /LTCG should be there
in the link flags
sabotaged|wk 16:08 let me check
hmm, i dont see it
taxilian 16:08 I hold in my hand a 3TB hard drive
someone-noone 16:08 taxilian: it works on fb1.6
taxilian 16:08 well, start making the changes that I made one by one until it stops working :-
someone-noone 16:08 error: cannot dynamic_cast ‘this’ (of type ‘class FB::PluginEventSource* const’) to type ‘struct FB::PluginWindowMacCG*’ (target is not pointer or reference to complete type)
can't understand where it's broken
taxilian 16:08 you need to include PluginWindowMacCG.h
someone-noone 16:08 thanks'
i made changes
and you know what? it's still working
how can it be?
taxilian 16:08 do a diff
there must be something different
someone-noone 16:08 yeah
found it
PluginWindowMac is an evil
in OnAttach \ DeAttach event s
if it make PluginWindow and than do dynamic cast it works
if use PluginWindowMac it fails
taxilian 16:08 ...
that doesn't make sense
!findfile PluginWindowMac.*cpp
FireBreathBot 16:08 Found 2 matching file(s) in the master branch. First 2 are:
taxilian 16:08 !findfile PluginWindowMac.*mm
FireBreathBot 16:08 Found 3 matching file(s) in the master branch. First 3 are:
someone-noone 16:08 my guess that problem is here: virtual bool onWindowAttached(FB::AttachedEvent *evt, FB::PluginWindowMac*);
in h file
so we're overriding invalid function
my guess
taxilian 16:08 doesn't make sense
someone-noone 16:08 okay, i will test again
taxilian 16:08 hmm; hang on
yes it does make sense
and you're right
there should be EVENTTYPE_CASE statements for attachedevent and detachedevent
add EVENTTYPE_CASE(FB::DetachedEvent, onWindowDetached, FB::PluginWindowWin)
and one for AttachedEvent
someone-noone 16:08 ok
taxilian 16:08 inBasicMediaPlayerPluginMac.h
do you see why?
someone-noone 16:08 no
taxilian 16:08 because the parent class is calling a differen onWindowAttached and onWindowDetached
one that takes a PluginWindow not a PluginWindowMac
oh, make that PluginWindowMac not PluginWindowWin in the line I gave you
so the plugin event map falls back to the parent class
but doesn't go to the child's onWindowAttached
someone-noone 16:08 when i was first time playing with firebreath i was surprised when i see all events in EVENTTYPE_CASE except attached\deatached events
but then i thought it's due to architecture of framework
taxilian 16:08 oh, it's in there as well
it's in the parent class
but you're right; the functions aren't overridden exactly, so they aren't the same
there are no events that are "just there" in PluginCore
someone-noone 16:08 so, EVENTTYPE_CASE solved
taxilian 16:08 only what you map from EVENTTYPE_CASE
someone-noone 16:08 just tested
taxilian 16:08 that's obnoxious =]
let me confirm the fix and I'll push it
thanks for tracking that down
someone-noone 17:08 you know what
i just looked into my plugin
and found that i was using EVENTTYPE_CASE for this events....
so my adventures just started
taxilian 17:08 but now you know that it can be done
someone-noone 17:08 yeah...
FireBreathBot 17:08 Commit 2bdc7b4 on master by Eric Herrmann: "Added CarbonToNPCocoaEvent"
Commit 59e8e83 on master by Richard Bateman: "Fixed BasicMediaPlayer example to work again w/ CA/ICA"
Commit 2bdc7b4 on firebreath-1.6 by Eric Herrmann: "Added CarbonToNPCocoaEvent"
Commit 59e8e83 on firebreath-1.6 by Richard Bateman: "Fixed BasicMediaPlayer example to work again w/ CA/ICA"
someone-noone 17:08 day by day i'm making a little step
but need to make a big distance
time is ticking :(
dougma 22:08 taxilian: i see in the history of utf8 conversion routines, wcstombs was (tried, and) commented out... any reason why you gave up on wcstombs?
taxilian 22:08 yeah; it didn't work
dougma 22:08 fair enough. :)
taxilian 22:08 I don't remember the specifics, but it definitely did not work
I think it didn't actually handle other languages
or something ridiculous like that
dougma 22:08 or the default locale was throwing it off?
taxilian 22:08 that might be
I forget
dougma 22:08 ok, wsa just curious after going through the process of finding probs in the old utf8 library :)
new one is much happier.
taxilian 22:08 hehe. have you had any problems with the new one?
oh, good
sabotaged|wk 23:08 that /LTCG flag is getting set for the plugin DLL linker setting, but not the intermediary libs, hmm
taxilian 23:08 hmm. I wouldn't have expected it to be needed for intermediate libs
sabotaged|wk 23:08 well, the linker is printing messages for e.g. boost_thread
sabotaged|wk 23:08 welp that doesnt work
taxilian 23:08 no, those just get appended to the other
Imran 23:08 Hi, how i add a resource dialog in my project
sabotaged|wk 23:08 taxilian: maybe STATIC_LIBRARY_FLAGS? but that doesn't work either
taxilian 23:08 Imran: I have no idea what your'e asking
sabotaged|wk: I'm not sure; LINK_FLAGS might be the only way to do it
Imran 23:08 me want to add a dialog form to communicate it with the functions i added in my project
taxilian 23:08 so you want to add something to the .rc file?
Imran 23:08 yes
taxilian 23:08 you can copy the .rc file from <fb_root>/gen_templates/ into your plugin project directory (not the win/ directory, the root of the project directory) and it will use that instead of the default
but remember that it is a template and you have to rerun the prep script any time you change it
also remember that you must not *ever* block the main thread, so if you're planning to open a modal dialog do it on a second thread, not the main one