Discussion:
A tangible remote control to CMus
Martin Peres
2011-06-14 01:38:52 UTC
Permalink
Hi CMusers,

Just wanted to drop by and say how I love CMus. I particularly love how
gapless it is :). I also love the fact it can run on a tty because I
often find myself rebooting X (I'm a nouveau developer).

In fact, I've used CMus on a personal hardware project that was to
create a physical interface between me and my audio player.

You can watch the final result here: http://mupuf.org/blog/article/51/

I have used this device daily ever since I finished it (~3 months ago}
and I love it as much as I love CMus.

I hope you like it too ;)

Martin

PS: I may get back to you later on because I'm working on a Qt-based
frontend to CMus and playlists aren't exported through cmus-remote :s
Johannes Weißl
2011-06-14 10:30:23 UTC
Permalink
Post by Martin Peres
Just wanted to drop by and say how I love CMus. I particularly love how
gapless it is :). I also love the fact it can run on a tty because I
often find myself rebooting X (I'm a nouveau developer).
Great! It is always good to get such a positive feedback :-)!
Post by Martin Peres
In fact, I've used CMus on a personal hardware project that was to
create a physical interface between me and my audio player.
You can watch the final result here: http://mupuf.org/blog/article/51/
Hehe, that is really cool :-). Since I lack any hardware-related skills,
I probably would have just bought a cheap additional computer (netbook?)
to play sound from... this of course has far more style!
Post by Martin Peres
PS: I may get back to you later on because I'm working on a Qt-based
frontend to CMus and playlists aren't exported through cmus-remote :s
Hmm, this should work already using e.g.:
cmus-remote -C "save -p -"
(you have to use a recent version of cmus)

I wonder though if the cmus-remote method is flexible and fast enough to
create a full-fledged graphical frontend for cmus... it certainly wasn't
designed for it. E.g. live-filtering probably won't work. But still, if
you have a prototype somewhere I'm very interested in testing it!


Greetings,
Johannes
Paul van der Walt
2011-06-14 10:35:42 UTC
Permalink
Hi,
...graphical frontend for cmus...
Eek, GUI's are so 1998. Just kidding, I guess for some things
they're practical (still waiting for an Adobe Photoshop CLI
though...).

No, cool device indeed, and kudos for the h/w hacking skills! :)
Nice to see the different things something like cmus-remote
allows creative people to do.

Paul
--
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
a.l.e
2011-06-14 12:10:35 UTC
Permalink
hi
Post by Paul van der Walt
Eek, GUI's are so 1998. Just kidding, I guess for some things
they're practical (still waiting for an Adobe Photoshop CLI
though...).
would you mind typing commands to scribus (something similar to
indesign... just much better... ehm ehm...) through IRC?

... i must get it to work one of these days...

ciao
a.l.e
Martin Peres
2011-06-15 00:12:56 UTC
Permalink
Post by Paul van der Walt
Hi,
...graphical frontend for cmus...
Eek, GUI's are so 1998. Just kidding, I guess for some things
they're practical (still waiting for an Adobe Photoshop CLI
though...).
;) Well, QCmus could allow the creation of a plasmoid for KDE, wouldn't
this be nice to have an audio player highly integrated to the desktop?
Post by Paul van der Walt
No, cool device indeed, and kudos for the h/w hacking skills! :)
Nice to see the different things something like cmus-remote
allows creative people to do.
Thanks for thinking about the "scriptability" of CMus! It saved me a lot
of time!
Post by Paul van der Walt
Paul
Paul van der Walt
2011-06-15 09:38:22 UTC
Permalink
Post by Martin Peres
;) Well, QCmus could allow the creation of a plasmoid for KDE, wouldn't
this be nice to have an audio player highly integrated to the desktop?
Haha, just the other day I had a friendly/heated discussion with
a dude about integration. Summary: I'm not such a fan, but don't
let that stop anyone :) I just happen to like primitive
(xmonad+gnu screen is enough for me). Flashy widgets and mice
and desktop 'environments' just annoy me :p

...but this rant is purely for amusement, and doesn't reflect
what I think should or shouldn't happen with cmus. Also, I'm
not really a cmus developer, so I don't feel I have much of a
say anyway.

Paul :)
--
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
Martin Peres
2011-06-15 00:09:51 UTC
Permalink
Post by Johannes Weißl
Post by Martin Peres
Just wanted to drop by and say how I love CMus. I particularly love how
gapless it is :). I also love the fact it can run on a tty because I
often find myself rebooting X (I'm a nouveau developer).
Great! It is always good to get such a positive feedback :-)!
You're welcome. Keep the good work up ;)
Post by Johannes Weißl
Post by Martin Peres
In fact, I've used CMus on a personal hardware project that was to
create a physical interface between me and my audio player.
You can watch the final result here: http://mupuf.org/blog/article/51/
Hehe, that is really cool :-). Since I lack any hardware-related skills,
I probably would have just bought a cheap additional computer (netbook?)
to play sound from... this of course has far more style!
Well, a beagleboard could have done the trick with some trickery but the
price tag
was too high (~150€). Also, what is the fun of programming an ARM
complete platform compared
to a really low-power solution?
Post by Johannes Weißl
Post by Martin Peres
PS: I may get back to you later on because I'm working on a Qt-based
frontend to CMus and playlists aren't exported through cmus-remote :s
cmus-remote -C "save -p -"
(you have to use a recent version of cmus)
Hmm, I was talking about getting the tracks from a playlist to display
them in the frontend.
Post by Johannes Weißl
I wonder though if the cmus-remote method is flexible and fast enough to
create a full-fledged graphical frontend for cmus... it certainly wasn't
designed for it. E.g. live-filtering probably won't work. But still, if
you have a prototype somewhere I'm very interested in testing it!
Well, I don't care about cmus-remote's performance, I have
re-implemented the protocol in C++. This isn't a difficult one.

