IRC Log Viewer » #firebreath » 2011-10-13

IRC Nick Time (GMT-7) Message
taxilian 00:10 I am about to officially declare 1.6rc2 out; anyone have any arguments with that?
dougma 00:10 not i
anyone ever tried to set the cursor on safari mac?
taxilian 00:10 hmm. not I
dougma 00:10 firefox and chrome are working nicely, safari not at all.
taxilian 00:10 sounds annoying
dougma 00:10 another day in cross platform purgatory
and always the question: how does flash do it?
dougma 01:10 chrome achieves it with this little bit of magic: http://www.google.com/codesearch#OAMlx_jo-ck/src/content/plugin/plugin_interpose_util_mac.mm&exact_package=chromium&l=283
dougma 01:10 here's webkit2's attempt: http://trac.webkit.org/browser/trunk/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm#L98
someone-noone 02:10 hey, any englishman here? :) i've trouble with translation. Can anyone help?
"Watch online streams in HD quality" - is this sound correct?
sorry, i've found #english. Nvm
am_ 05:10 hello All
does any one have experience with building plugin on Mac
hello
any one online?
linearray 05:10 yes
what's up
am_ 05:10 hi mate, I have a problem here
I am trying to add an external dylib to my plugin
linearray 05:10 shoot
am_ 05:10 it compiles and built ok
but I can not run it through the web page,
do I need to copy the dylib file to any specific location?
are you there linearray?
linearray 05:10 did you see the Using Libraries wiki page?
http://www.firebreath.org/display/documentation/Using+Libraries#UsingLibraries-MacOSX
I don't use any libraries myself, so I don't really know where to put them
am_ 05:10 no I didn't I think it should solve my problem , thanks anyway mate
taxilian 10:10 FireBreathBot: tell am_ most likely you'll need to use install_name_tool — just like it says on the wiki. that's the most common cause of the issue you are describing
FireBreathBot 10:10 taxilian: I'll pass that on when am_ is around.
linearray 10:10 taxilian: are you on xcode 4.2 yet?
taxilian 10:10 linearray: have been for awhile, yeah
linearray 10:10 hm ok
i wonder why i have this weird building problem
taxilian 10:10 are you still trying to use llvm?
llvm wont' work ATM
you could probably fix it
linearray 10:10 I'm using whatever the prep script gives me
that is llvm, yes
taxilian 10:10 hmm. mine doesn't default to llvm
the trick is to figure out what #ifdef to use to detect LLVM
and leave out main if we're on LLVM
linearray 10:10 sounds doable
taxilian 10:10 should be, I'd think
linearray 10:10 well that was easy
taxilian 10:10 lol
awesome
submit a patch =]
linearray 10:10 but now linker error because it can't find _main
taxilian 10:10 lol. huh
linearray 10:10 "_main", referenced from:
-exported_symbol[s_list] command line option
taxilian 10:10 ahh
crap
hmm
crap
:-P
linearray 10:10 double crap
taxilian 10:10 so the simple (but temporary) solution for you is to remove main from the list of exported symbols
linearray 10:10 and where would I find that?
taxilian 10:10 it's somewhere in gen_templates
linearray 10:10 k
taxilian 10:10 it's referenced by that -exported_symbol command you mentioned
linearray 10:10 ok, works now, do you still want that patch with that change? ;)
taxilian 10:10 hehe. guess not. hmm
that's a tricky question, how we should deal with that
maybe it's time to drop main entirely
I wish I knew for sure how far back it is required
linearray 10:10 is there something like a list of officially supported browsers/compilers for FB?
taxilian 10:10 probably somewhere :-P
linearray 10:10 AboutFireBreath mentions a couple of browsers, but no versions
taxilian 10:10 well, we definitely don't support firefox < 3.0
linearray 11:10 Firefox 3.6.x will be maintained with security and stability updates for a short amount of time.
3.6.23 is the oldest mozilla-supported version
and it works without _main
taxilian 11:10 just to be safe, would be nice to verify that 3.0 works without _main
3.5 at the very least
linearray 11:10 yeah, I'm trying to find a .dmg :)
ok, are there any others you want me to try? (os x preferred)
3.0 works as well
I could try chrome, but it's pretty hard to run an outdated chrome version, so I don't think it's an issue
mkoch 11:10 hi
linearray 11:10 hi
mkoch 11:10 yesterday's problem solved, all the example plugins build and work fine, but after several hours of reading the code I just realized that this whole thing is a lot more complex as I thought first. therefore before I start going into wrong direction I'd like to ask some advice
I'm totally new to browser plugin development but now I need to develop a plugin which should be able to run on Win and Mac Firefox and IE on Win and should be capable of playing a special video format
first of all is Firebreath a good choice in my case?
linearray 11:10 if there is no ready-made plugin for your case, then yes
did you see the VLC plugin?
kylehuff 11:10 linearray: it is true that it is hard to run an outdated version of chrome on windows, and maybe mac, but not so true linux; it depends greatly on the speed that the distribution pushes packaged updates to chromium. (if they are using google-chrome, and the google repos, it is less likely to be out of date, but, in most cases they probably use chromium)
linearray 11:10 ah right.. linux
:)
kylehuff 11:10 (not even sure if is a relevant point to the issue being discussed, just pointing that out..)
mkoch 11:10 I believe there is no such plugin. I know the vlc plugin but it doesn't really fit to my needs and it would be a huge effort to understand and rewrite it, most probably larger than writing a new one from the scratch.
my 1st step would be to create a simple plugin which draws a line of shows a static image or whatever and compile/test it on all the platforms
taxilian 11:10 kylehuff: it isn't relevant in this case, since hte quesiton involves entrypoints on mac
but valid point
mkoch 11:10 is there any documentation/tutorial available on the net which could explain how to start with that?
kylehuff 11:10 ah, gotcha.
taxilian 11:10 mkoch: there are a few that will help; look for drawing on windows on colonelpanic.net
it's also linked to from tips and tricks on firebreath.org, I believe
mkoch 11:10 ok, thanks
next thing
if I run multiple instances of the plugin on a webpage, what is the preferred way for them to communicate with each other?
taxilian 11:10 all instances of a plugin in a given web browser will share memory space
mkoch 11:10 that means that they use the same static variables?
taxilian 11:10 yes
mkoch 11:10 ic
Sudi 11:10 hi taxillian.. have a quick question.. I am able to access obj-C from C++ but when I am trying to declare C++ class obj in obj-C I am getting an error - ISO C++ forbids declaration of <myClass> with no type.. do I need to use namespace or am I missing something ??
taxilian 11:10 code sample?
Sudi 11:10 ok.. just give me some time
Sudi 11:10 please can you paste the link where I can copy the file .. thanks
never mind.. got it
https://pzt.me/1dkq
taxilian 11:10 Sudi: what line is the error on?
Sudi 11:10 23
not allowing to declare
there
taxilian 11:10 that's because you're trying to use it wtihout having done even a forward declaration of that type
Sudi 11:10 I am in same page where that class is
taxilian 11:10 add "class MyPluginAPI;" somewhere above that
you can't use a type before you have declared that type
Sudi 12:10 ok.. let me try that..
thansk
Sudi 12:10 it works like a magic.. thanks.. you saved my day.. god bless
taxilian 12:10 good luck
glock45 12:10 hi all :)
taxilian 12:10 hello
glock45 12:10 taxilian: do you remember me :) ?
taxilian 12:10 of course
I don't remember the details of our last conversation, however =]
glock45 12:10 hehehe cool
well, I have next questions :D
How you do async callbacks on unix ?
taxilian 12:10 using NPN_PluginThreadAsyncCall
that's how FireBreath does it, anyway
glock45 12:10 is it supported by all browsers ?
taxilian 12:10 AFAIK
glock45 12:10 hmmm, I thought that on windows you do a window with message loop
( http://msdn.microsoft.com/en-us/library/windows/desktop/ms632679(v=vs.85).aspx )
and than you just post message to this window
taxilian 12:10 on some browsers on windows we do
glock45 12:10 ok
taxilian 12:10 IE and Safari
because Safari 5.1 no longer supports NPN_PluginThreadAsyncCall and IE isn't NPAPI so never did
glock45 12:10 Well, I am not happy, I did not know about this NPN_PluginThreadAsyncCall
and I do CreateWindow on windows :/
taxilian 12:10 it's in the docs =]
glock45 12:10 hm....on the other side I do sockets programming
so it's fine.
for windows.
...I should switch do firebreath xD
taxilian 12:10 well, yes
you should
it would be far easier
=]
but I think we've already covered that :-P
glock45 12:10 btw. taxilian do you have android phone ?
taxilian 12:10 1.6.0rc2 was released last night
glock45 12:10 :P
taxilian 12:10 no, I have an android tablet, but I use an iphone
and honestly I use my ipad much more than the android tablet
glock45 12:10 well, I should not say that but android ui performance on tablets sucks.
( I am Android programmer )
taxilian 12:10 yeah, it does
I have been meaning to learn android development
but haven't had time yet
I'm going to go get some lunch
bbl
glock45 12:10 see you
nima_ 13:10 If I need an object, lets say a string, to be available to a few of the methods that the JSAPI object has where would be the best place to put that?
linearray 13:10 let's see
maybe the JSAPI class?
taxilian 13:10 some of the questions we get in here really surprise me
linearray 13:10 :)
sabotaged|wk 13:10 anyone seen exception handling not working in some cases, in chrome on mac?
std::terminate gets called, maybe something about problem stack unwinding
taxilian 13:10 seems likely that the exception is just not being handled correctly
by your code
wouldn't think that'd be the OS
sabotaged|wk 13:10 it works fine on every other browser on windows + mac
just not chrome on mac
found some guy complaining of something similar on a gcc list
Sudi 14:10 ok.. quick question .. in firebreath project if I trying to add source file i get compilation error - No file or directory.. is there any specific rules that need to be followed ?
taxilian 14:10 add it using cmake and rerun the prep script
Sudi 14:10 ok.. thanks
taxilian 14:10 linearray: thanks for updating that
I've been meaning to
linearray 14:10 sure, yw
I think someone on the forums was looking for the symbols setting in xcode 4
and didnt just go ahead without
it.
taxilian 14:10 that's the idea I got as well
cristcost 15:10 hello all
linearray 15:10 ohai
taxilian 15:10 ehlo
kylehuff 15:10 "error: missing domain after ehlo command..."
taxilian 15:10 darn SMTP server
I thought I turned that off
taxilian 15:10 linearray: new SSD is installed and I'm getting ready to install Lion on it
linearray 15:10 nice
taxilian 15:10 and believe you me… this looks much better than last time did
formatting took about 10 seconds instead of 10 minutes
linearray 15:10 if you ever get one for the imac, buy the kingston 2.5->3.5" case
and get a family member to help, cause disassembling an imac is not trivial when alone
taxilian 15:10 lol
good to know
I'll probably leave my imac as it is, though
linearray 15:10 i enjoy the newfound silence
taxilian 15:10 hehe
it's kinda eerie
glock45 15:10 taxilian: hi again, are you there ?
taxilian 15:10 yes
glock45 15:10 taxilian: I am building .xpi package for firefox.
taxilian: it diosn't load my .DLL npapi plugin
it doesn't*
I put .dll into /plugins/npRemoteDesktopDLL.dll
a the root of .xpi directory
I set ( https://developer.mozilla.org/en/install_manifests#unpack ) do true in install.rdf
and it still doesn't work :/
any suggestions ?
( for Chrome extensions it works perfect )
taxilian 16:10 nope; I don't deal with extensions
glock45 16:10 yes, you do :P ( http://stackoverflow.com/questions/3666862/firefox-4-npapi-plugin-works-with-3-6-now-declared-corrupt )
taxilian 16:10 but you notice I'm not the one who answered the question =]
kylehuff 16:10 glock45: which version of firefox? also, for older version of firefox that directory structure does not match the mozilla docs.. it should be plugins/<PLATFORM IDENTIFIER>/plugin.dll
glock45 16:10 kylehuff: well, It should be rather /platform/XXX/plugins/np*.dll
( according to the doc )
I will try your path.
kylehuff 16:10 right, for windows something ala: /platform/WINNT_x86-msvc/plugins/MyPlugin.dll
but in Gecko 2.0 that changed, and it no longer just looks in the platform directory for a match anymore
glock45 16:10 well, I jsut put this .dll into every directory of .xpi pacakge :)
just*
kylehuff 16:10 Gecko 2.0 doesn't search directories anymore; see https://developer.mozilla.org/en/Bundles#Platform-specific_files
glock45 16:10 that's intresting
kylehuff 16:10 from what I can tell though, it attempts to load it as a "Native module", and it still won't work.
glock45: sorry, my mistake, while what I said was true, the change in Gecko 2.0 was only for native modules. you have to put your plugin in "plugins/myPlugin.dll" now...
taxilian 16:10 probably npMyPlugin.dll, no?
kylehuff 16:10 I don't know, I didn't meant to comment on the filename, just the required directory structure
taxilian 16:10 =]
glock45 16:10 I did, nut it doesn't work
I just discover that even if I put my npRemoteDesktopDLL.dll into C:/ProgramFiles/Mozilla/plugins/
and than I create simple test page
it doesn't detect my dll.
cristcost 16:10 hi all
glock45 16:10 so soemthing is wrong wit the dll
cristcost: hi
taxilian 16:10 hello
glock45: try using dependency walker to verify that you don't have any missing dependencies
cristcost 16:10 I'm trying to understand how drawing works,
taxilian 16:10 on which platform?
cristcost 16:10 win
and i've compiled
taxilian 16:10 have you read the drawing on windows article?
cristcost 16:10 yes,
taxilian 16:10 okay, so ask specific questions and we'll see if we can help
cristcost 16:10 it is a bit much synthetic,
so I've been trying to run the BasicMediaPlayer
and study how it works
taxilian 16:10 that's not a very good example, TBH
cristcost 16:10 well, my question is pretty silly :-)
ah
taxilian 16:10 FBTestPlugin is probably a better one to look at
cristcost 16:10 ok...
taxilian 16:10 it doesn't do much drawing, but it does a bit
cristcost 16:10 does FBTestPlugin use drawing?
taxilian 16:10 enough to demonstrate the principles
cristcost 16:10 ok,
i'll go to have a look to it
taxilian 16:10 did you have a question, though?
cristcost 16:10 anyway, how BasicMediaPlayer works?
:-)
I mean
taxilian 16:10 I have no idea; I didn't write it, and I don't maintain it
cristcost 16:10 the usage!
I have the test page
in front of me
ah,
but, does it play videos or not?
taxilian 16:10 I don't really know
linearray 16:10 try it? :)
taxilian 16:10 not on Mac, certainly
on windows it might play certain types
let me know if you get it working
cristcost 16:10 mmm
taxilian 16:10 look at the source code to find out what the API is
cristcost 16:10 :_D
I'll move to inspect the FBTest Plugin
thank you for now!
taxilian 16:10 good luck
Sudi 17:10 taxilian.. I have a folder /FB_My_Project generated from firebreath and within that I have project folder that I am working on.. not I want to add files in /FB_My_Project/Projects/<some files> ... do I need to re generate the complete project using fbgen.py to add files again ?
taxilian 17:10 you never need to rerun fbgen.py
you have two directories that you deal with; one is the project directory, one is the build directory
you never change the build directory
but whenever you add new files to your project directory (that was generated by fbgen) you should rerun the prep script
Sudi 17:10 ok.. let me try that
Sudi 18:10 I tried to recompile everytihng from begining so I unzipped fresh copy of firebreath and pasted all my .h and .mm files in fbgen/src folder and I also changed CMAkeList in same directory to include [^.]*.mm
when I did ./fbgen.py it failed
line 175, in <module> Main()
am I doing it in wrong way
f.write(templete.process(plugin.. . <- its showing error here but most be because of something wrong that I have done
any clue ??
dougma 18:10 taxilian> you never need to rerun fbgen.py
taxilian 18:10 ...
why
why on earth did you put your.h and .mm files in fbgen?
you don't *ever* ever ever ever need to modify that
dougma 18:10 oh sorry, just repeating what you said. :)
taxilian 18:10 lol
dougma: I wasn't talking to you there =]
Sudi 18:10 because I was gettting error saying that Xcode has changed so started clean
taxilian 18:10 Sudi: fbgen is nothing more than a simple template code generation tool
if you want to start clean, then delete the build dir
and rerun the prep script
it has nothing to do with fbgen
so yes, you are definitely doing it the wrong way
I was really serious when I said (as dougma quoted) that you never need to rerun fbgen
Sudi 18:10 ok.. so I am creating a folder in src\mycode and rerun the prep script.. will that include all my files ?
taxilian 18:10 src?
okay, when you ran fbgen, it should have created a folder under projecs/
right?
Sudi 18:10 yes..
taxilian 18:10 okay. that directory is the only directory where you should ever need to change files
nowhere else
ever
for any reason
unless you are tring to make changes to core firebreath
which you are nowhere near ready to try to do
Sudi 18:10 once the project is created if I just create my folder there and include all my files will it take it ??
taxilian 18:10 why do you need to create a folder?
nevermind. it doesn't really matter
if you add a new folder, then you'll have to change the cmake project definition to tell it to include it
Sudi 18:10 I have some code already written .mm files that I want to include
taxilian 18:10 look at CMakeLists.txt and projectDef.cmake
Sudi 18:10 ok.. let me try once again
taxilian 18:10 when you rerun the prep script it reruns cmake
dougma 18:10 oh, safari 5.1.1 snuck out with lion 10.7.2?
maybe they fixed cursors!
i live in hope. 950MB to download. :)
dougma 19:10 hopeless
taxilian 19:10 lol
taxilian 20:10 linearray: what benchmark tool should I use to measure my drive performance?