IRC Log Viewer » #firebreath » 2011-03-22

IRC Nick Time (GMT-7) Message
Amit 00:03 Hello
I have to create browser plugin, I found firebreath framework is used to create the browser plugin
In firebreath which language is used ?
Ed___ 06:03 Hey guys..
Question about variant_list_of and variant_map_of..
I am looking to fire an event a bit like this..
FireEvent("onevent", FB::variant_list_of("foo")(FB::variant_map_of("foo, "bar")("key", "value")));
So an event with a nested map..
s'okay.
realised I needed to parametizre the map..
FireEvent("onevent", FB::variant_list_of("foo")(FB::variant_map_of<std::string>("foo, "bar")("key", "value")));
Ed___ 08:03 Hi Taxilian
taxilian 08:03 Morning
So you figured out your issue then?
Ed___ 08:03 Been doing okay, yeh.
I do have a question about nesting maps/arrays for a FireEvent call though.. :D
FireEvent("onevent", FB::variant_list_of("foo")(FB::variant_map_of<std::string>("foo, "bar")("key", "value")));
Doesnt compile (cant convert the map)
However, I can work around it by assigning the map to a FB::VariantMap, then puttin that in..
(Awsome power though!)
taxilian 09:03 Ed___: TBH, I haven't actually used variant_map_of
so I don't actually know how it works =]
Ed___ 09:03 Cheers taxilian. Anyone else played with variant_map_of?
sabotaged|wk 10:03 taxilian: yes, as far as i've seen i don't need to pass in a NULL rect for it to work
but i've only tested IE9 so far
taxilian 10:03 sabotaged|wk: good to know! thanks
FireBreathBot, tell physicsrob could you try using the latest 1.4 branch and see if invalidate works in ie windowless without changes?
FireBreathBot 10:03 taxilian: I'll pass that on when physicsrob is around.
taxilian 10:03 FireBreathBot, tell physicsrob the latest 1.5 (master) works too
FireBreathBot 10:03 taxilian: I'll pass that on when physicsrob is around.
taxilian 10:03 Ed___: welcome to the mailing list =]
Ed___ 10:03 ayup. Cheers..
:D
taxilian 10:03 there are 172 members of the mailing list; it's fun to watch that grow
Ed___ 10:03 @taxilian: That's cool
taxilian 10:03 so someone filled out the survey and mentioned several features that they couldn't get working… but they didn't include an email address so I could try to help :-?
EL45 10:03 Hi taxilian, I am attempting to include external boost libraries in hopes of using Boost.python. I am struggling with the whole process including using the prep scripts. I have had success using params with no spaces and surrounded in quotes (ie: -DWITH_SYSTEM_BOOST=1") however, I cannot seem to figure out how to give the path to boost since I also require quotes around the path name. Any suggestions?
taxilian 10:03 well, first of all boost.python is in the firebreath-boost subset
second question, what OS?
EL45 10:03 Oh wow. Missed that somehow.
Im using Windows 7
taxilian 10:03 it may not have a cmakelists.txt file; you might have to make one and send it to me to add to the repo
but you could just copy one of the other boost/libs/?/CMakeLists.txt files as a template
EL45 10:03 Ok great. I will look into that.
taxilian 10:03 if you want to try to do it with system boost, let me know and we'll try to figure out what isn't working
EL45 10:03 If I could avoid it that would be nice.
taxilian 10:03 amackera: any progress on the CG stuff?
Ed___: try typecasting the result of variant_map_of
i.e. FireEvent("onevent", FB::variant_list_of("foo")((FB::VariantMap)FB::variant_map_of("foo, "bar")("key", "value")));
Ed___ 10:03 @taxilian. Yep. I can give that a go. I presume that is the effect of me assigning in the line before - it has the expected type. Wait one..
taxilian 10:03 right; so the variant_map_of helper produces a VariantMapInserter object
Ed___ 10:03 Ah, ok.
taxilian 10:03 which has a operator std::map<T,FB::variant> function
Ed___ 10:03 Right, and the variant_list is only expecting a VariantMap, and does't know to convert automatically..
Yes, that works btw..
taxilian 10:03 would you like to help me make this a little nicer?
Ed___ 10:03 Yeh, if you can walk me though what you want. I am only working with the snapshot. Not a git of 1.4.2
taxilian 10:03 that's fine; I just need to verify that this works
!findfile firebreath-1.4 variant_map.h
FireBreathBot 10:03 Found 1 matching file(s) in the firebreath-1.4 branch. First 1 are:
src/ScriptingCore/variant_map.h http://goo.gl/exDsL
taxilian 10:03 so in that file, line 78, add this:
Ed___ 10:03 ok, I shall give it a look.
taxilian 10:03 operator FB::variant()
{
return FB::variant(m_m);
}
see if that makes it work
Ed___ 10:03 ok, building.
No errors. that looks happy. :D
taxilian 10:03 cool
would you mind creating a jira issue real quick for me to commit against? I'm trying to simplify tracking changes by using jira issues for everything we change
and you're the reporter...
http://jira.firebreath.org
Ed___ 10:03 bug/feature?
ah. improvement :D
taxilian 10:03 yeah, that sounds good =]
sabotaged|wk 10:03 hmm, any way to detect the screen position of a windowless window?
FireBreathBot 10:03 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-14 issue created by ed sayers
Ed___ 10:03 ok. 14
taxilian 10:03 Ed___: cool. I'm just writing a unit test, then I'll push the change
Ed___ 10:03 Well,, that's service.. :D
taxilian 10:03 I expect you to help out where you can in return ;-) or at any rate contribute in whatever way you are able. docs are always in need of love, for example =]
Ed___ 10:03 yeh, fair enough..
taxilian 10:03 sabotaged|wk: I'm not sure if there is or not
there might be a way to get the coords from the hDC
sabotaged|wk: possibly you could use WindowFromDC
sabotaged|wk 11:03 ill try that thanks
Ed___ 11:03 @taxilian: TTFN. Cheers again
taxilian 11:03 see you
taxilian 11:03 so Firefox 4 is out
EL45 11:03 @taxilian So I am trying to create the cmakelists.txt for Boost.python. When building i receive: fatal error C1083: Cannot open include file: 'pyconfig.h': No such file or directory. I assume this is because python is no being linked correctly. The cmakefile I am using is: http://pastebin.com/DFULzfgj . Sorry for my cmake ignorance.
taxilian 11:03 ignorance is curable
it's only stupidity that bothers me
EL45 11:03 Well im not sure which side of the line I fall
:-p
taxilian 11:03 where is PYTHON_INCLUDE_DIRS coming from?
EL45 11:03 I was trying to follow the example at: http://stackoverflow.com/questions/5238160/boost-python-linking
taxilian 11:03 so pyconfig.h is a python .h file, nto a boost.python file?
EL45 11:03 Correct
taxilian 11:03 ok; ${?????} is a cmake variable; that means that unless that cmake variable was assigned somewhere, it will be empty
the if block on line 28 is redundant; I'd remove it
EL45 11:03 Ok.
taxilian 11:03 there is no reason to differentiate between the two
EL45 11:03 That makes sense
taxilian 11:03 but probably your only issue here is that ${PYTHON_INCLUDE_DIRS} is empty, unless you have set it somewhere
the easiest way to set it would be to do "-DPYTHON_INCLUDE_DIRS=C:\path to python headers\"
in your prep script
EL45 11:03 Ok awesome.
Thank you very much.
taxilian 11:03 now
is there a "standard location" for python include files?
what might be more "ideal" would be to have cmake try to find the python includes itself
EL45 11:03 Yeah. It's in an include directory in the python directory.
taxilian 11:03 okay; are you on windows?
EL45 11:03 Yes
taxilian 11:03 so you have two options; you can do it just for you, or you can go an extra mile and I'll teach you how to make python do the lookup, which would be more reusable =]
EL45 11:03 If you wouldn't mind, I would love to go the extra mile
taxilian 11:03 cool. the first thing to do is to try to figure out where python is install
installed
on windows, you can probably find it somewhere in the registry
EL45 11:03 Ok.
taxilian 11:03 on unix/mac os we probably don't need to, it'll find it anyway
so see if you can find something in the registry that contains the path to python
EL45 11:03 c:/python27/
taxilian 11:03 right; but can you find that in the registry?
because it may not always be there
EL45 11:03 Ok one sec
taxilian 11:03 ooh
http://mantawiki.sci.utah.edu/manta/index.php/FindPythonLibs.cmake
EL45 11:03 Nice. Sorry im slow.
taxilian 11:03 heh. no worries; I have a bit more experience with cmake
awesome, so that's a cmake module
that we already have
even better
wow
this will be easy
EL45 11:03 I like to hear that!
taxilian 11:03 just add include(FindPythonLibs)
at the top of the file
EL45 11:03 Top of the cmakelists.txt?
taxilian 11:03 actulaly
use this:
find_package(PythonLibs REQUIRED)
message("Include dirs of Python: " ${PYTHON_INCLUDE_DIRS} )
message("Libs of Python: " ${PYTHON_LIBRARIES} )
at the top of the CMakeLists.txt file
that's awesome
should work
EL45 12:03 Great thank you. Just to make sure I have everything straight. I created a cmakelists.txt file in firebreath/src/3rdparty/boostlibs/python
then I run the prepscript
?
taxilian 12:03 yeah
you'll need add_boost_library(python), of course
in your PluginConfig.cmake file
EL45 12:03 Cool. You have been super helpful. I have yet to have an experience like this with other projects. It is much appreciated. I look forward to contributing to the community as soon as I have sold footing.
taxilian 12:03 I look forward to that as well =]
FireBreathBot 12:03 Commit d114ff4 on master by Richard Bateman: "FIREBREATH-14 variant_list_of and variant_map_of now can nes..." http://goo.gl/Jb6Mh
Commit ef75548 on firebreath-1.4 by Richard Bateman: "FIREBREATH-14 variant_list_of and variant_map_of now can nes..." http://goo.gl/MyfiT
JIRA issue http://jira.firebreath.org/browse/FIREBREATH-14 issue resolved by richard "This is in with some basic unit tests to keep it from breaking. Please check it with the latest ..."
taxilian 12:03 EL45: when you're ready to submit that python change back to the project, please create a JIRA issue; you can submit it as a git format_patch, a pull request, or for something like that just an include file
FireBreathBot 12:03 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-4 issue commented by richard "I'm expanding the scope of this issue to have all firebreath cmake files in the solution"
FireBreathBot 14:03 Commit 3812ae8 on master by Richard Bateman: "FIREBREATH-4 generated files and cmake files now in vs proje..." http://goo.gl/3oaYf
JIRA issue http://jira.firebreath.org/browse/FIREBREATH-4 issue resolved by richard "Done; take a look at tell me what you think."
someonenoone 14:03 Hello! I want to start developing with firebreath. I've already an application which is written on c++ and uses some libraries such as libevent and libav*. I want to know may i link my plugin with this libraries?
taxilian 14:03 someonenoone: should be possible
but keep in mind that plugins aren't like applications
anything in global scope will be shared between multiple instances of the plugin
so you pretty much have to avoid using static and global variables unless you really know what you're doing
someonenoone 14:03 is it the only restriction?
taxilian 14:03 IE also has some security restrictions
there are a lot of little things, but that's one of the bigger things that gets people
someonenoone 14:03 btw, hello taxilian)
taxilian 14:03 hello =]
someonenoone 14:03 if you remember we've talked before. My nickname was just_another_user
what security restriction has IE? May i use sockets in plugin?
taxilian 14:03 yes, you can use sockets; mainly filesystem access restrictions
но да, я тебя помню =)
someonenoone 14:03 ))
как дела?
taxilian 14:03 нормально... а ты?
sabotaged|wk 14:03 watch out for protected mode in IE; the process will run as a low integrity on vista/7 systems
someonenoone 14:03 лучше всех)
taxilian 14:03 right; that's the main thing
sabotaged|wk 14:03 took some cajoling to get named pipes working properly for me in certain cases
taxilian 14:03 и теперь мы можем смияться над sabotaged|wk и он не поймет....
someonenoone 14:03 дада)
taxilian 14:03 ;-)
sabotaged|wk 14:03 i think my irc client is not handling somethign well, all i'm seeing is a bunch of weird characters
someonenoone 14:03 хаха )
sabotaged|wk 14:03 maybe unicode bug or something
taxilian 14:03 lol. that's because Russian is a bunch of weird characters
sabotaged|wk 14:03 oh
taxilian 14:03 but it depends on how weird you're talking :-P
I wonder...
sabotaged|wk 14:03 stuff like 3/4 symbols
not russian
taxilian 14:03 FireBreathBot: "ты понимаешь?"
phenny: "parlez-vous français"?
oops
FireBreathBot: "parlez-vous français"?
FireBreathBot 14:03 taxilian: "do you speak French" (fr to en, translate.google.com)
someonenoone 14:03 je ne comprene pas fracais
taxilian 14:03 FireBreathBot: "ты понимаешь"?
FireBreathBot 14:03 taxilian: "you know" (ru to en, translate.google.com)
taxilian 14:03 err... not really, but hey, closeish
FireBreathBot: "и теперь мы можем смияться над sabotaged|wk и он не поймет...."?
FireBreathBot 14:03 taxilian: "and now we can smiyatsya over sabotaged | wk, and he does not understand ...." (ru to en, translate.google.com)
sabotaged|wk 14:03 haha
taxilian 14:03 lol. I probably spelled "laugh" wrong
someonenoone 14:03 не смияться, а смеятся
taxilian 14:03 ahh
figured
someonenoone 14:03 смеяться*
taxilian 14:03 my spelling/writing is not nearly as good as my verbal fluency
someonenoone 14:03 it is understandable
russian is one of the hardest languages
at least it is much harder than en, fr and de
taxilian 14:03 that's the main thing. usually when I converse with someone in Russian they know English as well as I know Russian, so I type in English and they type in Russian. I'm still somewhat slow typing in Russian
kinda cool that the bot ties into google translate, though
someonenoone 14:03 you need more to practice
taxilian 14:03 true
sabotaged|wk 14:03 so i'm going to be doing some drawing stuff on mac now that i'm mostly done with windows. i think i remember hearing about a bunch of mac drawing refactoring. what's the best branch to use?
taxilian 14:03 sabotaged|wk: what drawing model do you plan to use?
sabotaged|wk 14:03 i supposed i should read that article by stuartmorgan again
someonenoone 14:03 another question: if firebreath has built-in platform-independent thread support?
taxilian 14:03 not a bad idea
someonenoone 14:03 is*
taxilian 14:03 someonenoone: yes and no; it has boost::thread, which is platform dependent
http://colonelpanic.net/2010/12/firebreath-tips-asynchronous-javascript-calls/
that covers some basics
someonenoone 14:03 another question: if i link libraries to plugin(dynamic) how should i distribute them with plugin?
taxilian 15:03 depends on your platform; my first suggestion is to avoid that, but that's not always possible
someonenoone 15:03 i want plugin that will be working on any platform (linux,osx ,win)
taxilian 15:03 on windows you need the .dll files to be installed to the same directory as the plugin; in fact, you need them to be in that directory when the wix install generator runs or to run regsvr32 on them
on Mac they need to be in the bundle in the same place as the actually plugin binary
on linux I'm actually not certain, but I'd guess it's the same
someonenoone 15:03 okay
i understand
so i will need to use libtool or smth like that
didn't know that plugins on mac are also bundles
taxilian 15:03 well, if the libraries are already there then you don't need to worry about it
if you know that the library will be there
it just has to be somewhere that the library can be found
someonenoone 15:03 yep, but there is another problem. If you link to dylib in mac (not only in mac, but i've faced it here) there is a chance that some dependencies of dylib will not be installed on user's machine
taxilian 15:03 yes, this is also true
and same with windows; the dependencies of your dependencies must also be there
and linux
someonenoone 15:03 you said before that you have already written video player on firebreath. Is it open sourced?
taxilian 15:03 I'm afraid not
someonenoone 15:03 i understand
did you make rendering yourself or used another toolkit?
all my job in firebreath is to rewrite render-video mechanism
that why i am asking
taxilian 15:03 well, I didn't personally write the renderers
but the company I was working for did their own
OpenGL and DirectX
someonenoone 15:03 hm. i got an error during "prepmac.sh examples". CMake failed. where can i see error log?
taxilian 15:03 it should give it to you on the console
someonenoone 15:03 oh, i didn't make git submodule update --init --recursive
now everything seems to be ok
taxilian 15:03 ahh
FireBreathBot 15:03 Commit fbef341 on master by Eric Herrmann: "Added drawing model override with param. Beefed up BasicMedi..." http://goo.gl/Joevs
Commit 884d859 on master by Richard Bateman: "Merge branch 'master' of github.com:firebreath/FireBreath" http://goo.gl/wDRL8
taxilian 15:03 amackera, you around?
jshanab_wcw... you doing any mac drawing these days?
grr. where is neilg?
anyone else drawing on mac?
jshanab_wcw 15:03 Never got this thread issue solved, never got the mac. :-(
taxilian 15:03 which thread issue?
jshanab_wcw 15:03 Ah, a boost thread just stops. the join then waits forever. If i put a breakpoint that prints out a value, the thread lives and I can trace the stop signal and the join works perfect. Driving me Friggen nuts
taxilian 15:03 sounds like an unhandled exception
watch the output window and see if it says anything about that around the time the thread stops
also try wrapping the whole run loop /whatever of the thread in a try ... catch(...) and put a breakpoint in catch
jshanab_wcw 15:03 I get a few win32 thread exit with 0x0
taxilian 15:03 also, if you can figure out the thread_id you can check to see if it's still running; could be deadlocked
set a breakpoint somewhere where you can see it; do you know how to view threads in visual studio debugger?
jshanab_wcw 15:03 I have done the whole loop and catch and break point, but there are more places to look. Damn thing is, it behaves differently when I debug than not LOL
taxilian 15:03 gotta love timing issues
my point with the breakpoint also, though, is that you can look at the threads and see what the thread id is
then you can wait til after the thread disappears / before the join and see if that thread is still running
it may be deadlocked on something
if it went away then the join shouldn't block
jshanab_wcw 15:03 Not worth a darn. It does not update any data unless on a breakpoint and when it goes poof, the debuger says it is running but no break points make a difference. It has taken me a bit to realize it is just "gone" but the debugger does not seem to know that yet
taxilian 15:03 hmm. that's really strange... I'd have to look at it. I never met a threading issue in vs that I couldn't dig through eventually, but some require some fiddling... and I may just never have met one like yours =]
jshanab_wcw 15:03 I agree. if the thread is gone join should fall thru, but the exit logic or ANY breakpoint on any line in the thread, never gets hit. if I put to many breakpoints then it works LOL. or just 1 breakpoint that prints a value. it slows things down sooooo much
taxilian 15:03 you don't need a breakpoint
pause it
and look at the thread
threads
see where that one is
either the thread crashed in a way that didn't take out the whole process or it is locked up somewhere, right?
but you don't know for sure which
sabotaged|wk 15:03 luckily i think i just need to support core animation + cocoa
taxilian 15:03 sabotaged|wk: do a pull on the latest 1.5
sabotaged|wk 15:03 oh wait
taxilian 15:03 there is now an example there that shows all the drawing models
I haven't tried it yet
someonenoone 15:03 hm, i'm getting errors while trying to build BasicMediaPlayer plugin
taxilian 15:03 the new one?
jshanab_wcw 15:03 thanks
taxilian 15:03 when did you update?
and on which platfomr?
someonenoone 15:03 "FB::PluginWindowMacCA::GetValue(NPPVariable, void*)", referenced from:
look like some libraries are not included to the link
taxilian 15:03 !find GetValue
FireBreathBot 15:03 Found 4 possible matches. Displaying 4
/^NPError NpapiBrowserHost::GetValue(NPNVariable variable, void *value) const$/ (f) found in src/NpapiCore/NpapiBrowserHost.cpp: http://goo.gl/AMLjZ
/^NPError NpapiPlugin::GetValue(NPPVariable variable, void *value)$/ (f) found in src/NpapiCore/NpapiPlugin.cpp: http://goo.gl/gcY9z
/^ virtual int16_t GetValue(NPPVariable variable, void *value) { return NPERR_NO_ERROR; }$/ (f) found in src/PluginAuto/Mac/PluginWindowMac.h: http://goo.gl/n3VAj
/^NPError NpapiPluginX11::GetValue(NPPVariable variable, void *value)$/ (f) found in src/PluginAuto/X11/NpapiPluginX11.cpp: http://goo.gl/tXml6
taxilian 15:03 someonenoone: you're on mac
?
someonenoone 15:03 yes
taxilian 15:03 when did you last update?
someonenoone 15:03 i've just downloaded sources
taxilian 15:03 just barely? in the last 20 minutes?
someonenoone 15:03 yes
20 mins ago i guess
taxilian 15:03 hmm; that'll be the new version I just pushed up
someonenoone 15:03 dev branch
taxilian 15:03 with really good examples
can you paste me the full error message on pastebin?
someonenoone 15:03 sure
jshanab_wcw 15:03 taxilian, do you know if the boost::mutex::scoped_lock is exception safe? I mean If I throw an exception does it still go out of scope
taxilian 15:03 I just switched to Windows, so I can't fix it right now
someonenoone 15:03 http://pastebin.com/teygg1Tx
taxilian 15:03 jshanab_wcw: yes, it should
if you use it correctly
that's the whole point =]
jshanab_wcw 15:03 ok, thanks. I thought that was the whole point also, but just wondered if my mutex was getting hosed.
taxilian 15:03 mutexes are tricky, annoying things
jshanab_wcw 15:03 This has been a crazy one. All working fine until i wanted to seek, which is just a second web request that changes the position in the file to send from, but it "stops the world"
taxilian 15:03 so you still haven't said for sure; do you know how to look at different threads in the debugger?
and have you tried finding your thread after hitting "pause" to see what it is doing?
you don't even need to attach 'til after it happens
someonenoone 15:03 i hate threads. i always try to use event loop instead which is more safer
taxilian 15:03 someonenoone: unfortunately when you're dealing with a plugin you can't do anythign that blocks on the main thread
someonenoone 15:03 you can make a thread which will be an event loop ;)
taxilian 15:03 heh. I'm not disagreeing with you; if you can do it with fewer threads, it's often a good diea
someonenoone 15:03 other trick is that you can do thread-safe event loop and use K threads for dispacthing it, where K is your core number
it should be the fastest choice
jshanab_wcw 15:03 if pause == "break all" then click on each thread, or use spy++. then yes i can see. but I am having trouble making heads or tail of some of it. Live555 library with it's waionmultipleObject and event system is in there too.
taxilian 15:03 jshanab_wcw: you can load symbols from anything Microsoft
do you have any logging?
someonenoone 15:03 but it is just my thoughts)
taxilian 15:03 someonenoone: yeah; when it works, that's not a bad method. it's not plausible for many things, though =]
stuartmorgan: we have a ICA example that we hope reproduces the issue on Chrome 10.5; any chance you might be able to look at it sometime
?
jshanab_wcw 15:03 Yeah. GOt logging, Funny part was it worked until I turned off a lot of the logging. gotta love those timeing issues.
taxilian 15:03 jshanab_wcw: log out the current thread id when that thread starts
then look specifically at that thread
if you're in vs2010 you can right click on a line that just shwos a windows dll and do load symbols to clarify things
brb
jshanab_wcw 15:03 thanks
I was nameing the threads, i am in windows.
taxilian 15:03 nitrogenycs: when you have a chance, could you look at FIREBREATH-4 and see if that is what you had in mind, or if you have any suggestions / requests?
FireBreathBot 15:03 FIREBREATH-4: Summary: Put all generated files into the visual studio solution
FIREBREATH-4: Assigned To: richard
FIREBREATH-4: Priority: Major, Status: Resolved, http://jira.firebreath.org/browse/FIREBREATH-4
nitrogenycs 16:03 taxilian: yes, I will
taxilian 16:03 thanks
jshanab_wcw 16:03 Dumb Question. Can two threads join the same third thread?
taxilian 16:03 my guess would be "no"
I very seriously doubt that join is threadsafe
jshanab_wcw 16:03 Well, maybe that is my problem....
taxilian 16:03 someonenoone: I just built the basicmediaplayer example on mac and it worked; are you still having a problem?
someonenoone 16:03 yes
taxilian 16:03 hmm. that's strange; let me try building the full project
could you try deleting the build dir and then do ./prepmac.sh examples again?
someonenoone 16:03 yes
a moment please
i made clean and now build
if it will fail again than i do what you say
do not want to interrupt building
taxilian 16:03 ok
FireBreathBot: tell stuartmorgan Eric updated BasicMediaPlayer to support ICA; it doesn't work on Chrome in Mac OS 10.5; if you could take a look at it I'd really appreciate it
FireBreathBot 16:03 taxilian: I'll pass that on when stuartmorgan is around.
someonenoone 16:03 wow
your bot is kinda of AI
still got errors
taxilian 16:03 someonenoone: have you already killed the build dir? you could also try pulling a fresh copy of the latest master branch
someonenoone 16:03 yes i've killed
git update? (i'm hg user)
stuartmorgan 16:03 what's BasicMediaPlayer?
FireBreathBot 16:03 stuartmorgan: 22:27Z <taxilian> tell stuartmorgan Eric updated BasicMediaPlayer to support ICA; it doesn't work on Chrome in Mac OS 10.5; if you could take a look at it I'd really appreciate it
taxilian 16:03 someonenoone: git pull
stuartmorgan: if you grab the latest firebreath from master it's one of the two examples that build when you ./prepmac.sh examples
someonenoone 16:03 hm should i see another examples? i got only BasicMP and FBTest
taxilian 16:03 no, those are the only two in the FB tree
someonenoone 16:03 ok, rebuilding
success!
taxilian 16:03 huh; you must have grabbed it right between two commits or something
weird
someonenoone 16:03 )
shit happens
taxilian, http://www.youtube.com/watch?v=16lLoXR2WTg look at this weird advertisment from 90-x)
taxilian 16:03 stuartmorgan: cool thing about the basicmediaplayer example now is that it supports all drawing models; you can override the default selection with a param if you want
someonenoone. lol. а что такой ТТТ?
someonenoone 16:03 это название ларька
что оно обозначает, я не знаю)
stuartmorgan 16:03 taxilian: I'll look when I can; unfortunately doing 10.5 testing is a PITA now
taxilian 16:03 I understand; we either need to figure it out or tell it to use QD on 10.5, though :-/
stuartmorgan 16:03 I just draws nothing?
taxilian 16:03 someonenoone: а я даже не представил, что ларек бы рекламировал по телевидении
stuartmorgan: sometimes it draws a bit, but generally it's a one shot, when we move things or resize the browser or something
stuartmorgan 16:03 taxilian: interesting; that at least suggests that it's not a problem with the surface at the GL level that I won't understand :)
taxilian 16:03 I guess tha'ts a good sign, anyway =]
someonenoone 16:03 ты знаешь, я до просмотра этого ролика - тоже)) У нас тогда такое время было, люди не знали еще что такое коммерция + кризис, поэтому такой ролик не удивительный. У нас даже есть такая шутка - "Угадай страну по фотографии", видео можно отнести к этой же шу
taxilian 16:03 let me see if I can verify that hte bug is reproduced with this plugin; it should be, but Eric is at home and doesn't have the 10.5 box with him
hehe
someonenoone: это очень смешно
jshanab_wcw 16:03 very
someonenoone 16:03 спасибо тебе за помощь сегодня! Я пойду спать, в моей стране уже поздно) Хочу сказать тебе, что ты Великий человек. Я очень рад что случайно наткнулся на этот проект
taxilian 16:03 =] thanks for stopping in, and hope to see you around
glad I could help
someonenoone 16:03 i will be here tomorrow, when you will go sleep ;)
taxilian 16:03 hehe
someonenoone 16:03 and i'm starting to develop video player so we will meet again not once ;)
because i will do it for all os's, so you will hear me very often asking stupid questions))
taxilian 16:03 !findfile test.html
FireBreathBot 16:03 Found 3 matching file(s) in the master branch. First 3 are:
examples/BasicMediaPlayer/Mac/test.html http://goo.gl/hEbIl
examples/BasicMediaPlayer/test.html http://goo.gl/B6wql
examples/FBTestPlugin/test.html http://goo.gl/Ja9VE
taxilian 17:03 stuartmorgan: looks like CA on Chrome doesn't support transparency the way FF4 and Safari do either (mostly as an observation)
stuartmorgan 17:03 taxilian: correct
taxilian 17:03 this is really an interesting demo
it tells a lot about the differences between different browsers
stuartmorgan 17:03 There's an NPN_Get value you can use to query it, but it hasn't been formally proposed
It's just de-facto since Safari implements it
Safari 4 didn't composite, but Safari 5 does
We don't yet, but will in the future
taxilian 17:03 ahh
stuartmorgan 17:03 It requires integration with the GPU work that's still ongoing in Chrome
compositing correctly without GPU process support means breaking hardware acceleration, which we didn't want to do
taxilian 17:03 well, since I don't need it right now I'm content to wait =]
right; not worth it
stuartmorgan 17:03 Yeah, in practice most plugins that use CA don't need it
So it hasn't been critical to fix
But there are plugins that would use it if available and have to use CG in Chrome right now, unfortunately
taxilian 17:03 well, you may find this plugin now to be a useful test plugin for comparison; you might want to hold on to it. it creates 5 instnaces of the same plugin, each using a different drawing model
all drawing hte same thing
well, the last autodetects
stuartmorgan 17:03 taxilian: where is this example calling setNeedsDisplay?
You set async to NO for ICA
But I don't see any invalidations
taxilian 17:03 it's probably using a timer in the pluginwindow class
stuartmorgan 17:03 Ah, I see
taxilian 17:03 not how I'd do it, but his drawing code doesn't know about FireBreath, so he decided to just run a timer at the rate he planned to draw
stuartmorgan 17:03 Hrm, but what calls InvalidateWindow...
taxilian 17:03 while we were at it we set it up so that other drawing libs can use the same trick, though of course the order of calls differs slightly
stuartmorgan 17:03 Oh, there's the timer
taxilian 17:03 !findfile PluginWindowMac.
FireBreathBot 17:03 Found 10 matching file(s) in the master branch. First 5 are:
src/PluginAuto/Mac/PluginWindowMac.h http://goo.gl/QI02N
src/PluginAuto/Mac/PluginWindowMac.mm http://goo.gl/18Mr9
src/PluginAuto/Mac/PluginWindowMacCA.h http://goo.gl/1f2SE
src/PluginAuto/Mac/PluginWindowMacCA.mm http://goo.gl/wK4qt
src/PluginAuto/Mac/PluginWindowMacCG.cpp http://goo.gl/82OgZ
taxilian 17:03 !find fired
FireBreathBot 17:03 Could not find any tags matching fired
stuartmorgan 17:03 What the... cmake is a .app?!
taxilian 17:03 heh. yeah, I'm afraid so
stuartmorgan 17:03 Lets see if macports has a non-crazy version
taxilian 17:03 lol. it might, not sure
!find fired
FireBreathBot 17:03 Could not find any tags matching fired
taxilian 17:03 strange; guess ctags doesn't like ObjC
well, I need to switch rooms; class starts soon
I'll be back in a bit
taxilian 17:03 I'm back! did you all miss me?
jshanab_wcw 17:03 Certainly
taxilian 17:03 lol. good answer ;-)
jshanab_wcw 17:03 So, do i understand correctly, 3 of us now working on a video player that uses FB?
taxilian 17:03 oh, probably more than that
jshanab_wcw 17:03 Her is the funny part, i inherited the code of the player from a guy in russia. Spend a few weeks pasting comments into google translate
taxilian 17:03 lol
FireBreathBot: "Он умеет перевести тоже"?
FireBreathBot 17:03 taxilian: "He knows how to translate the same" (ru to en, translate.google.com)
stuartmorgan 17:03 taxilian: what does "-- Could NOT find Threads (missing: Threads_FOUND)" mean
taxilian 17:03 it means you're not on master, I think
!find CMakeLists.txt
FireBreathBot 17:03 Could not find any tags matching CMakeLists.txt
taxilian 17:03 !findfile CMakeLists.txt
FireBreathBot 17:03 Found 20 matching file(s) in the master branch. First 5 are:
CMakeLists.txt http://goo.gl/GbfDF
cmake/CMakeLists.txt http://goo.gl/qUH4h
examples/BasicMediaPlayer/CMakeLists.txt http://goo.gl/Chhdj
examples/FBTestPlugin/CMakeLists.txt http://goo.gl/DB5xj
fbgen/src/CMakeLists.txt http://goo.gl/JFU76
taxilian 17:03 https://github.com/firebreath/FireBreath/blob/master/CMakeLists.txt#L45
it shouldn't do that check if you're on a mac
if it does, that means that you're using a bad version of cmake or hte wrong version of FireBreath
stuartmorgan 17:03 # On branch master
cmake version 2.8.4
taxilian 17:03 my guess is that the macports cmake doesn't work correctly, then
because IF (UNIX AND NOT APPLE) should certainly not be executing for you
stuartmorgan 17:03 Hm, on that test page I get an error from NPP_SetWindow; that's surprising
taxilian 17:03 where is hte error? in chrome code coming from our code, or...?
stuartmorgan 17:03 The plugin returns something other than NPERR_NO_ERROR
taxilian 17:03 huh
stuartmorgan 17:03 May be irrelevant; just a speedbump since I have a debug check on that
taxilian 17:03 is this 10.5?
stuartmorgan 17:03 No, 10.6. I'm seeing if I can replicate the failure synthetically
taxilian 17:03 hmm. well, that's definitely something that raises a red flag, then
!findfile npapipluginmac.mm
FireBreathBot 17:03 Found 1 matching file(s) in the master branch. First 1 are:
src/PluginAuto/Mac/NpapiPluginMac.mm http://goo.gl/PoFl6
taxilian 17:03 I'll see if I can find where that could be coming from
oh...
I know why
stuartmorgan 17:03 NPERR_INVALID_PARAM it looks like; not sure which one
taxilian 17:03 it's using CG
https://github.com/firebreath/FireBreath/blob/master/src/PluginAuto/Mac/PluginWindowMacCG.cpp#L37
stuartmorgan 17:03 (which one = which instance)
taxilian 17:03 we haven't fixed that yet
it'll be the CG one using Cocoa
well, could be that or QD, looks like
but my bet is CG
stuartmorgan 17:03 I'm getting all white for the QD version
taxilian 17:03 probably because Chrome returns false on that being supported
stuartmorgan 17:03 Ah, I assumed it would do fallback
taxilian 17:03 FireBreath doesn't by default, but perhaps it should
stuartmorgan 17:03 So with CG broken and QD not working, I'm not sure what this is supposed to do
what should I see?
taxilian 17:03 you should see CoreAnimation working
actually, for me CG works as well
using carbon? not sure
I was kinda surprised at that, honestly
stuartmorgan 17:03 I've disabled CA; I was hoping you could tell me what this should look like so I don't have to undo that and rebuild
taxilian 18:03 yeah, CG works for me
stuartmorgan 18:03 Should it be animated?
taxilian 18:03 which test file are you running?
no
let me send you a screenshot
stuartmorgan 18:03 Okay, if it's not animated it's working
So I guess I can't make it fail on 10.6 via hackery...
taxilian 18:03 the main thing this shows is that each is working, there are color differences between the different models (default color space different?), and transparency differences
would be cool to add some animation, but we haven't yet done so
heh. still, this is the most complete drawing example we have
stuartmorgan 18:03 But on 10.5 ICA doesn't draw?
taxilian 18:03 look at it in Safari to see what it should really look like
right
stuartmorgan 18:03 Ruh-roh, DCHECK failure when there are two of them :(
Does a simpler case, with just one <object>, also fail?
taxilian 18:03 DCHECK failure? no idea what that is
jshanab_wcw 18:03 taxilian, which example is this?
taxilian 18:03 our initial tests only had one object, though
jshanab_wcw: the new and improved BasicMediaPlayer
stuartmorgan 18:03 taxilian: I guess there's a second bug then
jshanab_wcw 18:03 Kool, i will look at it tomarrow!
taxilian 18:03 stuartmorgan: are you on 10.5 now, then?
stuartmorgan 18:03 No
taxilian 18:03 you were able to reproduce it?
stuartmorgan 18:03 No, our debug checks caught bad behavior on the test page on 10.6
But it's related to have two on the screen at once
So it's apparently a different bug
taxilian 18:03 ahh
okay
so is that our problem or a Chrome bug?
stuartmorgan 18:03 This is a Chrome bug as far as I can tell
taxilian 18:03 okay; I appreciate you looking at this; hopefully it will be beneficial to both teams =]
stuartmorgan 18:03 I guess I'll have to suck it up and reboot tomorrow to keep looking at this. Alas
taxilian 18:03 :-/ sorry, man =] I appreciate it
I should probably get a 10.5 disk and install it for cases like this
stuartmorgan 18:03 I used to have 10.5 on a secondary machine for things like this, but I had to wipe it