#musicbrainz

/

      • kepstin-laptop notes that http://soundcloud.com/1stplace/ver-ia-1 is one of the weirdest songs he's ever heard
      • kepstin-laptop
        they made a voice synthesizer based on Lia, then used that voice synth to sing one of Lia's songs.
      • could you imagine listening to a song where a voice synthesizer based on your own voice is covering you?
      • danmichel joined the channel
      • ianmcorvidae puts a feature into riker's wishlist that will probably just get ignored but whatever :P
      • ianmcorvidae: what's that?
      • ianmcorvidae
        just submitted: daemon mode/MPD compatibility mode
      • last line of issue is a bit tongue-in-cheek ;)
      • kepstin-laptop: 2011-02 code drop, eh? Bit late for that, aren't you? ;)
      • kepstin-laptop
        ianmcorvidae: end of month ;
      • ;)
      • ianmcorvidae
        2011 :P
      • kepstin-laptop looks again
      • kepstin-laptop
        ...
      • gah.
      • ianmcorvidae
        you set the due date right, just not the title
      • ianmcorvidae amused
      • kepstin-laptop puts in a few more tasks to do this month.
      • mm, autogenerated bindings
      • I wonder if libmb4 is in AUR
      • nope
      • darn
      • kepstin-laptop
        exherbo has it, but only beta2, I should bump that package version
      • kepstin-laptop has a gentoo overlay with the final 4.0.0 version
      • the AR schema design's gonna be interesting to do. I'm wondering if I should do a general extensible design like on the musicbrainz db, or if I should special case various types into full db relations.
      • ianmcorvidae
        I'd go fully general, myself
      • but then, I also want support for any new AR immediately
      • kepstin-laptop
        as it is, the db schema design is basically a simplified version of the real musicbrainz db schema
      • ianmcorvidae
        one potential worry is that there has been talk of n-ary ARs -- but I guess you can deal with that when it happens
      • kepstin-laptop
        the particular thing that was changed is that the various 'name', 'title', etc. fields are stored directly in the tables instead of being in their own x_name tables.
      • ianmcorvidae
        so it'll take very slightly more space, but that's okay because who's gonna have all million MB releases in their collection? :)
      • kepstin-laptop
        I figured that for the size of most people's music libraries, the duplication of names would be trivial; and it's no more information than any current db player would store
      • ianmcorvidae
        yeah
      • kepstin-laptop
        32M/home/cwalton/.local/share/rhythmbox/rhythmdb.xml
      • uncompressed xml ftw.
      • ianmcorvidae
        hah
      • throw it past gzip? naaaaaaah
      • 32MB of XML isn't that bad, though
      • kepstin-laptop
        admittedly, I'm using a filesystem with transparent file compression
      • ianmcorvidae
        some of our WS queries are worse than that!
      • oh? btrfs or something else?
      • kepstin-laptop
        btrfs, yeah
      • ianmcorvidae
        I keep meaning to set that up
      • but I'm lazy sometimes :P
      • kepstin-laptop
        that's only 22409 files ^^ :)
      • ianmcorvidae
        heh, is that 32MB actual disk usage or what it would be on a normal-person FS?
      • kepstin-laptop
        that's the file size, not disk usage.
      • ianmcorvidae
        okay
      • I'm surprised rhythmbox can fit that much into 32MB of XML then, hah
      • kepstin-laptop
        the really fun thing is that most of my music is japanese, and it stores the characters as xml hexadecimal character entities like 雨
      • that's 8 bytes for one character.
      • ianmcorvidae
        huh
      • Y NO UNICODE, RHYTHMBOX!?
      • kepstin-laptop
        and filenames are url-encoded, for a 3× expansion on the number of bytes.
      • ianmcorvidae
        (or something like that)
      • Leftmost
        That's Unicode, just escapedfor XML.
      • s/df/d f/
      • ianmcorvidae
        can't you use utf-8 directly, though?
      • that would be wildly more efficient
      • kepstin-laptop
        ianmcorvidae: yep.
      • Leftmost
        You can.
      • ianmcorvidae
        (well, in this case it would anyway)
      • kepstin-laptop
      • Leftmost
        It stores MBIDs?
      • kepstin-laptop
        why yes it does.
      • ianmcorvidae
        anything sane stores MBIDs
      • Leftmost
        I didn't think anything was sane, ianmcorvidae.
      • ianmcorvidae
        even *MPD* stores MBIDs and it's *stupidly* simplistic sometimes
      • Leftmost
        It certainly doesn't make use of them.
      • ianmcorvidae
        mpdscribble does
      • kepstin-laptop
        (notably it doesn't store the replaygain parameters, those are read from the files at playtime)
      • Leftmost: rhythmbox scrobbles mbids.
      • but that's it.
      • ianmcorvidae
        yeah, that's usually all anything does with MBIDs
      • sadly :(
      • Leftmost
        I want it to be more MBID aware.
      • ianmcorvidae
        (nudge nudge finish writing Riker :P)
      • kepstin-laptop
        Leftmost: there's a reason I'm writing riker ;)
      • Leftmost
        I was all ready to say something snarky, and you go and ruin it.
      • kepstin-laptop
        Leftmost: if you have any awesome ideas for a musicbrainz-aware player, add them to https://github.com/kepstin/riker/issues
      • Leftmost
        ("Someone should write an MBID-aware player. Maybe name it riker."
      • +)
      • ianmcorvidae
        :P
      • Leftmost
        kepstin-laptop, any mockups or sketches anywhere?
      • kepstin-laptop
        Leftmost: not yet. If you have some ideas for gui, post them on https://github.com/kepstin/riker/wiki/GUI-Mockups
      • I plan to make a few sketches tomorrow with some ideas.
      • Leftmost
        Riker was just onscreen.
      • Perfect time to be looking at plans for it.
      • kepstin-laptop
        hmm. playbin2's gapless support is a bit iffy, and has been disabled off and on.
      • Leftmost
        rhythmbox's gapless support has worked consistently and well for me since it was switched over to playbin2.
      • kepstin-laptop
        ianmcorvidae: hmm, that's an interesting idea; I might want to use http://zeitgeist-project.com/ to collect stats
      • ianmcorvidae
        bleh
      • kepstin-laptop
        Leftmost: which version of rhythmbox are you using?
      • ianmcorvidae
        not a terrible idea, the problem is I don't want to have to install zeitgeist :P
      • kepstin-laptop
        ianmcorvidae: maybe i'll make it an optional add-on, like scrobbling :)
      • Leftmost
        2.95, kepstin.
      • ianmcorvidae
        as long as I can have logging without zeitgeist, I'm happy :)
      • kepstin-laptop
        Leftmost: hmm, I haven't ever had ~2.95 working properly - it would always hang after a couple of songs.
      • ianmcorvidae reading more about zeitgeist anyway
      • Leftmost
        The only problem I have with rhythmbox right now is that it takes 20s or more to open. On an SSD.
      • kepstin-laptop
        zeitgeist is supposed to do neat things like be able to associate what music you're listening to with what you're currently doing.
      • Leftmost: I haven't had that issue - it opens more or less instantly, and is usable fairly soon after, but it takes a while before it's done rescanning the library
      • Leftmost
        How many songs?
      • Anyhow, I will put in a strong vote for the use of gstreamer. It's also possible that gstreamer 1.0 will improve on playbin2's gapless support.
      • kepstin-laptop
        22409 on my laptop right now
      • more on my desktop; and my desktop is reading the files off an nfs share.
      • Leftmost
        Odd.
      • ianmcorvidae
        you turned on the magical nfs asynchronous switch thing, though, yeah? (I think that was you)
      • kepstin-laptop
        ianmcorvidae: yeah :)
      • Leftmost: a cold start of rhythmbox on my laptop is usable in about 5 seconds, fully rescanned in 10-15.
      • (my laptop has a seagate momentus xt hybrid ssd-hdd)
      • presumably that first 5 seconds is spent loading and parsing the 32mb xml file for the library ;)
      • Leftmost
        I've had some issues with rhythmbox. It's honestly not terribly well written. I still think gstreamer is the way to go, though. :P
      • kepstin-laptop
        I'm still using rhythmbox 0.13 because of that playback crashing/hanging issue I hit in 2.95 :/
      • the limited code I have for riker right now just reads tags from a file with gstreamer, does a musicbrainz xml ws query, and inserts data into a database.
      • reading tags with gstreamer is actually kind of interesting to do, and doesn't take that much code
      • just hook the file up to a decodebin, and bring it to PAUSED, and it'll emit tag events for all the gstreamer-supported tags.
      • and gstreamer supports quite a lot of tags :)
      • ianmcorvidae
        haha
      • Leftmost
        I've consumed a goodly amount of gstreamer kool-aid.
      • ianmcorvidae
        I purged it from my system due to rhythmbox kinda sucking
      • and switched to mpd.
      • Leftmost
        rhythmbox is a piss-poor example of a gstreamer-based interface.
      • kepstin-laptop
        part of the reason I want to use gstreamer is that it's easy to throw in audio filters and stuff with no real extra app code
      • like the bs2b filter for headphone listening or replaygain.
      • Leftmost
        It does a lot of stuff outside of gstreamer and doesn't do it too well.
      • kepstin-laptop
        and rhythmbox's gstreamer code mostly predates a lot of modern conveniences, and isn't that great either
      • ianmcorvidae
        I have no doubt :P I haven't touched anything gstreamer-related since 2007
      • kepstin-laptop
        but I can load massive libraries in it, it has fast search, it scrobbles, and does replaygain.
      • ianmcorvidae
        and even then it was only rhythmbox (and exaile, if that uses gstreamer -- not sure)
      • Leftmost
        gstreamer has also come a very long way in the past few years.
      • kepstin-laptop
        I'm really looking forwards to gstreamer 1.0, they have some pretty cool stuff planned.
      • ianmcorvidae
        yeah
      • kepstin-laptop
        mostly in support of non-linear video editing, but lots of enhancements all around.
      • Leftmost
        When I first started dogfooding GNOME, totem was barely usable for most of my day-to-day. Now it works almost perfectly for me.
      • ianmcorvidae
        mostly I'm just very suspicious of anything that's tied to GNOME or KDE, in part because they usually expect me to install the rest of their software if I try to install one little thing
      • kepstin-laptop
        it's a pity they haven't enabled 10bit h264 decoding yet :)
      • ianmcorvidae
        e.g. the list of dependencies for tracker is stupidly huge
      • kepstin-laptop
        that's the /only/ thing I miss in totem.
      • a lot of tracker's deps really are optional, though
      • it can be made small enough to fit on a mobile phone platform - e.g. it's on nokia's maemo/meego phones.
      • ianmcorvidae
        heh, I dunno
      • Leftmost
        ianmcorvidae, I think there's that habit, but I think it's hardly necessary.
      • ianmcorvidae
        it was essentially unusable even with just the 80 dependencies arch made me install :P
      • kepstin-laptop
        most of tracker's dependencies are really just file decoders and file-reading libraries for the various formats it can index
      • which you have to admit is better than reimplementing all that themselves...
      • ianmcorvidae
        certainly
      • Leftmost
        tracker is pretty intense dependency-wise. A lot of GNOME apps are less so.
      • kepstin-laptop
        the non-optional tracker dependencies are libpng, glib, sqlite, libxml2, libgee, and pango.
      • and that's /it/, really.