Can Firefly stream CD audio?

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #1957
    Anonymous
    Inactive

    I couldn’t find any information about this in the foras nor in the wiki (actually, i couldn’t find ANY information in the wiki other than how to use it – its mere existence is therefore quite pointless, IMO) so I assume I am the first to investigate this functionality. Either that, or it’s a feature that was laughingly dismissed by the community long ago. πŸ™‚

    Anyhow, I run Firefly on a OpenSlug NSLU2, serving a Soundbridge. This setup, as compared to a traditional sound system, is however not optimal. I would like to play CDs as well – could this be done effectively? As Firefly is capable of serving PCM WAV’s, should it not be able to stream a CD as well, as long as it’s indexed? Then, upon inserting a CD (presuming the slug can automount it), it should be identified through a cddb lookup with the information being added to the SQLite database – and that’s it? When it’s ejected, the added information should obviously be deleted from the db.

    How about it?

    (EDIT: eventually found my way into the English language part of the wiki by guessing the page name. Still no mention of CD streaming.)

    #14597
    sonichouse
    Participant

    Why not just have a script that rips the CD when inserted to a format that you can stream (MP3, AAC, FLAC etc). If you were to create a m3u file as well, you would get a playlist too.

    Once ripped send a request to firefly to rescan.

    Not sure why you want to delete the files afterwards either 😯 .

    #14598
    Anonymous
    Inactive

    I didn’t say I wanted to delete the files. You can’t delete files from a pressed audio CD (there aren’t even any!). I said I wanted to delete the entries added to the SQLite database once the CD is ejected, for obvious reasons.

    There is a page in the nslu2 Linux wiki that reports encoding a 2:20 long MP3 from WAV taking seven minutes to perform. Just encoding (ripping not included) a full 60 minute CD would thus take some 190 minutes..

    Ripping is done on my HTPC running Mythbuntu. This takes much less time than 190 minutes.

    BTW how do you tell Firefly to rescan, via the terminal?

    #14599
    sonichouse
    Participant

    Sorry, misunderstood – you want to point firefly at the CD media, and then remove entries later.

    Forcing a rescan was described here http://forums.fireflymediaserver.org/viewtopic.php?t=6907&highlight=wget

    #14600
    Anonymous
    Inactive

    That’s exactly what I want! Thanx! πŸ™‚

    So back to the question at hand.
    Can Firefly stream CD audio, provided it was indexed properly?

    #14601
    rpedde
    Participant

    @W.Irving wrote:

    That’s exactly what I want! Thanx! πŸ™‚

    So back to the question at hand.
    Can Firefly stream CD audio, provided it was indexed properly?

    automount it in a way that exports the contents as wav (cdfs, or something similar) and kick off a rescan when it mounts (d-bus or something similar).

    Or, just rip them on your myth box and nfs mount the directory. that seems much more reasonable.

    #14602
    Anonymous
    Inactive

    @rpedde wrote:

    @W.Irving wrote:

    That’s exactly what I want! Thanx! πŸ™‚

    So back to the question at hand.
    Can Firefly stream CD audio, provided it was indexed properly?

    automount it in a way that exports the contents as wav (cdfs, or something similar) and kick off a rescan when it mounts (d-bus or something similar).

    CDFS looks like the way forward. I’ve tried it on my Ubuntu laptop and it accurately returns the tracks as WAV files. I’m not sure if CDFS will compile on the slug, but I’m assuming for now that it does.

    Scanning the mounted dir will pose a problem as the CD does not contain any metadata such as artist, album and track titles. Nor does the WAV format allow you to define such metadata (for example upon mounting the CD). I’m not sure what Firefly would do upon finding a bunch of supported files called “track-xx.wav” – possibly just add the songs as “Track-xx”.

    What about this procedure?
    When the CD is inserted, mount with CDFS at /media/cdrom
    Then execute a shell script that generates a m3u file at /media/mock_cd which contains the cddb information and paths to the tracks in /media/cdrom
    Tell Firefly to rescan /media/mock_cd and the new playlist should be available.

    Would this work?

    How do I remove the playlist from Firefly?
    I looked at the playlist table, and it contains a path field. Will this path field refer to the m3u file? If I delete the m3u file from /media/mock_cd and rescan that dir, will Firefly realise the playlist is gone, and delete the row from the playlist table?

    #14603
    rpedde
    Participant

    @W.Irving wrote:

    I’m not sure what Firefly would do upon finding a bunch of supported files called “track-xx.wav” – possibly just add the songs as “Track-xx”.

    Correct.

    What about this procedure?
    When the CD is inserted, mount with CDFS at /media/cdrom
    Then execute a shell script that generates a m3u file at /media/mock_cd which contains the cddb information and paths to the tracks in /media/cdrom
    Tell Firefly to rescan /media/mock_cd and the new playlist should be available.

    Sounds reasonable.

    If I delete the m3u file from /media/mock_cd and rescan that dir, will Firefly realise the playlist is gone, and delete the row from the playlist table?

    That is correct.

    On another thread, someone asked for more fine grained abilities to scan paths and whatnot, even down to a “scan this playlist” ability.

    It will be after I get the db backend redone, but that ability will be there soonish, I hope. That will make the whole process easier.

    — Ron

    #14604
    Anonymous
    Inactive

    I thank you, good sir, for your input and for a stellar work on this magnificent software!
    Time to brush up on my bash. Will post progress updates here as I go along.

Viewing 9 posts - 1 through 9 (of 9 total)
  • The forum ‘General Discussion’ is closed to new topics and replies.