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

IRC Nick Time (GMT-7) Message
ilan_ 00:08 Hello
Anyone?
dougma 00:08 hello
ilan_ 00:08 Hi, im trying to compile the BasicMediaPlayer example in Mac 10.7 (lion)
I get a linker error
I got the latest version 1.6 firebreath
dougma 00:08 hmmm... i've not tried it. what's the error?
ilan_ 00:08 Apple mach-O Linker(id) error Command/Developer/usr/bin/IIvm-g++ 4.2 failed with exit code 1
Link Users/minimac/.../builex/projects/BasicMediaPlayer/BasicMediaPlayer.build/Debug/BasicMediaPlayer.Debug/Object-normal/i386/BasicMediaPlayer
any idea ?
Are you there ?
hello?
went to sleep ?
dougma 00:08 sorry, doing other things...
not much of an error message is it.
"builex" not "buildex"? anyway, let me try a build here.
ilan_ 00:08 buildex
thanks
dougma 00:08 using xcode or make files?
ilan_ 00:08 make
dougma 00:08 oh yes, they're still broken.
ilan_ 00:08 Any suggestion?
dougma 00:08 never attempted it myself until now
use xcode
or fix the prepmake.sh
ilan_ 00:08 How do I use xcode instead of prepmac ?
dougma 00:08 run prepmac.sh
ilan_ 00:08 and
dougma 00:08 open the project with xcode
ilan_ 00:08 and
dougma 00:08 and then navigate the ui
select your project, hit build
ilan_ 00:08 It works for you ?
dougma 00:08 yeah
actually BasicMediaPlayer built fine for me
using prepmake.sh
so... i don't know.
ilan_ 00:08 So it works for both ways
dougma 00:08 seems to.
ilan_ 00:08 So you dont know why do I get the error
dougma 00:08 nope
ilan_ 00:08 Why did you think its broken?
dougma 00:08 i think taxilian mentioned it was almost working
kalev 00:08 by the way, if you don't like using xcode IDE, you can easily build it on the command line with xcode
./prepmac.sh, cd buildex, cmake --build . or something like that.
ilan_ 00:08 So it works or not ? The problem is in my setup ?
dougma 00:08 it works for me. so the problem is in your setup or the commands you are running.
ilan_ 00:08 ok the command is xcodebuild no ?
from the command window
dougma 00:08 i ran prepmake.sh and then make
ilan_ 00:08 ./prepmac.sh examples
and then go to the project and run xcodebuild
dougma 00:08 with prepmac i just launch xcode... never tried xcodebuild
ilan_ 00:08 can you try this way ?
./prepmac.sh examples
and then xcodebuild
dougma 00:08 ok.
ilan_ 00:08 thanks
dougma 00:08 build succeeded. though i ran prepac from outside of the Firebreath tree: ../FireBreath/prepmac.sh ../FireBreath/examples .
ilan_ 00:08 Does it matter?
dougma 00:08 don't know.
ilan_ 00:08 ok thanks!
ilan_ 02:08 hello
How can I rename one of the examples?
???
anyone ?
ilan_ 03:08 hello
dmg10 03:08 My question may only be marginally firebreath related... go easy on me :) I have a firebreath plugin, I need to put a webbrowser in my plugin so that there is only a single webbrowser content in all places where my plugin is used. This is especially true for Chrome and IE which are multiprocess architected. I can't have the situation where multiple plugin instances are doing multiple GETS or...
...POSTS. It needs to be the same hDC browser across all of them.
Any ideas about which route would work best with firebreath? Exploring IE... but IOleClientSite and other interfaces on COM suggest one window per browser? Webkit seems difficult to build... argh. :)
ilan_ 03:08 hello
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
dmg10 03:08 hi
ilan_ 04:08 I need to rename BasicMediaPlayer example is it possible ?
maybe by changing PluginConfig.cmake
?
and then run prepmac.sh
what do you think ?
dmg10 04:08 No clue bud, I'm here asking questions too
I'd just try it
kalev 04:08 dmg10: I remember taxilian_away toyed with the idea of putting a web server in a plugin; not sure if he ended up doing that or not
dmg10 04:08 kalev: Know what time he usually comes online?
linearray 04:08 isn't that what WebView is about?
kalev 04:08 maybe in 5 hours
could be, I'm not really up to speed with recent firebreath developments.
dmg10 04:08 linearray: WebView? Googled that and found Android.WebView which seems to be a widget of webkit for android...? What are you referring to?
linearray 04:08 firebreath-dev/src/libs/WebView
dmg10 04:08 oops :)
linearray 04:08 all I can remember is that it's about putting a browser within your plugin
you can search the logs for more info
dmg10 04:08 well, depending on how it works... hopefully it's exactly what I need... I do have this wierd requirement of only one browser per plugin. :/
fridman 05:08 someone ?
dougma 05:08 hello
fridman 05:08 hi
Is it posibble to rename one of firebreath examples ?
like BasicMediaPlayer to XXX
linearray 05:08 why would you do that?
fridman 05:08 and the plugin name also
linearray 05:08 and of course it's possible... but don't ask me how much you have to change :)
fridman 05:08 Cant I do it in the PluginConfig.cmake and it will affect all the changes ?
and then run prepmas.sh
prepmac
??
linearray 05:08 as far as I can see that might work
taxilian 09:08 linearray: good answer; it will work just fine for him
that's how you rename things
all the metadata configuration is in PluginConfig.cmake
dmg10 09:08 taxilian: Will I be able to create one instance of WebView for all instances of my FB plugin? I know that the ie com object requires the HWND, and don't know if that complicates things. Still getting my head around cmake :)
taxilian 09:08 dmg10: on Mac, yes, on windows, no
on windows it uses the IE activex control, which as you noted is a "one window per instance" thing
now, if you can find a way to draw to an offscreen hwnd and scrape the pixels or something then we might be able to do something with it
dmg10 09:08 :(
Is it naive of me to think I can use some of the Mac code to get Webkit working on windows?... Basically, I'm trying to create a toolbar for both Chrome and IE which loads content and adverts. I can't have multiple toolbars pulling duplicated adverts off screen. Advertisers won't be happy.
Multiple toolbars is what you land up with because of the multiprocess nature of ie and chrome... firefox doesn't have such problems.
Hence the need for a plugin.
I like your offscreen scraping idea. I guess it makes for a complicated event loop.
taxilian 09:08 dmg10: some of the mac code would be applicable; primarily WebKitCore would be applicable
dmg10 09:08 And thanx for your help! It's really awesome how much work you've put into this!
taxilian 09:08 it is, isn't it? :-P
I'm glad you find it helpful; please contribute back however you can
(documentation, blog posts, finding / fixing bugs, etc)
dmg10 09:08 It's been an age since I've been C++ing. The last time I looked at cmake I don't remember them supporting VisualStudio....
taxilian 09:08 heh. that has been awhile, then
dmg10 09:08 So, it will be slow going, but I'll get there, will try and help out however I can... especially if I go down the webkit route
taxilian 09:08 !findfile WebKitCore
FireBreathBot 09:08 Found 8 matching file(s) in the master branch. First 5 are:
src/WebKitCore/CMakeLists.txt http://goo.gl/ER7VC
src/WebKitCore/JSObjectRefAPI.cpp http://goo.gl/88KM1
src/WebKitCore/JSObjectRefAPI.h http://goo.gl/6mT3d
src/WebKitCore/JSObjectRefObject.cpp http://goo.gl/yMqkS
src/WebKitCore/JSObjectRefObject.h http://goo.gl/JggFO
taxilian 09:08 so the files in that directory contain a BrowserHost object, a JSObject that can wrap a JSAPI object, and a JSAPI object that can wrap a JSObject
in other words, it's an interface between webkit's javascript and firebreath
dmg10 09:08 yeah, I've read that webkit can be a beast to get compiling on windows... and theres the whole wincairo thing. Don't really understand the layout of it yet.
taxilian 09:08 you could potentially go directly to WebCore
rather than trying to get the full webkit
but it's been a long time since I've tried it
dmg10 09:08 ok, not really aware yet of the difference :) But I got more reading to do. Will come back if I get lost. Think I'll try for the scraping idea first.
taxilian 09:08 ok
if you figure out a way to do that, please let me know
I've been wanting to do that for quite awhile
but I haven't had time to figure it out
if it's even possible
dmg10 09:08 sure thing
taxilian 11:08 kylehuff: in the mood for any more graphics dev?
kylehuff 11:08 taxilian: as much as I am in the mood to get punched in the face... what do you got?
taxilian 11:08 lol. I just need an icon for an iphone app, wondered if you had any ideas. it's an iphone version of the hamstudy app
anyway, just if it sounds entertaining to you. not urgent either
kylehuff 11:08 well, I think iphone app icons are usually high-gloss... otherwise I'm pretty much useless at the moment... though, if you have an idea and can describe what you are looking for I can try to accomplish that. maybe in the process I might even run into some creativity and propose an alternate
taxilian 11:08 you don't actually have to apply the gloss effect
it's automatic
well, parts are anyway
my only idea was the tower from the kd7bbc logo w/ the green background
well, or the gray
kylehuff 11:08 what?! lol -- that is funny
taxilian 11:08 also the rounded corners are automatic
http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW2
kylehuff 12:08 that is funny... I guess it helps for a more uniform UI... but seems kind of overkill
taxilian 12:08 welcome to apple dev
linearray 12:08 once you've seen android icons, you know why :)
taxilian 12:08 lol
probably some truth to that....
towards which sidE?
kylehuff 12:08 I have an android, and lots of applications -- nothing appalling or nonfunctional about their icons that I have noticed.
linearray 12:08 I used to have an android... but I'll admit I had bad luck
returned it, now iphone.
I will buy a google motorola when it comes out! :)
taxilian 12:08 a google motorola?
linearray 12:08 google bought motorola today
or yesterday
taxilian 12:08 wow… seriously? how did I miss that?
ahh, not all of motorola, but motorola mobility
kylehuff 12:08 so anyway, it sounds like you are on the fence about the color, so I will make one of each (with faux border and gloss effect so you can see it in it's final state)
taxilian 12:08 awesome =]
thanks
I'll send you a coupon code for this whenever we release it
or several, so you can give some to your friends
kylehuff 12:08 awesome, I can't imagine I would turn you down.. =c )
kylehuff 12:08 actually, I might have to decline the gratuity, as this will probably super easy... lol
I have three links coming your way that show what it would look like with the gray background vs. the lighter green (like the nav bar of hamstudy.org) and the darker green (like the header)
http://tinyurl.com/gray-hamstudy-icon
http://tinyurl.com/lightgreen-hamstudy-icon
http://tinyurl.com/darkgreen-hamstudy-icon
(I haven't yet set the safe-area, or positioned it correctly, so it slightly right-justified, but that is just to see what it would like on an actual device)
taxilian 13:08 kylehuff: sorry, I went to lunch just barely before you sent that
kylehuff 13:08 no worries mate, I didn't even ping you since I know you read the back-log
taxilian 13:08 could you give me a darker gray without my callsign?
kylehuff 13:08 so, just the radio tower and a darker gray?
taxilian 13:08 yeah
I don't think I want the callsign on the icon;
kylehuff 13:08 yeah np, give me a few minutes and I'll throw it up there
taxilian 13:08 though the tower by itself seems a little empty, I'm not sure what else to do
kylehuff 13:08 http://tinyurl.com/darkgray-hamstudy-icon
taxilian 13:08 hmm…. that doesn't work so well, I see
maybe we should do the effect ourselves
rather than letting the automatic one do it
either that or the tower needs to be a lot brighter; maybe a drop shadow? what do you think?
kylehuff 13:08 doesn't hurt my bandwidth to try.. =c p
it might work better to also zoom in on the tower a bit so that maybe only the top 1/3rd is visible, this will fill the icon more and cause it to washout less.
taxilian 14:08 sounds like it would be worth a try
kylehuff 14:08 http://tinyurl.com/darkgray-ws-zoom-hamstudy-icon
taxilian 14:08 Hmm. I like that better but still not quite there; what about the idea of putting "Study" or "HamStudy" on it somewhere? think that'd look tacky or would be okay?
kylehuff 14:08 I actually can't picture it..... (I am really tired) -- I'll just have to put on there and see!
taxilian 14:08 lol. if you get tired of tinkering just let me know; anything is better than nothing, which is what we had, so I'd probably just use this one for now
kylehuff 14:08 no no, my imagination just isn't functioning well today. it wasn't really a very restful weekend, and my brain is only running at about 10% today
taxilian 14:08 :-/ never fun
mine was actually kinda nice; I finally know what I will be doing for employment next month
my Facebook contract expires on the 30th, and I will be working full time for Gradecam
kylehuff: Ben and I have been talking about it (Ben helps me with that project) and I think maybe we do like the darkgreen background better
kylehuff 14:08 taxilian: okay, so, you want a version with the green background and the tower zoomed in?
taxilian 14:08 yeah; let's try that
possibly with "Study" or "HamStudy", but either way
kylehuff 14:08 needs work I think, but maybe a start: http://tinyurl.com/darkgrn-zoom-txt-hamstudy-icon
taxilian 14:08 yeah; I like where that is going. Perhaps Ham and Study on seperate lines?
or maybe just Study?
kylehuff 14:08 okay, I will break it out onto separate lines. as for just "study", my only thought is that maybe it is too ambiguous, as the type of person who studies for a HAM license is probably also studying 100 other topics, and the radio antenna might not be enough to set the topic apart from others.. just a thought
taxilian 14:08 valid point; let's see what it looks like
the other perspective is that this way we seem to have the app title in the icon, and then text below it as well;
kylehuff 14:08 http://tinyurl.com/darkgrn-zoom-txt-2lines
and http://tinyurl.com/darkgrn-zoom-txt-study
taxilian 14:08 hmm. Could I look at both of those with the font size maybe 25% smaller?
kylehuff 14:08 http://tinyurl.com/darkgrn-zoom-txt-study-small
and http://tinyurl.com/darkgrn-zoom-txt-2lines-small
taxilian 14:08 awesome; let's say the "study only" version and call it good
i hate to take more of your time, and I like that one well enough for now
kylehuff 14:08 okay, I will work on making that ready to submit and get you the files, but if there is something you think would be better just let me know and I will try to get you there. And seriously, don't feel like you are hijacking my time -- as long as you understand there is a reason I do this for free, we are good! =c )
taxilian 14:08 hehe. well, as much as I'd love to find a professional designer willing to do it for me, you're a whole lot better than anyone else I've got
kylehuff 14:08 that is exactly the reason I end up hobbling something together myself. I am too cheap to pay a professional to do it for me.. =c )
taxilian 15:08 hehe
brb, gotta put my son down for a nap
kylehuff 15:08 hmm, looking at the docs for the icons, I don't think I need to do anything special. I think the graphic I have now will work (288px x 288px)
taxilian 15:08 could be; not sure if you need multiple for different resolutions or not
kylehuff 15:08 duh, the table at the top of the page outlines what you need... lol
votz 15:08 Hey guys. I stumbled across FireBreath while looking into writing browser plugins. Neat project.
taxilian 15:08 we like it
votz 15:08 I have a question of scope - how difficult would it be to use firebreath to pipe video output into a plugin? I.e. a basic plugin where params are handed from browser land to a spawned process, and then capture said spawned process's video output and display that in the browser?
I'm looking through the docs now to get a basic sense of such
*trying to get a basic sense of such
taxilian 15:08 that's a really hard question to answer; it depends on a lot of things
for example, what do you need to use to draw the video in the plugin? if blitting it is fast enough, that part isn't hard, but if you need hardware acceleration like opengl or directx then it's much harder
and how do you plan to pipe the data between processes? that part could be tricky by itself
also what platforms do you need to support?
votz 15:08 Well, I have the source of the process being spawned, so I could work from that. But I haven't dug in deep enough to see what libs it's using for screen output
This would just be for linux for now
taxilian 15:08 and right there my usefulness to you dropped in half, because I've never done drawing on linux
=]
votz 15:08 haha
taxilian 15:08 so I don't know
votz 15:08 You live in OS X land? :)
taxilian 15:08 and windows
votz 15:08 Ah
taxilian 15:08 I use linux, but the plugins I've worked on generally haven't needed to run on linux
votz 15:08 Well, OS X is posix compliant as far as piping would go
taxilian 15:08 or rather it was a case of "well, that would be nice, but it's not worth spending much money on it"
votz 15:08 haha right
taxilian 15:08 pipes themselves, sure; whether or not that will work for what you need? I dont' know
votz 15:08 This would be my first browser plugin of any kind, so I'm afraid I'm a bit ignorant as far as much of this stuff goes
So a new, separate plugin process is spawned for each instance of the plugin in all web pages, right?
taxilian 15:08 nope
some browsers (older ones now mostly) will load the plugins in the main process; those that don't will spawn a single process to host all instances of a given plugin
votz 15:08 Ah. So a single process is responsible for all plugins of that type in the browser
taxilian 15:08 yes
so be really careful using globals
votz 15:08 So then what I would be looking at is a process that spawns children and more or less plays traffic cop, collecting video output from the spawned children and returning it to the appropriate in-browser plugin
Switch type process
New instance of plugin? Spawn a new process for this plugin and pipe output of said process back to that plugin and that plugin only
'that plugin' being one instance of that plugin on some browser page
taxilian 15:08 keep in mind here that you are never allowed to block the main thread
votz 15:08 For older browsers you mean?
I.e. where the plugin is loaded in the main process
taxilian 15:08 no, ever
for any reason
votz 15:08 Oh
taxilian 15:08 you are never ever allowed to block the main thread
if you do, you will at best lock up the browser
any more the browser will just ask the user if it wants your plugin killed — or just do it itself
votz 15:08 That's so that the browser can always communicate w/ the plugin I assume
taxilian 15:08 it's also for legacy reasons
that has always been the case; you can only communicate with the browser on the main thread, and you are never allowed to block the main thread
you are a plugin; you don't own the process
votz 15:08 Good to know
How would I write video output back to the browser?
As far as that goes in firebreath
taxilian 15:08 you'll need to use GDK drawing stuff
!find PluginWindowX11
FireBreathBot 15:08 Found 2 possible matches. Displaying 2
/^PluginWindowX11::PluginWindowX11(const WindowContextX11& ctx)$/ (f) found in src/PluginAuto/X11/PluginWindowX11.cpp: http://goo.gl/dkUR9
/^ class PluginWindowX11 : public PluginWindow$/ (c) found in src/PluginAuto/X11/PluginWindowX11.h: http://goo.gl/pltTr
taxilian 15:08 you'll get an object of that class in your AttachedEvent
votz 15:08 Looking at the docs for it now - http://www.firebreath.org/display/documentation/class+FB+PluginWindowX11
taxilian 15:08 also look at http://www.firebreath.org/display/documentation/Frequently+Asked+Questions#FrequentlyAskedQuestions-Q%3AHowdoIdraw%3F
votz 15:08 So how does the handoff of data between the browser and plugin work? I take it the browser doesn't query the plugin for data, but instead just reads its image output state when it's ready to draw?
i.e. avoid polling the plugin for output
taxilian 15:08 I'm pretty sure that on linux (like on windows) the plugin just draws
it gets a GtkSocket, basically, and draws to it
votz 15:08 Hmm
This is all new stuff to me :)
taxilian: This looks like the kind of info I need to think about how to best get started
taxilian 15:08 good
glad I could help
votz 16:08 I need to look more into drawing w/ gdk, too
Thanks very much for all your help taxilian
taxilian 16:08 if you would like to contribute back to the project as a thanks, an example of drawing with X11/GDK would be very helpful to a lot of people
votz 16:08 Noted. If I end up getting started on this plugin and learn the ropes, I'll see about doing exactly such
kylehuff 16:08 okay, taxilian, I determined that you will need the symmetric sizes (in pixels): 512, 144, 72, 58, 57, 50 and 28. I created those sizes and packaged them up, you can download the archive here: http://tinyurl.com/hamstudy-iphone-image-set
taxilian 16:08 awesome =] wow… that's quite the set
good grief; yeah, I see what you mean, it really does need all of them
but good grief
kylehuff 16:08 yes, but given the party involved, I'm not surprised
taxilian 16:08 hehe
now I just have to figure out how to put them in
looks like I figured it out correctly
awesome
thanks
this looks way better than the shaded white square we had before :-P
kylehuff 16:08 no problem, let me know if you need further tweaks/edits or styling for another platform (i.e. android)
taxilian 17:08 awesome. probably will eventually, but I'm doing the ios version first, since I know how =]
eventually I'll probably be getting an android device and will need to learn to program for it, but not yet
kylehuff 17:08 also, here is the source PSD, http://tinyurl.com/hamstudy-icon-master-psd
taxilian 17:08 cool; I appreciate that
maybe someday I'll have something that can use it :-P
kylehuff 17:08 oh, yeah, sorry. if gimp supported layer effects I'd of provided an xcf
taxilian 17:08 no problem
Ben probably has photoshop, so if need be I'll make him do stuff =]
kylehuff 17:08 cool
as for android apps, they aren't too difficult, but it requires java... *pukes* I wrote an app using the eclipse IDE, it wasn't too painful. but I can't comment on submission into the market place because it was just for personal use and was never published
taxilian 17:08 fair enough
I've been learning to learn Java for a very long time
maybe I finally will
linearray 17:08 take c++ and remove tons and tons of stuff
you'll arrive at java
taxilian 17:08 lol
linearray 17:08 (syntax-wise, the internals are quite different)
taxilian 17:08 I'm not totally ignorant of it; I've even done some things in it
I just don't feel competent enough to claim that I know it