Audioscrobbler Beta » Discussions

Last.fm Boffin - Local Radio Tech Demo [0.0.4 released]

 
    • mxcl a dit :...
    • Alumni
    • 6 mars 2009, 0h59m
    Hopefully I'll set up a Taglib this weekend that has all the plugins and so will support all formats. Then I'll rebuild. The current momentum of Boffin is exciting :) So I have motivation.

    Also, to change the directories you've set, choose Rescan from the Tools menu.

    @gvda you'll have to ask Doug. It was him and Norman who made the local radio system. But I believe, it's random, with a little bit of magic :)

    • rpn a dit :...
    • Utilisateur
    • 6 mars 2009, 7h47m

    Linux

    I tried compiling Boffin on Linux (Mandriva Cooker, with Qt4.5) and after adding -lsqlite3 for the final linking stage it compiled and run without a problem :).

    make install didn't do much, but I could run it from the _bin/ directory directly instead.

    • jahrynx a dit :...
    • Utilisateur
    • 6 mars 2009, 8h09m

    linux debian testing

    tried compiling, and got issues.
    Like rpn said, make install didn't do much but in my case running it from _/bin doesn't work. It gives the error:
    ./boffin: error while loading shared libraries: libunicorn.so.1: cannot open shared object file: No such file or directory

    ls in this dir gives:

    ..../_bin$ ls
    boffin libcore.so.1.0 libradio.so.1 libresolver.a libtypes.so.1.0 libunicorn.so.1 libws.so libws.so.1.0.0 libcore.so libcore.so.1.0.0 libradio.so.1.0 libtypes.so libtypes.so.1.0.0 libunicorn.so.1.0 libws.so.1 libcore.so.1 libradio.so libradio.so.1.0.0 libtypes.so.1 libunicorn.so libunicorn.so.1.0.0 libws.so.1.0


    any ideas?

    • dougma a dit :...
    • Alumni
    • 6 mars 2009, 9h11m
    gvda said:
    @mxcl: I was wondering: how does the randomisation process (excuse my French) work? In other words; how is the order in which Boffin plays my songs established? Some kind of fancy shuffle algorithm? (I'm not technical at all but still curious ;-)
    A tag is a set of tracks having different weights (If the tag is "indie pop" for example, a track might be rated 80% "indie pop"). Boffin takes a weighted sample from the tracks on offer to make a playlist. There's a couple of other tricks: it favours the intersection between tag sets, and it has a (short) memory to mix up the artists a bit more.

    That's it. :)

    • RJ a dit :...
    • Alumni
    • 6 mars 2009, 9h41m

    Re: linux debian testing

    jahrynx said:
    tried compiling, and got issues.
    Like rpn said, make install didn't do much but in my case running it from _/bin doesn't work. It gives the error:
    ./boffin: error while loading shared libraries: libunicorn.so.1: cannot open shared object file: No such file or directory

    ls in this dir gives:

    ..../_bin$ ls
    boffin libcore.so.1.0 libradio.so.1 libresolver.a libtypes.so.1.0 libunicorn.so.1 libws.so libws.so.1.0.0 libcore.so libcore.so.1.0.0 libradio.so.1.0 libtypes.so libtypes.so.1.0.0 libunicorn.so.1.0 libws.so.1 libcore.so.1 libradio.so libradio.so.1.0.0 libtypes.so.1 libunicorn.so libunicorn.so.1.0.0 libws.so.1.0


    any ideas?



    It might not be looking for those .so files in the current directory by default, try running like this:

    LD_LIBRARY_PATH=. ./boffin

    Information wants to be beer.
    • thisfred a dit :...
    • Utilisateur
    • 6 mars 2009, 9h50m

    Linux build

    Yep, builds just fine. I had to install libphonon-dev, which wasn't listed as a dependency, but other than that, no problems.

    "Look out honey, 'cause I'm using technology..."
    • mxcl a dit :...
    • Alumni
    • 6 mars 2009, 9h53m

    Re: Linux build

    thisfred said:
    Yep, builds just fine. I had to install libphonon-dev, which wasn't listed as a dependency, but other than that, no problems.
    Yeah I should add that to the README, thanks.

    make install didn't do muchYeah sorry. I didn't have time to implement make install properly. I wouldn't run it, I don't even know what it'll do! I will fix the tarball up properly for 0.0.5.

    after adding -lsqlite3 for the final linking stage it compiledOdd, as we do add that to the link line, it's just buried in 3rdparty.pro.inc.

    • jahrynx a dit :...
    • Utilisateur
    • 6 mars 2009, 16h59m

    Re: Re: linux debian testing

    RJ a dit :

    It might not be looking for those .so files in the current directory by default, try running like this:

    LD_LIBRARY_PATH=. ./boffin



    Nice it works. It can scan, build the tagcloud and play music. But i got an error if i try to change/add folder to scan and it crashes

    the only things it print is
    Instruction illégale
    (yeah, french)
    nothing more. is there a way to print debug log or anything that could tell more?

    • mxcl a dit :...
    • Alumni
    • 6 mars 2009, 18h18m
    Try gdb for a backtrace:

    LD_LIBRARY_PATH=. gdb ./boffin
    r
    bt

    • jahrynx a dit :...
    • Utilisateur
    • 6 mars 2009, 19h37m
    here is the backtrace


    Program received signal SIGILL, Illegal instruction.
    [Switching to Thread 0xb6a5c910 (LWP 6142)]
    0xb636e803 in ?? () from /usr/lib/xine/plugins/1.23/xineplug_inp_dvd.so
    (gdb) bt
    #0 0xb636e803 in ?? () from /usr/lib/xine/plugins/1.23/xineplug_inp_dvd.so
    #1 0xb7a26a05 in QFileDialog::getExistingDirectory ()
    from /usr/lib/libQtGui.so.4
    #2 0x0806e980 in PickDirsDialog::prompt (this=0xbfadf7e0)
    at PickDirsDialog.cpp:91
    #3 0x0807f68e in PickDirsDialog::qt_metacall (this=0xbfadf7e0,
    _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfade9bc)
    at _build/moc_PickDirsDialog.cpp:66
    #4 0xb729ebe0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
    #5 0xb729efe0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
    #6 0xb7b94b71 in QAbstractButton::clicked () from /usr/lib/libQtGui.so.4
    #7 0xb78e7ea9 in ?? () from /usr/lib/libQtGui.so.4
    #8 0xb78e9aa4 in ?? () from /usr/lib/libQtGui.so.4
    #9 0xb78e9d36 in QAbstractButton::mouseReleaseEvent ()
    from /usr/lib/libQtGui.so.4
    #10 0xb76027c2 in QWidget::event () from /usr/lib/libQtGui.so.4
    #11 0xb78e7d4e in QAbstractButton::event () from /usr/lib/libQtGui.so.4
    #12 0xb798e630 in QPushButton::event () from /usr/lib/libQtGui.so.4
    #13 0xb75aa79c in QApplicationPrivate::notify_helper ()
    from /usr/lib/libQtGui.so.4
    #14 0xb75b2fd1 in QApplication::notify () from /usr/lib/libQtGui.so.4
    #15 0xb728a0e1 in QCoreApplication::notifyInternal ()
    from /usr/lib/libQtCore.so.4
    #16 0xb75b225e in QApplicationPrivate::sendMouseEvent ()
    from /usr/lib/libQtGui.so.4
    #17 0xb761be2d in ?? () from /usr/lib/libQtGui.so.4
    #18 0xb761ac11 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
    #19 0xb764463a in ?? () from /usr/lib/libQtGui.so.4
    #20 0xb6b1a368 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #21 0xb6b1da03 in ?? () from /usr/lib/libglib-2.0.so.0
    #22 0x09fe8690 in ?? ()
    #23 0x00000000 in ?? ()


    and another when trying the resolve xspf


    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0xb69ef910 (LWP 6096)]
    0x093ddd87 in ?? ()
    (gdb) bt
    #0 0x093ddd87 in ?? ()
    #1 0xbfb7007b in ?? ()
    #2 0xb6301631 in ?? () from /usr/lib/xine/plugins/1.23/xineplug_inp_dvd.so
    #3 0xb7300798 in ?? () from /usr/lib/libQtCore.so.4
    #4 0x00000013 in ?? ()
    #5 0x08076003 in App::xspf (this=0xbfb740f0) at App.cpp:287
    #6 0x0807fba5 in App::qt_metacall (this=0xbfb740f0,
    _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfb7322c)
    at _build/moc_App.cpp:87
    #7 0xb7231be0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
    #8 0xb7231fe0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
    #9 0xb75374a1 in QAction::triggered () from /usr/lib/libQtGui.so.4
    #10 0xb7537e0f in QAction::activate () from /usr/lib/libQtGui.so.4
    #11 0xb7911294 in ?? () from /usr/lib/libQtGui.so.4
    #12 0xb7911d22 in QMenu::mouseReleaseEvent () from /usr/lib/libQtGui.so.4
    #13 0xb75957c2 in QWidget::event () from /usr/lib/libQtGui.so.4
    #14 0xb7914019 in QMenu::event () from /usr/lib/libQtGui.so.4
    #15 0xb753d79c in QApplicationPrivate::notify_helper ()
    from /usr/lib/libQtGui.so.4
    #16 0xb7545fd1 in QApplication::notify () from /usr/lib/libQtGui.so.4
    #17 0xb721d0e1 in QCoreApplication::notifyInternal ()
    from /usr/lib/libQtCore.so.4
    #18 0xb754525e in QApplicationPrivate::sendMouseEvent ()


    Hope they can be useful.
    As a workaround it follows simlinks :) and i have to say it's great pieces of software.
    can't wait to see it integrated in Amarok (isn't there Amarok dev working around in last.fm?)

    • mxcl a dit :...
    • Alumni
    • 6 mars 2009, 21h18m
    Looks to me like you xinelib is broken and is for some crazy reason getting loaded whenever we show a dialog. Linux has its quirks :P

    • tburny a dit :...
    • Forum Moderator
    • 7 mars 2009, 1h18m
    well my boffin is still scanning, as my music collection is bit of large ;) Maybe you can speed up reading the data a bit, I think this is possible...

    Great app, runs fine on windows 7 so far, it creates the db and plays fine :D Thumbs up!

    Combo.fm: Combine your favourite radio stations! | My Blog | scala-lastfmapi
    P.S.: Do not click here
    throw new PokemonException(); //Gotta catch 'em all
    My forum post reflects my personal opinion :)
    Modifié par tburny le 7 mars 2009, 15h27m
    • jahrynx a dit :...
    • Utilisateur
    • 7 mars 2009, 10h40m
    mxcl a dit :
    Looks to me like you xinelib is broken and is for some crazy reason getting loaded whenever we show a dialog. Linux has its quirks :P

    xinelib broken... I'll believe you on this, that explains everything. hopefully updates will come soon.
    thanks for your help

    • maz35 a dit :...
    • Abonné
    • 7 mars 2009, 21h19m
    maz35 said:
    maz35 said:
    Like I said to doug via email, for some reason its not loading up at all for me now. I see the process in task manager but no program loads up. Shame as it seems a really cool app.

    Still having this issue in the updated version.

    Finally managed to fix this issue myself, I just searched for and deleted any entries for it in the registry and the main window has returned.

    Now I can go back to testing it :D

    • hawkse a dit :...
    • Abonné
    • 7 mars 2009, 21h21m

    Up and running

    Thanks for that little redist-file. Already had a bunch of versions listed so I thought I'd be set. Works fine now.

    Looking forward to vorbis-support !

    • gvda a dit :...
    • Utilisateur
    • 7 mars 2009, 21h40m
    dougma said:
    A tag is a set of tracks having different weights (If the tag is "indie pop" for example, a track might be rated 80% "indie pop"). Boffin takes a weighted sample from the tracks on offer to make a playlist. There's a couple of other tricks: it favours the intersection between tag sets, and it has a (short) memory to mix up the artists a bit more.

    That's it. :)


    Thanks dougma, for explaining that.

    • mxcl a dit :...
    • Alumni
    • 8 mars 2009, 1h10m
    tburny said:
    well my boffin is still scanning, as my music collection is bit of large ;) Maybe you can speed up reading the data a bit, I think this is possible...
    Well, we're already using the fastest available tag reading library, Taglib.

    But things speed up if you hide the window, as the animation is a little CPU heavy. Though you'll find there is no difference at all if you have more than one core. As then it's IO bound.

  • Very nice. Just some quick feedback:

    1. It seems to work pretty well. I like the minimalistic interface but there really should be a volume slider. Also, I realize this is a demo/proof-of-concept at this point but at least the Win32 version doesn't have an icon which gives it sort of an early alpha-feel. Having an option to minimize to the tray like the scrobbler would also be really nice for those of us who have a ton of apps open at any time.

    2. And while I'm nitpicking: the dialogue where you specify what directories you want Boffin to index becomes illegible when you add more than a few directories (XP Pro SP3, US-version, 32 bit) and the directory selection GUI thingie(tm) seems to default to "%HOMEPATH%/My Music" which is sort of annoying if you're adding a dozen directories (after all, you're only going to be adding that directory once). Oh, and speaking of nitpicking: the "Cancel" button doesn't change to "OK" after the check for a newer build has completed.

    3. What stuartsjm said about logic operators. I too feel that only songs that have both/all tags should be played when multiple tags are selected (if possible; I realize there won't be much content to play if you select more than a few tags).

    • tburny a dit :...
    • Forum Moderator
    • 9 mars 2009, 16h07m
    I'd propose to seperate the process of scanning files and playing them, so you can:
    a) start listening while the scanner is still active
    b) boffin scans for new files on launch, you won't have to wait till that is done....adding new and removing missing files could also be done in background :) also, maybe a check box to disable the scan output would be really cool!

    I really love boffin, though it's proc :)

    Combo.fm: Combine your favourite radio stations! | My Blog | scala-lastfmapi
    P.S.: Do not click here
    throw new PokemonException(); //Gotta catch 'em all
    My forum post reflects my personal opinion :)
    • mr_maxis a dit :...
    • Modérateur
    • 9 mars 2009, 16h58m
    1 hour and a half of scanning is a little bit long... but it was worthwhile ! I can rediscover my entire library, which is very large and eclectic so media player's shuffle mode is useless for me, now tags help me a lot!!
    Thank to Last.fm Boffin and all the boffins behind it ;)

    • dougma a dit :...
    • Alumni
    • 9 mars 2009, 18h06m
    tburny said:
    I'd propose to seperate the process of scanning files and playing them, so you can:

    Indeed, great ideas. Stay tuned. :)

    • akrde a dit :...
    • Abonné
    • 9 mars 2009, 19h10m
    Is it planned to use this new scanning/tagging technique for the user's Last.fm library too?

    Are you planning to integrate this tool in the new Last.fm client for playing the local AND online libraries by automatic generated tags?

    Would be very cool...

    • julians a dit :...
    • Alumni
    • 9 mars 2009, 20h09m
    The default window size is a little bit too small to contain all my tags. Not by too much, just enough so I always think ‘Why isn’t the window bigger?’. Also, it doesn’t remember the window size if you resize and then relaunch it. The ‘Check for updates’ didn’t seem to work when 0.4 was out.

  • it would be great that Boffin's functions came integrated in the default Last.fm Client. Why would you want 2 programs when all can be done in one? don't you think?

    • tburny a dit :...
    • Forum Moderator
    • 10 mars 2009, 13h59m
    this is proof of concept and i guess it WILL come....what elso could be improved in the client itself? uhm playlists maybe...

    Combo.fm: Combine your favourite radio stations! | My Blog | scala-lastfmapi
    P.S.: Do not click here
    throw new PokemonException(); //Gotta catch 'em all
    My forum post reflects my personal opinion :)
Les utilisateurs anonymes ne peuvent pas poster de messages. Merci de vous connecter ou de créer un compte pour pouvoir intervenir dans les forums.