I may reach to you in a not too distant future with patches to implement
a "push" mode where the remote control would stay connected to cmus and
get events from it (song changed, position changed, status changed).

Are you interested in them if they are not too invasive?
Johannes Weißl
2011-06-15 03:43:03 UTC
Permalink
Hello Martin,
Post by Martin Peres
Post by Johannes Weißl
Post by Martin Peres
PS: I may get back to you later on because I'm working on a Qt-based
frontend to CMus and playlists aren't exported through cmus-remote :s
cmus-remote -C "save -p -"
(you have to use a recent version of cmus)
Hmm, I was talking about getting the tracks from a playlist to display
them in the frontend.
Well, I guess this is only possible if you save the current playlist to
memory or a temporary file, load the new playlist, export it, and load
back the old playlist. Multiple (simultaneously) playlists are on the
TODO list though!
Post by Martin Peres
Post by Johannes Weißl
I wonder though if the cmus-remote method is flexible and fast enough to
create a full-fledged graphical frontend for cmus... it certainly wasn't
designed for it. E.g. live-filtering probably won't work. But still, if
you have a prototype somewhere I'm very interested in testing it!
Well, I don't care about cmus-remote's performance, I have
re-implemented the protocol in C++. This isn't a difficult one.
I meant the performance of the text protocol, I guess cmus-remote is
pretty fast already. The text protocol is really simple and not
implemented very well, since it was just meant as a way to remote
control cmus, not as a "real" client-server protocol.
Post by Martin Peres
I may reach to you in a not too distant future with patches to implement
a "push" mode where the remote control would stay connected to cmus and
get events from it (song changed, position changed, status changed).
Are you interested in them if they are not too invasive?
This sounds like you want to turn cmus into mpd/xmms2 :-). Unlike cmus,
mpd has all those features already. It is up to the current maintainer
(Gregory) to decide. What are the wanted features of your Qt interface?
Is it just a (simple) widget to add songs / display current song /
queue, or do you aim to have a "real" audio player?


Johannes
Jason Woofenden
2011-06-15 03:44:17 UTC
Permalink
Post by Martin Peres
Post by Johannes Weißl
Post by Martin Peres
PS: I may get back to you later on because I'm working on a Qt-based
frontend to CMus and playlists aren't exported through cmus-remote :s
cmus-remote -C "save -p -"
(you have to use a recent version of cmus)
Hmm, I was talking about getting the tracks from a playlist to display
them in the frontend.
That's what the command does, it outputs the playlist to
cmus-remote's stdout. If you add -e like this:

cmus-remote -C "save -p -e -"

it'll output metadata on each of the tracks on the playlist too.
Post by Martin Peres
I may reach to you in a not too distant future with patches to implement
a "push" mode where the remote control would stay connected to cmus and
get events from it (song changed, position changed, status changed).
Do you know about status_display_program? You can set a shell
script that cmus will execute whenever the play state changes. It
doesn't appear to be triggered by seeks, but certainly by track
changes and play/pause, stop, next/prev, etc.
Post by Martin Peres
Are you interested in them if they are not too invasive?
I can't speak for the group, but my sense is that patches which
duplicate (even in part) existing functionality, and to a large
extent patches (or feature requests) for things that can be done in
external scripts tend not to make it into the code base.

For best results (most likely merging) I suggest writing to this
list, describing what you want to accomplish, (and if you have a
plan already, how you're thinking of implementing it.) Through the
discussion we will discover if there is satisfactory solution with
the existing cmus features, and/or what sort of change (if any)
would be welcomed into the code base.


Take care, - Jason
gt
2011-06-14 11:41:43 UTC
Permalink
Post by Martin Peres
Hi CMusers,
Just wanted to drop by and say how I love CMus. I particularly love how
gapless it is :). I also love the fact it can run on a tty because I
often find myself rebooting X (I'm a nouveau developer).
Even better option, run it inside gnu screen or tmux, and you won't even
have to log in to a virtual console.
Martin Peres
2011-06-15 00:15:50 UTC
Permalink
Post by gt
Post by Martin Peres
Hi CMusers,
Just wanted to drop by and say how I love CMus. I particularly love how
gapless it is :). I also love the fact it can run on a tty because I
often find myself rebooting X (I'm a nouveau developer).
Even better option, run it inside gnu screen or tmux, and you won't even
have to log in to a virtual console.
You have a point there :) Screen is awesome but still, I like people to
be able to add music without me telling them to press the "5" key, use
the keyboard to choose the right folder and then press y to add musics
to the current playlist ;)
Loading...