Commit graph

113 commits

Author SHA1 Message Date
f8eceba6c6 May now clear the playlist. 2011-08-25 16:33:17 +09:00
6e0762a0a0 Move idle state management directly into the queue push/pop functions. 2011-08-25 16:31:39 +09:00
5671d41659 Directly use empc-object in several functions. 2011-08-25 12:59:37 +09:00
3962b7de8f Rewrite the transfert queue #2/2: rewrite the transfert queue as part of empc.
Add plenty of accessors for empc-object.

  Thanks to those accessors the implementation of empc-object may be changed if
  I find a better idea than a weird tree-like structure.

Use the new queue management.

  Due to what I consider a weird behavior of the original tq, function called
  from the process-filter may now be properly debugged.

  Functions are now called outside any `with-current-buffer' macro so *empc*
  buffer also work as expected.

  It will now be possible to put idle commands directly in queue management.

Fix what was broken by previous commit.

  Every feature should work like before.
2011-08-24 18:36:33 +09:00
730902179e Rewrite the transfert queue #1: Replace several global variables by a single object. 2011-08-23 14:39:03 +09:00
7b65049e50 update the TODO file 2011-08-22 17:42:13 +09:00
7dcf627754 Update the TODO file. 2011-08-22 12:58:50 +09:00
a8f862e0c3 Add a keymap for the empc-playlist-mode and 2 macros to send commands with song id as parameter. 2011-08-19 15:40:34 +09:00
5f881d5a61 Refactor some functions to prepare for a proper empc-playlist-mode. 2011-08-19 15:39:53 +09:00
4676a37073 update the TODO file 2011-08-19 10:29:20 +09:00
96d9ef4bda Pulse when moving the cursor to the currently playing song in *empc* buffer 2011-08-19 10:29:07 +09:00
702624395d Fix the mode-line 2011-08-19 10:28:27 +09:00
e7d4bd426e Create a buffer *empc* containing the current playlist.
The buffer is rewritten when playlist changes and point follows the currently playing song.
2011-08-18 19:57:50 +09:00
0c46d0b8d1 Add simplistic facilities to write in the mode-line various informations. 2011-08-18 19:56:40 +09:00
36d917c633 Echo the error message, if any, in the minibuffer. 2011-08-18 17:14:54 +09:00
64afad8292 update the TODO file. 2011-08-18 17:10:49 +09:00
3726b60b0b Add notification for option changes (repeat, single, etc) 2011-08-16 18:38:12 +09:00
ac17003eeb Modify `empc-echo-song' to be able to be called as a command.
Without argument, echoes the currently playing song.
2011-08-15 19:13:49 +09:00
5e43a7a4f4 Don't release the stream-process pointer just because the client disconnects 2011-08-10 15:47:33 +09:00
85add54a72 Allow the use of command_lists through `empc-send-list'. 2011-08-10 15:46:12 +09:00
79ac4c2a6e Fix an error in `empc-response-get-status' when there is nothing to notify. 2011-08-10 14:35:32 +09:00
3fc46f0b54 Update the TODO file. 2011-08-09 16:50:46 +09:00
25a569d640 string-to-int' is obsolete, so use string-to-number' 2011-08-09 16:47:35 +09:00
33c1a8797a Rewrite the way the status is retrieved.
Compute a diff between `empc-current-status' and the server response to know more easily what has changed.
2011-08-09 16:43:44 +09:00
1819c8b28e Fix comment. 2011-08-09 16:43:13 +09:00
41e1d812ea Keep the stream process in `empc-stream-process' variable.
Check the process is not yet running in `empc-stream-start'.
Rewrite the sentinel for `empc-stream-process' for better management.
2011-08-09 16:39:48 +09:00
c7134bc11d Update the TODO file. 2011-08-09 12:23:28 +09:00
2ecb67957b Update the TODO file. 2011-08-05 15:53:52 +09:00
cb7856fc15 Start the streaming process when receiving an idle interruption.
When the stream is started using another client, empc will still be able to play
the stream, provided it is connected to the server.
2011-08-05 15:44:06 +09:00
d461203139 Revive the `with-updated-status' macro which updates the status before sending the command specified. 2011-08-05 15:32:10 +09:00
92959c5cb5 Add a `\n' at the end of command when sent without argument. 2011-08-05 15:30:50 +09:00
4575a05167 Allow the call of multiple closures when getting the server response.
Each closure is called in turn with the parsed data as argument.
2011-08-05 15:29:10 +09:00
08b12abc1a Code Layout. 2011-08-05 12:43:03 +09:00
c2b285e94a Update the TODO file. 2011-08-05 12:42:45 +09:00
8961e871fb Revert to :file field if :artist or :title doesn't exist when notifying songs. 2011-08-04 19:03:03 +09:00
1dabcb7d52 Playlist number starts at 1 2011-08-03 14:03:12 +09:00
b17f0abbab Always echoes notification in the echo area 2011-08-03 14:02:45 +09:00
d0e8c6491f Update the TODO file. 2011-08-03 14:01:58 +09:00
92a5e0db83 Modify TODO file 2011-07-28 18:30:26 +09:00
10db6dd0c9 Fix a typo in a function call 2011-07-25 13:40:33 +09:00
402451d53d update the TODO file 2011-07-20 18:09:14 +09:00
74a0f27342 Play the streaming program when sending `play' command 2011-07-20 18:08:54 +09:00
35de475aaf Change the song notify format string. 2011-07-20 15:10:41 +09:00
eb30f79e2e Change the way the playlist is stored.
Store the playlist as a hash table using songid as keys.
Keep also an avector to store the songs order in the playlist.
2011-07-20 15:07:37 +09:00
2025b0870f Update the TODO file 2011-07-20 15:04:27 +09:00
074727bdbc Add several commands declarations and use them throughout the code.
Also append a `\n' to the commands directly inside the macro.
2011-07-20 15:04:27 +09:00
b574ab150e Fix playlist parsing.
songs informations are delimited by the `id' keyword.
songs may specify several times the same keyword (if this keyword is not :time, :track, :date, :pos or :id).
2011-07-20 10:25:59 +09:00
853fe33bc7 Fix currently playing song notify. 2011-07-20 09:41:41 +09:00
4e414e55f9 Rewrite `empc-update-status' to report (correctly) only the relevant messages 2011-07-19 19:13:42 +09:00
b8f31a51b9 destroy all variables upon disconnection 2011-07-19 19:12:35 +09:00