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

IRC Nick Time (GMT-7) Message
Jack 00:02 hi
ch 06:02 taxilian_away: 007361a7 broke 64bit builds
FireBreathBot 06:02 007361a by Richard Bateman: FIREBREATH-156: fixed 10.4 mac os SDK build bugs
kun 07:02 is it possible to get the length of a variant list?
reichi 07:02 sure
it's std::vector
typedef std::vector<variant> VariantList;
just call the size() method :)
kun 07:02 k thanks
linearray 11:02 taxilian: did you see what ch wrote?
taxilian 11:02 hmm. hadn't yet, now I do. strange; I'll test it
linearray 11:02 I just updated and I see the same
taxilian 11:02 can you tell what the problem is?
linearray 11:02 Candidate function not viable: no known conversion from 'float [4]' to 'const CGFloat *' (aka 'const double *') for 2nd argument
+ float txtColorValues[4] = {0.0, 1.0, 0.0, 1.0}; 84
+ CGColorRef txtColor = CGColorCreate(rgbSpace, txtColorValues);
taxilian 11:02 how annoying
need to figure out where to get CGFloat
linearray 11:02 #define CGFLOAT_TYPE double
typedef CGFLOAT_TYPE CGFloat;
taxilian 11:02 where is that from?
linearray 11:02 CGBase.h in some framework
taxilian 11:02 hmm. wonder why it doesn't get included with the other stuff I'm including
because I'm pretty sure it's a float type in 32 bit, double type in 64
linearray 12:02 hmm, maybe make it a CGFloat[]?
yup, works
both 32/64
taxilian 12:02 the type CGFloat seems to be missing in ppc
linearray 12:02 don't know much about archeology ;)
taxilian 12:02 lol
linearray 12:02 but I would find that strange
CGBase.h defines CGFloat to be either float or double and that file is from 2009
taxilian 12:02 all I know is that in that file I tried doing a CGFloat[] and it didn't work in ppc =]
linearray 12:02 which SDK?
taxilian 12:02 10.4
linearray 12:02 can you take look at MacOSX10.4/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework/CGBase.h ?
taxilian 12:02 there is no cgfloat
so I guess I'll have to typedef it in 10.4
linearray 12:02 maybe you can make creative use of apple's code
taxilian 12:02 good reference; thanks
FireBreathBot 12:02 Commit 27ef88b on master by Richard Bateman: "Fixed build error on 64 bit Mac OS; broke 10.4 sdk, will fix..."
Commit 27ef88b on firebreath-1.6 by Richard Bateman: "Fixed build error on 64 bit Mac OS; broke 10.4 sdk, will fix..."
JOE_____ 12:02 hey friends , im new to firebreath... im facing a problem that the plugin dll file is not getting updated after changing the code in visual studio and building the project again
taxilian 12:02 did you close the browser?
if the browser is still running it'll keep the file open
JOE_____ 12:02 yes i refreshed everything
taxilian 12:02 I didn't ask if you refreshed, I ask if you quit the browser
JOE_____ 12:02 i even deleted the file, but after the build process no new dll was generated
taxilian 12:02 completely
did the build process succeed?
JOE_____ 12:02 ya i restarted it
even tried in different browsers
taxilian 12:02 where were you finding/using the file?
JOE_____ 12:02 the plugin dll is located in the debug folder
and i was using it with firefox console
taxilian 12:02 well, if you delete the file and build and it doesn't create a new dll then something is failing in your build process
so I suggest you check your compile logs
JOE_____ 12:02 nop... the final result in visual studio shows build is done without any failures
taxilian 12:02 what project are you building?
because obviously that isn't the case =]
try doing a rebuild
JOE_____ 12:02 should i build other projects as well? currently im just building the plugins project(which contains the pluginAPI.cpp)
FireBreathBot 12:02 Commit fc4d029 on firebreath-1.6 by Richard Bateman: "Fixed build on 10.4 sdk broken by last commit"
Commit fc4d029 on master by Richard Bateman: "Fixed build on 10.4 sdk broken by last commit"
taxilian 12:02 usually that's enough, but I'd do a full build to be sure
what version of vs are you using?
JOE_____ 12:02 2014
taxilian 12:02 pro?
JOE_____ 12:02 yes
taxilian 12:02 well, if building everything doesn't work I'd try rebuilding
barring that, reboot the computer. sometimes windows gets in this really weird mode
JOE_____ 12:02 i have tried rebuild, build , clean then build again... no gain
taxilian 12:02 but if the build says it's creating the .dll and the .dll isn't there, either you're looking in the wrong place or your computer is completely messed up
JOE_____ 12:02 :) no @taxilian i have checked the time stamp... the dll file's time stamp changes after every build but once the plugin is loaded in browser no changes are shown
but thanx anyway .
taxilian 12:02 JOE_____
i even deleted the file, but after the build process no new dll was generated
I guess since you said that you deleted the file and it didn't regenerate I assumed that meant the file wasn't being created
perhaps I misunderstood you
linearray, ch: build should be fixed now. thanks for the heads up
linearray 14:02 taxilian: when you redo fbgen, it might be a good idea to implement theAPI constructor in the header
I think it's more coherent that way, since events and the mapped-to methods are already there
joe_____ 14:02 i have tried a lot and am not able to make any changes to the default plugin generated by firebreath , any new code i add is not being reflected in the plugin's behavior , can anybody help?
linearray 14:02 how did you check that the behavior has not changed?
joe_____ 14:02 i just modified the echo method to return some other string instead of the one passed
linearray 14:02 hm
unfortunately I don't know much about how it works on windows you did the regsvr32 thing?
joe_____ 14:02 yes... registered and unregistered the dll
and tried again
linearray 14:02 so when you delete the dll the FBControl.html shows "missing plugin" or something?
taxilian 14:02 linearray: I'm open to that; you're welcome to make the changes yourself to the existing one and I'll pull them in
joe_____ 14:02 it wont let me delete coz its in use by firefox
taxilian 14:02 so close firefox
and then delete it
joe_____ 14:02 and then build again and then test on ff again?
taxilian 14:02 first make sure it thinks the plugin is gone afterwords
the most common cause of the issue you describe is that the plugin being used is not the one you think
joe_____ 14:02 i have tried my best to make sure this doesnt happen... from checking the time stamps to deleting the dll and then checking if browser dhows an error
linearray 14:02 and does it?
joe_____ 14:02 yes, if i delete the plugin it shows an error
linearray 14:02 there has to be an error somewhere
joe_____ 14:02 i think you should tell me how did you go about modifying the default code, ill try to follow exactlt what you did
taxilian 14:02 joe____: both of us have created full blown plugins from the default code that are far more elaborate than what you're trying. why don't you pastebin us the modifications you're making
FireBreathBot 14:02 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin.,, and are all good options
linearray 14:02 huh, I'm a bit confused myself right now... about how plugin().valid can work when there is no such property in the default API
taxilian 14:02 valid is defined in JSAPIAuto, I believe
linearray 14:02 ah ok
taxilian 14:02 as is toString
joe_____ 14:02
online 94 you will find the modified code
*on line
taxilian 14:02 have you tried attaching a debugger to see if your code is hit?
what is returned when you call echo?
joe_____ 14:02 the text that i passed, eg if i use plugin().echo("past") then "past" is returned
the behavior is same as that of an unmodified code
taxilian 14:02 try this:
close all browsers; delete your build directory
rerun prep2010.cmd
joe_____ 14:02 the file imn modifing is plugAPI.cpp, where plug is my prefix
taxilian 14:02 build, test again
joe_____ 14:02 ok
taxilian 14:02 'cause somethin' aint right =]
this is definitely not a firebreath issue; something is wacky with your compiler
joe_____ 14:02 ok thx... ill try that :)
linearray 15:02 FBControl.htm is a mess ;)
taxilian 15:02 yeah, it should really be redone
linearray 15:02 just stating the obvious
joe_____ 15:02 thank you @taxilian and linearray.. it did work
not its working flawlessly , god bless you both
linearray 15:02 amen
taxilian 15:02 odd
but I'm glad it's working
just not sure why it wasn't before =]
joe_____ 15:02 the only change i noticed this time is that when i downloaded firebreath from git, the folder name was firebreath-dev, earlier and now its firebreath
i must have downloaded some other build
taxilian 15:02 ? I just suggested deleting the build directory, not the whole firebreath directory
linearray 15:02 lol
the nuclear option
taxilian 15:02 ahh, well, I guess if it works it works
joe_____ 15:02 :)
taxilian 15:02 but in the future, the build/ directory is where the FireBreath.sln file resides and that whole directory is disposable
when you have weird issues that you can't explain, sometimes deleting that dir and recreating with prep2010 will fix it
joe_____ 15:02 hmmm... ill keep that in mind
i would like to invite you to, a developer conference.
taxilian 15:02 certainly looks interesting; it's a bit too far to travel for me, though
joe_____ 15:02 perhaps we will have a live stream
if i could code one in 2 days :
taxilian 15:02 hehe
linearray 16:02 git pull request
FireBreathBot 16:02 1 open pull request:
linearray: Improved FBControl.htm and default API a bit.
linearray 16:02 It's not really redone
I just removed stuff that I thought was confusing for beginners and renamed the rest
FireBreathBot 16:02 Commit 7fc0f17 on master by Max Amanshauser: "Improved FBControl.htm and default API a bit."
Commit 3991017 on master by Richard Bateman: "Merge pull request #42 from linearray/master
taxilian 16:02 looks fine to me
shenberg 17:02 Hey,
taxilian 17:02 morning
shenberg 17:02 I'm still messing with my Kinect browser plugin, and I'm wondering about the correct way to implement something:
Since the plan is eventually for end-users to have the plugin
I want to notify the user if a page is accessing the video streams from the Kinect
I want user interaction to explicitly authorize that for security reasons
taxilian 17:02 makes sense
shenberg 17:02 As for the actual implementation, is there some "standard" way to Firebreath to do UI through the browser, or is it basically up to me to do something like that?
taxilian 17:02 it's up to you
FireBreath has no UI abstractions
shenberg 17:02 Cool, just making sure, thanks
Another one I was wondering about is plugin settings
taxilian 17:02 however, if it were me I'd probably just use a standard msgbox but do it on another thread
never block the main thread
shenberg 17:02 Sure
About plugin settings, I was wondering whether it's possible to have a specialized URL which'll be able to return data to from within the plugin
taxilian 17:02 not sure I follow
shenberg 17:02 think like how about:plugins in chrome is just an HTML page
taxilian 17:02 not with a plugin, no
though you could create an embedded web server in the plugin
and browse to that, I suppose
however, that would only be running when the plugin was instantiated on a page
shenberg 17:02 Yeah, and to do what I wanted would require something like registering a URI scheme, which is OS-dependant...
taxilian 17:02 actually browser-dependant
I think it's possible to do in firefox with an extension
but I've never actually done it
shenberg 17:02 Anyway, something I'll pass on for now
taxilian 17:02 most people just have an interface on the plugin itself that allows javascript to configure it
and then create a web interface
shenberg 17:02 Also, thank you thank you thank you for deploying to AppData in windows by default. Does no-one in the world implement auto-update on windows that works with UAC?
taxilian 17:02 google does =]
and they do it the way I do
shenberg 17:02 Yeah, I copied chrome on some stuff I did too
I actually one-upped chrome since you can rename a write-locked executable, so it can update itself at run-time
taxilian 17:02 actually if you rename the plugin while it's in use you're likely to crash the browser
(yes, I've tried it)
best option is to simply deploy with a version-specific directory and filename
shenberg 17:02 Ah, I tried it for some stand-alone executables and it worked fun
taxilian 17:02 it would for those
doesn't for a browser
but just install the new one as a new filename, register that one, you'll be good
best to do it in a new dir as well
some of the browsers (certain versions) have had issues with that
shenberg 17:02 I saw the notes about mac, right?
taxilian 17:02 ?
shenberg 17:02 Somewhere in the wiki it mentions that mac won't detect updated versions with the same filename without relaunching the browser
taxilian 17:02 ahh, that is true
though with the mac you can delete the old one, you just need to name the new one differently
shenberg 17:02 One last question I have is:
Do I have access to SSL/TLS data from a BrowserStream? Can I know if when I do m_host->createStream("",...), can I know whether there are issues with the certificate?
taxilian 17:02 nope
though you could use libcurl/openssl if you need that
shenberg 17:02 add_firebreath_library(openssl), right? the wiki has a large '...' under FireBreath Libraries/openssl
taxilian 17:02 yeah; it's not officially supported, though
good starting point, at least
shenberg 17:02 Also, I'd like to use this opportunity to say thanks for the awesomeness that is Firebreath.
taxilian 17:02 you're welcome =] the best way to thank us, though, is to contribute to the project however you can -- update docs, write a blog post, donate some cash to help pay for the server, submit code patches, etc
FireBreathBot 18:02 JIRA issue issue created by colinblake
Jogi 23:02 Hi, can someone please tell me what is the most efficient way to pass an array from my plugin ( written in C++, firebreath framework) to Javascript? I am currently firing an event with argument FB:variant and sending a vector which is getting converted to a JS array. But this is taking a lot of time since my vector is very large. Is there any other way i can do this? Thanks in advance!
dougma 23:02 oh...
FireBreathBot: tell Jogi base64 encoded string... sucks i know.
FireBreathBot 23:02 dougma: I'll pass that on when Jogi is around.
taxilian 23:02 FireBreathBot: tell Jogi actually returning a string with json works pretty well as long as it isn't binary data; if it's binary data, base64 is the only real option
FireBreathBot 23:02 taxilian: I'll pass that on when Jogi is around.
dougma 23:02 that's a better answer, i assumed binary. :)
cause i've returned binary as base64 in the past...
and then assigned it to src attributes on image elements :)
taxilian 23:02 hehe
yeah, I'm doing that with a project right now
dougma 23:02 the crazy things we are reduced to
taxilian 23:02 hehe
and ironically I'm also exporting base64 encoded binary images to upload using an ajax POST because I'm not quite ready to take on school district proxy issues