exaile / exaile-ideas

Repository that holds ideas for Exaile submitted by users
0 stars 0 forks source link

[StreamRipper] Always record #10

Open GreenLunar opened 9 years ago

GreenLunar commented 9 years ago

Please read the following suggestion carefully. I apologies for being too verbal.

Scenario: Kimberly listens to a rare 05:00 minutes long music track of a rare genre, then Kimberly realizes that she really likes that music track, but, unfortunately, she has started to record the track from minute 03:00, and that music track is either rare or is either misnamed, thus she can not find further information about it.

Proposed solution: When plugin StreamRipper is enabled and a stream is being played, always record a currently played track; recorded track be delete when music track has changed and user did not press on Record button while last track was played.

Result: At the moment Kimberly presses on button Record, a currently played music track is not being deleted, it is kept along with next music tracks, until she stops to record on her demand.

sjohannes commented 9 years ago

Makes sense. It looks difficult to make it compatible with the single_file mode, but we can just add it as a separate mode and have an option between the three.

I'd love for the normal mode to be removed, but due to how the plugin works (it opens a separate download stream), that won't be very nice for people with limited bandwidth.

GreenLunar commented 9 years ago

It looks difficult to make it compatible with the single_file mode.

By single_file mode, do you mean stream with a static title? In such case, I think Exaile should start catching a stream only on first title change.

I'd love for the normal mode to be removed, but due to how the plugin works (it opens a separate download stream), that won't be very nice for people with limited bandwidth.

You can do it by creating a relay server using -r argument and listen to http://127.0.0.1:8000 (preferably) or http://localhost:8000. From man streamripper:

       -r [base port]
           Create a relay server on base port, defaults to port 8000
       Creates a relay server on base port. if base port is not specified it
       defaults to 8000, otherwise whatever you entered for base port. Note
       that if the -z option is not used, it will keep trying higher ports if
       the port is unavailable.

This is how I listen and record at the same time; 1 streamripper http://streamip:port/ -r

  1. mplayer http://127.0.0.1:8000/