[PATCH] Add dueling playlists

Samium Gromoff <[email protected]> Wed, 01 Feb 2006 07:35:36 +0300
Newsgroups gmane.comp.multimedia.xmms.devel
Message-ID <[email protected]>
--=-mmPEqiJO+BHgkc1IDgtV
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Hello,

The need to have a neat way to cherrypick favorites out of the playlist
prompted me to write something which i call "dueling playlists".

In essence, i just did the following:

01_add_struct_xmms_playlist.diff:

	- separated out the glists for play-/queue-/shuffle- lists and
  the playlist_position in a new struct xmms_playlist
	- introduced the notion of active_playlist
	- converted most functions in playlist.c to take
  struct xmms_playlist as an argument
	- converted all external callers to use active_playlist

02_add_dueling_playlists.diff:

	- added keybindings into the main and playlist windows to cycle
  between playlists
	- added keybindings into the main and playlist windows to add
  the currently playing song in the active playlist into the hidden
  playlist.

The patches against 1.2.10 are attached, but also accessible
alternatively as:

  ftp://80.92.100.69/code/xmms/01_add_struct_xmms_playlist.diff
  ftp://80.92.100.69/code/xmms/02_add_dueling_playlists.diff


regards, Samium Gromoff

--=-mmPEqiJO+BHgkc1IDgtV
Content-Disposition: attachment; filename=01_add_struct_xmms_playlist.diff.gz
Content-Type: application/x-gzip; name=01_add_struct_xmms_playlist.diff.gz
Content-Transfer-Encoding: base64

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
/webReJ/k4QBAI==


--=-mmPEqiJO+BHgkc1IDgtV
Content-Disposition: attachment; filename=02_add_dueling_playlists.diff.gz
Content-Type: application/x-gzip; name=02_add_dueling_playlists.diff.gz
Content-Transfer-Encoding: base64

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


--=-mmPEqiJO+BHgkc1IDgtV
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
xmms-devel mailing list
[email protected]
http://lists.xmms.org/mailman/listinfo/xmms-devel

--=-mmPEqiJO+BHgkc1IDgtV--