tool-bar for emms

View: New views
4 Messages — Rating Filter:   Alert me  

tool-bar for emms

by Joakim Verona :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Heres a patch to enable tool-bars in the emms playlist mode.

It uses icons from the emacs tree, and its only tested on emacs23.
I have FSF papers for emacs.


diff --git a/AUTHORS b/AUTHORS
index 915dabd..559eb9d 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -19,6 +19,7 @@ Ulrik Jensen <terryp@...>
 William Xu <william.xwl@...>
 Ye Wenbin <wenbinye@...>
 Yoni Rabkin Katzenell <yoni-r@...>
+Joakim Verona <joakim@...>
 
 ;; Local variables:
 ;; coding: utf-8
diff --git a/lisp/emms-playlist-mode.el b/lisp/emms-playlist-mode.el
index f5daa25..c387eb2 100644
--- a/lisp/emms-playlist-mode.el
+++ b/lisp/emms-playlist-mode.el
@@ -52,6 +52,8 @@
 (defvar emms-playlist-mode-popup-enabled nil
   "True when the playlist was called as a popup window.")
 
+(defvar tool-bar-map)
+
 (make-variable-buffer-local
  'emms-playlist-mode-selected-overlay)
 
@@ -149,6 +151,22 @@ This is true for every invocation of `emms-playlist-mode-go'."
     map)
   "Keymap for `emms-playlist-mode'.")
 
+
+(defvar emms-playlist-tool-bar-map
+  (let ((map (make-sparse-keymap)))
+    (dolist (x '((emms-previous . "prev-node")
+                 (emms-next   .   "next-node")
+                 (emms-seek-backward .   "left-arrow")
+                 (emms-seek-forward .   "right-arrow")
+                 (emms-stop .  "gud/stop")
+                 (emms-playlist-mode-play-smart .  "gud/go"))
+               map)
+      (tool-bar-local-item
+       (cdr x) (car x) (car x)  map  emms-playlist-mode-map))))
+
+
+
+
 (defmacro emms-playlist-mode-move-wrapper (name fun)
   "Create a function NAME which is an `interactive' version of FUN.
 
@@ -603,6 +621,7 @@ WINDOW-WIDTH should be a positive integer."
     (setq emms-playlist-buffer-p val))
 
   (use-local-map emms-playlist-mode-map)
+  (set (make-local-variable 'tool-bar-map) emms-playlist-tool-bar-map)
   (setq major-mode 'emms-playlist-mode
  mode-name "EMMS")
 


--
Joakim Verona

_______________________________________________
Emms-help mailing list
Emms-help@...
http://lists.gnu.org/mailman/listinfo/emms-help

Re: tool-bar for emms

by Joakim Verona :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

joakim@... writes:

> Heres a patch to enable tool-bars in the emms playlist mode.
>
> It uses icons from the emacs tree, and its only tested on emacs23.

Hey, now I tested it on emacs 23 on the freerunner also :)

mplayer works ok, but you need to renice it to not get stutters.

it would also be nice with an emms interface to the alsa mixer.



> I have FSF papers for emacs.
>
> diff --git a/AUTHORS b/AUTHORS
> index 915dabd..559eb9d 100644
> --- a/AUTHORS
> +++ b/AUTHORS
> @@ -19,6 +19,7 @@ Ulrik Jensen <terryp@...>
>  William Xu <william.xwl@...>
>  Ye Wenbin <wenbinye@...>
>  Yoni Rabkin Katzenell <yoni-r@...>
> +Joakim Verona <joakim@...>
>  
>  ;; Local variables:
>  ;; coding: utf-8
> diff --git a/lisp/emms-playlist-mode.el b/lisp/emms-playlist-mode.el
> index f5daa25..c387eb2 100644
> --- a/lisp/emms-playlist-mode.el
> +++ b/lisp/emms-playlist-mode.el
> @@ -52,6 +52,8 @@
>  (defvar emms-playlist-mode-popup-enabled nil
>    "True when the playlist was called as a popup window.")
>  
> +(defvar tool-bar-map)
> +
>  (make-variable-buffer-local
>   'emms-playlist-mode-selected-overlay)
>  
> @@ -149,6 +151,22 @@ This is true for every invocation of `emms-playlist-mode-go'."
>      map)
>    "Keymap for `emms-playlist-mode'.")
>  
> +
> +(defvar emms-playlist-tool-bar-map
> +  (let ((map (make-sparse-keymap)))
> +    (dolist (x '((emms-previous . "prev-node")
> +                 (emms-next   .   "next-node")
> +                 (emms-seek-backward .   "left-arrow")
> +                 (emms-seek-forward .   "right-arrow")
> +                 (emms-stop .  "gud/stop")
> +                 (emms-playlist-mode-play-smart .  "gud/go"))
> +               map)
> +      (tool-bar-local-item
> +       (cdr x) (car x) (car x)  map  emms-playlist-mode-map))))
> +
> +
> +
> +
>  (defmacro emms-playlist-mode-move-wrapper (name fun)
>    "Create a function NAME which is an `interactive' version of FUN.
>  
> @@ -603,6 +621,7 @@ WINDOW-WIDTH should be a positive integer."
>      (setq emms-playlist-buffer-p val))
>  
>    (use-local-map emms-playlist-mode-map)
> +  (set (make-local-variable 'tool-bar-map) emms-playlist-tool-bar-map)
>    (setq major-mode 'emms-playlist-mode
>   mode-name "EMMS")
--
Joakim Verona



_______________________________________________
Emms-help mailing list
Emms-help@...
http://lists.gnu.org/mailman/listinfo/emms-help

Re: Re: tool-bar for emms

by Tassilo Horn-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

joakim@... writes:

Hi Joakim,

> it would also be nice with an emms interface to the alsa mixer.

There's emms-volume.el which uses amixer (via emms-volume-amixer.el) by
default.  Is that what you mean?

Bye,
Tassilo
--
Richard Stallman is the architect of the matrix.


_______________________________________________
Emms-help mailing list
Emms-help@...
http://lists.gnu.org/mailman/listinfo/emms-help

Re: tool-bar for emms

by Joakim Verona :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tassilo Horn <tassilo@...> writes:

> joakim@... writes:
>
> Hi Joakim,
>
>> it would also be nice with an emms interface to the alsa mixer.
>
> There's emms-volume.el which uses amixer (via emms-volume-amixer.el) by
> default.  Is that what you mean?

Kind of. I was going to add buttons for volume, but didnt find any
suitable among the emacs icons.

I'm not sure what I want. Something like this:
- simple volume controls
- advanced controls like alsamixer shows, bass and treble for instance
- some way of changing the alsa state files
- some way of reacting to an incomming call(via dbus), lower the volume
of the emms player and allow phone audio.

Not very well thought out, but something like that.

>
> Bye,
> Tassilo
--
Joakim Verona



_______________________________________________
Emms-help mailing list
Emms-help@...
http://lists.gnu.org/mailman/listinfo/emms-help