Bray King News: Today, at approximately seven oh won a.m. EST, Amarok successfully used OS X's native multimedia system to play back audio. It then proceeded to crash. Upon restart it played a local audio file followed by streaming video from a podcast. It then crashed again. Details at ten.
Amarok
Amarok uses phonon's quicktime backend for multimedia playback on OS X
Dbus, apartments and phonon
So I'm being a good little boy today and finishing up the coverimagizer nhnfreespirit started helping me with. Looks like I'll need to be reading a little more of my C++ books too. Today's topic: virtual functions. Today's question: Why can't they have explicitly declared destructors? I have to say, looking at other people code makes this coding
thing far easier than it would be otherwise. It's also more fun than looking for apartments in Dayton. Moving sucks. Hope I can find someplace close to work though, but I'll worry about that some other day.
Boy, Interrupted
Was working on the amarok bundle again this weekend. Same problem. Can't get klauncher to load kio_file from within amarok.app. I'm not sure that this will work eventually either. What I've done is include almost everything amarok needs to run, external dependencies as well, in the bundle. I thought the external dependencies, which for our purposes, is software not provided by
Eureka! The computer's got it!
Today after my amarok bundle crashed (yet again), and I got the DrKonqui dialog which began using up 171% of my cpu making my fans go crazy, I remembered something. It was not always so. I remembered that I used to have to wait for the Apple Crash Reporter (ACR) to generate a backtrace (bt) before I could launch Amarok again. The ACR immediately generates a bt when OS X programs crash. This seems to take longer than DrKonqui because, with DrKonqui you could just quit and not generate a bt, which I would frequently do.
I'm a bundling fool
Two hundred and seventeen point one megabytes. This is the current size of an amarok.app bundle which I have laying in my ~/Applications directory. Problem? First of all, it's about one hundred and seventeen point two megabytes too large for my liking. Secondly, it doesn't work. Point number two is the most vexing but I'll touch on point number one first. "Hey illogic-al," you may ask, "why 99.9 MB?" I'll tell you why.
Amarokin History X
When I started out trying to install Amarok on OS X it looked something like this:

As you may have noticed, the program is conspicuously missing. Before I could even get Amarok to show up I had to jump through a variety of hoops. But at last I was able to get Amarok to show a window. Win.
Eventually I even got music from this window. Epic Win.
Apple gcc 4.2 and Amarok: Journey's end.
The iPhone beta 5 SDK saved me. I finally have a (relatively) trouble-free version of gcc 4.2 with apple patches. Initially I did have some problems with it. It only started working seemlessly after I completely uninstalled Xcode 3.0, rebooted, then installed Xcode 3.1 from the iPhone SDK. Theoretically the two can be installed alongside each other with the iPhone SDK's command line tools being installed over the older version. All I have left to do now is figure out what libraries and other supporting data amarok needs to run so that I can create a .app bundle.
Trial and error and error and error and error and... WIN!
I've gotten apple-gcc42 to install AND compile c++ code. This has been a "long, hard battle," but i think I've finally won. I was "inspired" to take up this challenge after lfranchi, one of the amarok developers, pointed out that one of the build errors we were getting (in amarok 2 for OSX) was due to use of an old compiler. We have gcc 4.0.1 with custom apple patches on OS X. We can install updated versions of gcc, but these are vanilla versions of GNU's venerable compiler suite.
How not to fix a compilation error
Step 1. Once you think you've identified the problem and come up with a fix, forget to check it and declare the problem fixed.
Step 2. Apply your fix to the public repository and break functionality for everyone else.
Step 3. Declare you fix to the world.
Step 4. Once someone has pointed this out to you, take your time trying to figure out what went wrong.
Step 5. After confirming that you actually have a fix this time. Push your changes globally yet again.
Step 7. Look for any code which needs to be cleaned up after the fact and make changes as necessary.
What dbus is going on?
I compiled the qt 4.4 RC on mac yesterday and afterwards none of my KDE apps were working. Since KDE 4.0 dbus (which i am beginning to loathe) has been required for KDE to do whatever it does. No dbus = no gui. For some reason after compiling the RC qt apps don't connect to my d-bus. I know, you see what I did there.
Whatever, my point is this shit is seriously cramping my style. I have an Amarok .app package that needs making and crap like this is making my life harder than it has to be.
Guess I'll check back in in a week or two. Really hate dbus now. Seriously.
illogic-al.Org