Slashdot Mirror


Songbird Source Released

Rinisari writes "The source for Songbird, a music-oriented XULRunner application, is now available via Subversion. Rob Lord, CEO of Pioneers of the Inevitable, released the source for the not-yet-0.2 version of the music player, which integrates a music library and the facility to purchase and download music from a variety of vendors. If you haven't heard of it, read the features list and try it out. Slashdot previously mentioned Songbird when it was released as a preview in February."

12 of 114 comments (clear)

  1. List of XUL Applications? by AKAImBatman · · Score: 5, Informative

    SongBird just goes to show what XUL can really do. Most people shun it with a, "Coding serious applications in JavaScript? Yeah, right." But with the XPCOM Standard Library as a foundation, the XUL platform is really a great way to build applications. (There's a really cool application here that shows off XUL's abilities.)

    XULRunner is still a problem, though. It's not clear to most programmers that XUL applications can function just as well standing alone as in a browser. Songbird is a great start, but does anyone know if there's a list of existing XULRunner applications? If such a list existed, it would be a lot easier to show people what XUL can do just by pointing them to a single URL.

    1. Re:List of XUL Applications? by AKAImBatman · · Score: 4, Informative
      What an impassioned rant! With all the energy and time you put into it, I really feel sorry that's it's so incredibly wrong. :(

      because the entire interface is implemented using Gecko, the widgets aren't native.


      As it so happens, the widgets are native. Mozilla exposes the underlying implementation. Which is why buttons look like Windows, Mac, or GTK+ buttons. The caveat to this is that you can create XUL buttons/components that are entirely virtual. These components are generally used to produce skins like that used in Firefox. But most XUL applications actually rely on the native components instead. Which is why the Amazon browser I linked to looks like a native Windows app.

      JavaScript is an interpretted language. And it's slllllllow.

      It's also just glue. All the heavy lifting is done by the XPCOM components, which are FAAAAAASSSST.

      This means that if an application is using JavaScript to do heavy lifting, the application will literally freeze while it can no longer accept messages. The windows will stop redrawing. Clicks will be ignored. Nothing will happen until the JavaScript finishes and the UI thread can start handling messages again.

      Putting aside for a moment that this is an issue in all GUI programming, Mozilla does support multithreading. It just doesn't do it at the Javascript level. Threads are pushed down to the XPCom level instead, where they do the most good. (e.g. The XmlHttpRequest object can run synchronously or asynchronously.) If you really must multithread your JavaScript app, then cooperative multithreading is easy to do. Timed call-backs allow you to regain control whenever you need it, or in spurts if you'll be processing for a long period of time.
    2. Re:List of XUL Applications? by generic-man · · Score: 4, Informative

      Open Safari on Mac OS X 10.4. Start VoiceOver (CMD+F5 or CMD+FN+F5 on a laptop). Notice how virtually every UI control has enough metadata to let Mac OS X know what it is.

      Open Firefox (or Camino). Start VoiceOver. Notice how absolutely nothing in the web page display area is interpreted as a Cocoa widget. Notice how in the web page display area, checkboxes, drop-downs, text fields, and any other controls lack any access to Cocoa services such as spell checking and Dictionary. The same lack of OS-native widgets is apparent in Firefox for Windows, though GTK does a much better job of emulating the look of these widgets, if not the feel.

      If it looks like a native app, it's not necessarily a native app.

      --
      For more information, click here.
  2. Re:would be cool if... by Rob+T+Firefly · · Score: 3, Informative

    Didn't the original Napster or Kazaa have a feature like this? As I recall, all it got me was the occasional request from a stranger to "pls share more (random artist, possibly one I wasn't even sharing) pls kthx."

  3. bugs, questions etc etc by xsst4 · · Score: 5, Informative

    if you guy's are having any bugs or anything just file them at bugzilla.songbirdnest.com and if you guy's have any questions or just want to idle be sure to connect your clients to irc.landoleet.org and join us in #songbird. Thanks have a good one! --Inc

  4. Doesn't play anything on Mac OS X by RustNeverSleeps · · Score: 2, Informative

    Too bad it reports that all songs are 1:22 seconds long and won't play them in OS X.

  5. Re:What's the big deal? by aymanh · · Score: 5, Informative
    Erm, I think you are missing the point, Songbird is a stand-alone music player, some of its key features that give it special interest here are:
    • Written in XUL and JavaScript.
    • Runs on top of Mozilla's XULRunner platform.
    • Cross-platform, can run on Linux, Windows, and Mac OS X (among the others).
    It can be seen as a proof of concept on how general purpose multi-platform applications can be developed on top of XULRunner. Songbird also lets you visit online music stores and organize your music library, which makes it an Open Source alternative to iTunes.

    Enough to deserve /.'s interest I guess.
    --
    python>>> q="'";s='q="%c";s=%c%s%c;print s%%(q,q,s,q)';print s%(q,q,s,q)
  6. Re:What's the big deal? by j1mc · · Score: 5, Informative
    While I wouldn't get too excited about being able to just search the web through a browser within a media-player, I think that there's more to Songbird than just that.

    On the Linux front, Songbird will give us a media player with an attractive front end, all of the standard rip-organize-burn capabilities, plus the ability to purchase music from online music stores. Not to knock the current Linux offerings (I'm currently an Amarok user), but the UI's aren't as attractive as Songbird's UI (yes, XMMS is slick-looking, but those buttons are so small . . . ), and AFAIK, the ability to buy music from online music stores through a Linux app is slim to none.

    As for iTunes and Windows Media Player, they each lock you into their own music stores (the iTunes Music Store and the MTV-powered Urge, respectively). Songbird is going to allow you to purchase music from a wider array of online music stores from the outset, and online music stores will be able to write plugins to make them searchable from within Songbird. From the website . . . "Web page authors will be able to publish playlists and transfer MP3s into Songbird to build digital music stores like eMusic, music subscription services like Yahoo! Music Unlimited, virtual jamming services like Ninjam, playlist sharing services like WebJay and more."

    And, of course, neither iTunes nor WMP plays natively under Linux. All in all, a strong cross-platform app like this just makes Linux that much more viable for everyday desktop users.

  7. Re:Release the source of a script? by Anonymous Coward · · Score: 1, Informative

    Uh, it IS open sourced. All of it. Including the non-script components.

    http://publicsvn.songbirdnest.com/trac/browser

  8. Re:Open Source Media Player? by WoLpH · · Score: 2, Informative

    I use MPD with QMPDClient, there are probably some visualisations available aswell but personally I don't use them.

    I also use Amarok, altough it does have visualisations build in, I can't call it really lightweight.

  9. Re:linux by Kethinov · · Score: 3, Informative
    Quoth the main page:
    Songbird is open source, will run on Windows, Mac OS X and Linux and supports user contributed, cross-platform extensions.
    --
    You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
  10. Re:The DRM question by Myen · · Score: 2, Informative

    Even more fun - their actual audio playing stuff is XPCOMized VLC, used under GPL2.