Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow external control #32

Open
dbrgn opened this issue Oct 15, 2013 · 4 comments
Open

Allow external control #32

dbrgn opened this issue Oct 15, 2013 · 4 comments

Comments

@dbrgn
Copy link
Owner

dbrgn commented Oct 15, 2013

Could be used e.g. for multimedia keys using xbindkeys.

I'm not sure yet what the best way to implement this would be.

@octogene
Copy link
Contributor

We could add MPRIS2 support as it would also allow us to add other nice features.
There is an implementation of MPRIS2 in python for mpd (eonpatapon/mpDris2) that could give us some hints at how to implement it.

@dbrgn
Copy link
Owner Author

dbrgn commented Oct 15, 2013

Sounds doable. I'll take a look at it sometime.

@quigybo
Copy link
Contributor

quigybo commented Oct 19, 2013

I would also recommend going with MPRIS2, this would allow orochi to be
controlled by a large number of existing clients.

If we keep most of the logic in the api, then we could have a number of
clients/frontends as thin wrappers around the api. The MPRIS2 interface could
be one wrapper that runs as a daemon, and the current command-line client could
be another. We could also provide a small MPRIS2 command-line client, similar
to mpc.

It would however be nice to be able to control the current client with MPRIS2,
I wonder what the best way to achieve this would be? Would this require going
as far as moving to a client/server architecture?

@dbrgn
Copy link
Owner Author

dbrgn commented Oct 19, 2013

Hm, a background thread or process would probably be enough to handle MPRIS2 events and call api functions. The problem is that the current client.py is stateful won't notice those changes.

Maybe a separate process that handles MPRIS2 and sends unix signals to the client could work? The problem is that SIGUSR1 and SIGUSR2 are already taken.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants