You are here: Home » Topic » DaapPlaylistGenerator

DaapPlaylistGenerator

This topic contains 30 replies, has 6 voices, and was last updated by  EVILRipper 7 years, 6 months ago.

Viewing 15 posts - 1 through 15 (of 31 total)
  • Author
    Posts
  • #2021

    EVILRipper
    Participant

    Good day!

    Actually, for those who have used (tried? hehe) the older DaapPlaylistGenerator, this is DaapPlaylistGenerator #2. The first one was made in Java, was slow, and was coded rather ugly.

    This new version was made with C++/MFC, and has more error handling. Also, it should support more than just mp3s. Can anyone test this? I have MP3’s only. 🙂

    What does it do, actually?
    As the name says, it generates a playlist. It connects to a Firefly MediaServer, retrieves the songlist, and generates a .m3u or .xspf playlist. Technically, this is no more than a list of streams.

    Why should I use it?
    Well, my main reason I created it in the first place, was to use Firefly using Winamp. These days Winamp has excellent stream handling (fast forward, play/pause, etc) so in my experience, it feels like you are playing songs from your harddisk. For the record, I hate iTunes. Sorry for all you iTunes lovers. You don’t need this, because iTunes has his own client to connect to Firefly. (Through Rendezvousproxy, if done remotely, harr!)

    How does it work?
    Um, quite simple. You enter the address of your server. Whether it’s a local IP, remote IP or a domain (http://myserver.com), it should all work. Leave the port to 3689 unless you changed the port yourself.
    Next you should enter a path where the playlist will be created. This can be a relative path (dir/RemotePlaylist.m3u), or an absolute one (C:dirRemotePlaylist.m3u).

    Sounds good! Where do I get it?
    Right here: Click! 🙂

    Technical Stuff
    The request way uses DAAP protocol. This way is way more efficient than RSP let alone XML.
    Example:
    File size of 2304 songs in DAAP: 214,605 bytes (A 209KB download)
    File size of 2304 songs in XML : 585,555 bytes (A 571KB download)
    This is a big difference, even worse when you have 10.000+ songs!
    I only have 2304 songs due to a HardDisk which recently died… *sniff*

    Music Password
    The program now supports passwords on music.

    XSPF Support
    Yes indeed, DaapPlaylistGenerator can now generate in XSPF too! Simply select .xspf from the playlist type, and Generate away!

    Any questions or feedback are greatly appreciated.

    #15134

    mas
    Participant

    1) The program times out at “receiving songlist”.

    Could that be because it doesnt like the fact that my server has a music password?

    2) When I enter not the IP but the URL of my server then it drops with an exception and bang the prog is gone.

    That is strange. Maybe that is because I run a port forward 80->3689 on the external URL and it doesnt like this?

    #15135

    EVILRipper
    Participant

    @mas wrote:

    1) The program times out at “receiving songlist”.

    Could that be because it doesnt like the fact that my server has a music password?

    Probably, yes. I have no password on my music, because a stream in winamp will not work if it has a password on it. So I’m afraid it will only work if no password is needed.
    I will think of a solution for this problem, since I want to put a password on my music too, but not sure how to stay logged in while streaming.

    @mas wrote:

    2) When I enter not the IP but the URL of my server then it drops with an exception and bang the prog is gone.

    I doubt this has anything to do with a port forward. If your server can be reached with that port by a simple HTTP request, it should work.

    I did some more testing, and he seems to be very picky on URLs. 😛
    “http://” is -required-.
    A tracing “/” will make it unable to find the url. (hehe, should place the GetUrl in a thread instead of the program’s main thread.)

    These will be fixed in the next release.
    However, I have no idea how the program could crash. Possibly because of the password on your music?

    [edit]
    I just put a password on my music. iTunes asks for a password now. The program seems to not care, and generate a playlist anyway. Also, winamp seems to be able to stream too. So either the server sees this is all happening local and allows, or the password isn’t just as safe as it should be. I will try this with password on at my work tomorrow.
    [/edit]

    #15136

    EVILRipper
    Participant

    Okay, I seem to have found the problem. It doesnt work with a nightly, hehe.
    So I’ll fix it as soon as I get home.

    #15137

    EVILRipper
    Participant

    And there we go. Updated the program with a little more error handling on the url, and it now supports a password on music.
    Also, the new version should work on the latest nightly (1696).

    Please, feel free and try it out. 🙂

    #15138

    cstern
    Participant

    Here it breaks down. The mt-daapd.log file says

    2007-12-10 21:51:04 (0004c003): Error writing to client socket: Broken pipe

    (hundreds of times)

    and the windows program shuts down with a generic error message.

    #15139

    EVILRipper
    Participant

    Why do my applications never work on other systems?

    Could you give me some more info on your situation?
    Like what you are running firefly on, which version it is, and average amount of songs? Were you using a password? What does it say on a higher level of debug?

    Also, I found another topic with the same problem. Couldn’t really figure out why he had the same error. Bad client?
    Found here: Click!

    Possibly a background scan which is making it break?

    Let me know if you find anything, I’d like to get this thing running on another system than just mine. 🙂



    Also, I have added another function to the generator. I have seen several topics asking for XSPF playlist support. Well, I did some research and made an option to select .xspf instead of .m3u. I hope this addition is useful to someone. 🙂

    #15140

    cstern
    Participant

    @evilripper wrote:

    Why do my applications never work on other systems?

    Could you give me some more info on your situation?
    Like what you are running firefly on, which version it is, and average amount of songs? Were you using a password? What does it say on a higher level of debug?

    on a Synology box (DS107e), nightly SV-1696, no password. 24000 songs (breaks immediately, however). Will try higher debug level later.

    @evilripper wrote:

    Possibly a background scan which is making it break?

    I have turned off background scan both for the Syno box and Firefly

    #15141

    mas
    Participant

    Here my report.

    Now it manages to download and create a playlist.

    But that is it. Something in the clients I tried (I tried VLC, AIMP2 and foobar) isnt very fireflyfriendly. They manage to shoot down the mt-daapd with an out-of-memory error.
    Some simply get me a file not found and some fill the log file of firefly with crap.

    Cant say where the bug is. Likely a bit with mt-daapd and also with the streaming progs and your playlist. Something just doesnt work together.

    See this for details:
    http://forums.fireflymediaserver.org/viewtopic.php?p=17101#17101

    #15142

    EVILRipper
    Participant

    I’m glad it works on at least another system.
    I must admit I haven’t tested other media players than Winamp, which has no problem with reading a stream.
    Well, it does work in WindowsMediaPlayer, but he ignores any tag info from the .m3u and displays id’s only.

    As you can see I have only tested windows clients. I guess I could test more media players tomorrow, and possibly find a way to support them.

    Thanks for the feedback!

    #15143

    EVILRipper
    Participant

    Time to keep track of a changelog..

    *********************
    ** 11-dec-07 - 0.2.1
    *********************
    ** - Fixed XSPF Playlists. (No more %20 instead of spaces)
    ** - Removed password from output file
    ** - Fixed bug after generating more than one playlist in a row
    **

    I would really appreciate anyone testing, and especially letting me know if it worked or not.
    Also, I would really appreciate any ideas to further improve this application’s functionality.

    Kind regards,
    Erik

    #15144

    T-bird
    Participant

    Just DL your program v 0.2.1

    Can’t start the prog, get an error messages saying something about “the program configuration is wrong”

    #15145

    EVILRipper
    Participant

    I finally found the time to spend more time improving DPG.
    I guess alot of people had trouble running the app, because I forgot to include all libraries for non-developers. (hehe, woops.)
    If you find any more difficulties or would like another feature, let me know. 🙂

    *********************
    ** 20-dec-07 - 0.3.0
    *********************
    ** - Included libraries for non-developers. (Woops!)
    ** - Multithreaded application. In short, the window won't hang anymore when downloading songlist.
    **
    ** Known Bug(s)
    ** - Playlist not generated when dragging window when songlist is downloaded.
    **
    #15146

    cstern
    Participant

    @evilripper wrote:

    I finally found the time to spend more time improving DPG.
    I guess alot of people had trouble running the app, because I forgot to include all libraries for non-developers. (hehe, woops.)
    If you find any more difficulties or would like another feature, let me know. 🙂

    Still crashes. I can see in the debug dump (Windows standard error info) that the titles actually are being downloaded but at a certain point it crashes. Could it be a buffer overrun? Do you write out the data sequentially or do you retrieve the data to memory? I have about 24000 songs and perhaps that fills the memory you have set aside for the list. If you can make a version which writes after each, say, 100 songs, I’d be happy to test it for you. I understand it will probably be much slower but the other version certainly doesn’t work for me…

    #15147

    EVILRipper
    Participant

    You’re probably right. The list is currently limited to 500 * 1024 = 512000 bytes.

    Could you try downloading the raw DAAP songlist?
    Run the following URL and it should show you a download for a xdmap-tagged file. Please check the size of that file. (in bytes ofcourse)

    Without password:
    http://:3689/databases/1/items?type=music&meta=dmap.itemid,dmap.itemname,daap.songartist,daap.songtime,daap.songformat

    With password:
    http://dummy:

    But indeed I guess this exceeds the 512000 limit..

    [edit]Err. I am 100% thats the one causing it. 4140 songs create a filesize of 413795 bytes. Let alone 24000 songs.[/edit]

    [edit2]
    *sigh* C++ causes a buffer overflow when trying to allocate more than ~900000 bytes. So I guess I’ll have to do it another way. Could you try a different URL instead:

    Without password:
    http://:3689/databases/1/items?type=music&meta=dmap.itemname

    With password:
    http://dummy:

    And could you tell me how much bytes this URL generates? Thanks!
    [/edit2]

    Kind regards,
    Erik

Viewing 15 posts - 1 through 15 (of 31 total)

You must be logged in to reply to this topic.