Jump to content

undertow

Active Members
  • Posts

    14
  • Joined

  • Last visited

Posts posted by undertow

  1. i added the ability to change the login on the fly a while ago though it is not over the web interface. to change user:

    mono caster.exe -login

    Login successfully (it then exits)

    then call /rehashsettings on the web interface. After the next song it will change login. You should not use love/hate/station change/etc for the next two songs.

    Changing via the web interface won't happen for a few reasons:

    1. i'd have to implement SSL, as passing a paired user/pass in cleartext is just a bad idea to do

    2. the RPC mechanisms are not currently implemented in a way that allows testing a login before 'using' it

    3. changing users is an iffy process at best, it would honestly be better to just kill the caster and log in as another user then relaunch (or run multiple instances with different conf files)

    Well, I didn't really intended for the usage to be for "changing" users. Rather to configure it for the first time. Basically, just launch the app, connect to the web interface and enter the login details and music starts playing. ;)

    That being said, your previous reasons for not doing it still hold valid. I could write a utility to accommodate my needs and do what I need it to do if you were willing to provide the salt for your MD5 hashes.

  2. Something weird I've noticed:

    According to the Pandora FAQ:

    Just give a "Thumbs Down" vote to any two songs by that artist on a particular Pandora station, and that artist will not play on that station again.

    Now, I have to imagine that this handled server-side in it's entirety, but I'll be damned if I don't keep getting tracks played by a specific artist regardless of how many songs I've thumbed down. Is anyone else out there using this who can attest to the contrary? The only thing I can imagine is that my perhaps tracks aren't actually being rated negatively?

    I know for a fact that I've thumbed down at least 3-4 tracks from this specific artist previously. However, today alone, I've gotten 3 tracks by this artist -- the first 2 of which I thumbed down. :wacko:

  3. i've added a way for you to control mplayer remotely:[/b]

    mkfifo /tmp/mplayerfifio

    mplayer -slave -input file=/tmp/mplayerfifio (listen url)

    okay, now you have local output. Now, make a page called, say, playpause.html, in the www directory.

    In it, write <!--#exec write "/tmp/mplayerfifo|pause\n"-->

    Then open (url)/playpause.html

    With any luck, mplayer should now pause, and resume if you load it again.

    Perfect!

    Although I don't use mplayer, I use mpg123 -- the usage for this (for anyone else attempting this) is:

    mpg123 -R --fifo /tmp/fifo

    /nextsongex is now json, as you wanted

    Added IsPremium to status

    You're the best! Thanks again.

    I'm not sure if this is by design, but a /hatecurrent request does not skip to the next track, it continues to let the negatively rated track play. Is it possible to modify this behavior (much like /station/id) and allow the configuration file to determine the behavior?

  4. As usual, updates are running great. Solid as a rock! I've been away for the past week, so I haven't been able to continue or development on my interface until I got back. Thanks again for the updates!

    Added --fork, which launches in the background on windows. Unknown if it works on linux or not. It *should*, though it is not forking in the usual sense.

    Nope (in Linux).

    Unhandled Exception: System.ComponentModel.Win32Exception: ApplicationName='/mnt/hda1/caster/caster/caster.exe', CommandLine='', CurrentDirectory='' 
      at System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in &lt;filename unknown&gt;:0 
      at System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in &lt;filename unknown&gt;:0
      at System Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo) [0x00000] in &lt;filename unknown&gt;:0
      at Caster.CORE.Main (System.String[] args) [0x00000] in &lt;filename unknown&gt;:0

    Added /nextsongex, returns full next song info

    Would it be possible to get this in JSON format? Pretty-please? ;)

    A couple of things for the wish list

    -

    Ability to determine account level, (ie. free, premium, etc.) -- This information is provided in the stdout for Caster.exe, but being able to pull it externally would be nice (perhaps via /status ?)

    And, of course, local audio out would put this over the top. That's currently my crutch. Sure, streaming through mpg123 is great and all, except controlling mpg123 remotely is a PITA (and not very graceful). I understand it's not a simple task, I just wanted to keep it out there.. ;)

    * Edit: After thinking about it, if there's truly no way to get local audio output -- if an ability to 'pause' was added, this would eliminate the need to "control" mpg123 (or mplayer, etc) since it will ALWAYS be streaming.

    Thanks again! :D

  5. Update is working great, thanks for the additions!

    Since the album and artwork have been added to next artist in /status and /history, could we have it added to /nextsong as well? (or, alternatively, the option to have /status block until "Next*" populates as well? See below.)

    From what I can tell thus far, the "Next" information returned in /songchange never populates. I always have to poll /nextsong on /songchange. I'm not suprised, I imagine it takes a second or two for the /nextsong data to populate from the server -- however, if we could optionally have /songchange block until the "next" data is populated as well (or until a timeout is reached) it could effectively eliminate the need for /nextsong altogether.

    Just a thought. :)

    Thanks again for this, it's been a life saver!

  6. Local playback would honestly be a pain to implement, especially in a cross-platform compatible way. I have a library called naudio on windows, but it doesn't support mono in any way shape or form due to using dllimports to the windows api. Would be possible to add an auto-launch command, at least... putting a full built in player would be a pain.

    Understood. I can always just feed the stream into mplayer to get local output.

    Play pause is actually supported in a manner already - if all connected clients are not accepting data (or none are connected), playback is essentially paused. Winamp and mplayer stop accepting data when their buffer is full, so there you are.

    This works fine for the current implementation for sure. However (as mentioned above), I'll be streaming via mplayer on the PandoraCaster machine to simulate local audio out. This will always be connected, thus there will always be a client connected. My intent is to control PandoraCaster via a home automation system, so from the wireless remotes it would be ideal to issue a 'play/pause' to the stream, rather than having to hack together a shell interface to kill/execute mplayer.

    Can put in a history call, yeah. Will do that shortly.

    Fantastic. Thanks!

  7. So far, this is working perfectly! I'm interfacing with the API and controlling it via a custom front end. I do, however, have a couple of a suggestions I hope you could consider:

    * Local audio. The ability the hear audio on the machine hosting PandoraCaster (without streaming)

    - Ideally, I would like to toss this onto a headless machine and connect the line-out to my A/V receiver -- i.e. a Pandora appliance.

    * Play/pause support. Provided Local audio could be supported, the ability to play/pause the current media would be fantastic, perhaps via a /playpause call.

    * A JSON call for /history

    Functionality wise, so far things are solid. :)

  8. Updated. Now working again.

    I've got it installed and running (via mono), however, I'm unable to actually play any streams.

    The daemon appears to be running without issue:

    ** Now broadcasting S335219: In Flames - Colony (4:37)
    --- Listening on all interfaces, on port 3001 ---
    Server Name = box
    Broadcaster: Waiting for a listener to connect...
    S335219: Download completed
    S131197: Get URL http://audio-sjl-t3-1.pandora.com/access [...]
    S131197: File size 6327065; length 4:23
    ** Coming up next: Lamb of God - Blood Junkie
    S131197: Download completed
    Server: Loaded web resources; 4 entries
    WEBRES: A flash stream player is available at /res
    [192.168.40.179:55849]   GET /res/
    [192.168.40.179:55849]   GET /favico.ico
    [192.168.40.179:55849]   GET /res/minicaster.xml

    I can connect to the web interface, however, when I try to use the flash player -- nothing happens. The player loads, but it doesn't play anything.

    I've also tried playing the .pls file, again, nothing.

    * Edit: I've also tried on a WinXP machine. Same result.

×
×
  • Create New...