Commit Graph

62 Commits

Author SHA1 Message Date
deb45a4570
Make entire project async
This moves all communication with Mpv's unix socket into another tokio
task, and uses message passing through clonable mpsc channels to receive
commands to execute, and to send responses.
2024-04-19 00:59:22 +02:00
f5c9674b78
Misc: refactor + serde serialization derives
- Split content into more files
- Refactor TypeHandler impls
- Add serialization traits to public structs/enums
2024-04-16 23:11:19 +02:00
6d2575b940
Add Clone and Copy to several public structs 2024-04-16 20:54:17 +02:00
Jonas Frei
d973f1e23e Merge branch 'fix-readme-link' into 'master'
Fix link to mpvc

See merge request mpv-ipc/mpvipc!6
2023-08-22 11:40:33 +00:00
naglis
48d15f8085 Fix link to mpvc 2023-08-22 14:05:32 +03:00
Jonas Frei
fe6b191a3b Updated crates, switched edition to 2021, version update 2023-08-03 12:55:41 +02:00
Jonas Frei
9e3ec12894 Generate JSON string with serde_json
Closes #3
2023-08-02 11:15:37 +02:00
Jonas Frei
ff7a7b7c9d Added mpv commands script-message and script-message-to 2023-07-31 20:19:03 +02:00
Jonas Frei
cea343cd3b Merge branch 'add-client-message-event' into 'master'
Add support for `client-message` events

See merge request mpv-ipc/mpvipc!4
2023-07-31 07:30:06 +00:00
Jonas Frei
f591765e34 Merge branch 'use-cycle-for-toggle' into 'master'
Use `cycle` command for toggling play/pause

See merge request mpv-ipc/mpvipc!5
2023-07-31 05:21:32 +00:00
naglis
f023be48f7 Use cycle command for toggling play/pause
This way we do not need to get the `pause` property first.
2023-07-31 00:47:04 +03:00
naglis
83abe0bf62 Add support for client-message events
These events are issued [1] when clients communicate to each other using
`script-message` [2] and `script-message-to` [3] commands.

[1]: https://mpv.io/manual/stable/#command-interface-client-message
[2]: https://mpv.io/manual/stable/#command-interface-script-message
[3]: https://mpv.io/manual/stable/#command-interface-script-message-to
2023-07-30 23:14:20 +03:00
Jonas Frei
c5550739f4 Bump package version 2022-07-21 18:21:58 +02:00
Jonas Frei
86662ffb6b Merge branch 'master' into 'master'
clean up code and fix bug

See merge request mpv-ipc/mpvipc!3
2022-07-20 15:44:23 +00:00
jole
9fde540089 do not panic on message without event field
intead discard it and try again
2022-07-19 21:27:02 +02:00
jole
fded248b7e minor cleanup: run_mpv_command() 2022-07-19 21:07:20 +02:00
jole
71b148cce4 auto formatting 2022-07-19 21:06:47 +02:00
jole
be2132735b remove comments 2022-07-19 21:06:34 +02:00
jole
cc9f2cae53 fix potential bug
could potentially return MpvError("success")
2022-07-19 21:00:30 +02:00
jole
fde2bce07d clean up get_mpv_property_string() 2022-07-19 20:54:44 +02:00
jole
8b5d3bc0fd clean up listen() 2022-07-19 20:34:11 +02:00
Jonas Frei
442f121b2e Using _isize_ instead of _usize_ for observation as per mpv documentation 2022-07-10 20:59:52 +02:00
Jonas Frei
f499d730e8 Bump to 1.2.0, using newest dependencies 2022-07-10 15:34:14 +02:00
Jonas Frei
1c9e32671e Updated examples to use adapted observe command 2022-07-10 15:32:04 +02:00
Jonas Frei
b21f0c804b Added Observe/Unobserve MpvCommand.
Closes #2
2022-07-10 15:23:58 +02:00
Jonas Frei
ea941433b0 Publishing newest master, bumping version 2020-10-24 07:01:14 +02:00
Jonas Frei
ac2d94754c Merge branch 'fixes' into 'master'
Custom commands + impl std::error::Error

See merge request mpv-ipc/mpvipc!2
2019-11-04 17:04:20 +00:00
Christoph Herzog
9552cad8ef Add method to call custom commands 2019-10-30 01:13:52 +01:00
Christoph Herzog
8e47f52803 Implement std::error::Error for Error 2019-10-30 01:11:44 +01:00
Jonas Frei
cb5ad88544 Added list of supported commands as Enum. Cleaned up comments. Pushed version to 1.1.8 2019-06-24 20:11:58 +02:00
Jonas Frei
456fa2ea4d Merge branch 'master' of gitlab.com:mpv-ipc/mpvipc 2019-06-20 06:01:16 +02:00
Jonas Frei
5b28c95a0a Included observation ID in PropertyChange event 2019-06-20 06:00:44 +02:00
Jonas Frei
b8590c2ae3 Included observation ID in PropertyChange event 2019-06-20 05:58:31 +02:00
Jonas Frei
d5ecc48b1d Changed e-Mail address and removed wildcard dependency 2019-06-19 20:53:51 +02:00
Jonas Frei
30b1e4c190 Increased version to 1.1.6 2019-06-19 20:46:27 +02:00
Jonas Frei
a4bcf78229 Merge branch 'fixes' into 'master'
Misc improvements to this crate

See merge request mpv-ipc/mpvipc!1
2019-06-19 17:52:58 +00:00
Emmanuel Gil Peyrot
b0a62f25eb Run rustfmt on the entire crate 2019-06-19 00:51:11 +02:00
Emmanuel Gil Peyrot
2911b9bb49 Simplify user code by parsing properties ourselves 2019-06-19 00:31:17 +02:00
Emmanuel Gil Peyrot
f02b2549a0 Add an example copying mpv’s console output 2019-06-18 23:26:00 +02:00
Emmanuel Gil Peyrot
bd18199bad Add a very simple example fetching properties 2019-06-18 23:02:39 +02:00
Emmanuel Gil Peyrot
8f105eb41f Add a logging system, using the log crate 2019-06-18 18:34:23 +02:00
Emmanuel Gil Peyrot
c429d88d1b Property id is an isize, not a usize, and can be absent if 0 2019-06-18 18:32:45 +02:00
Emmanuel Gil Peyrot
939541599f Remove .unwrap() from examples, they are bad practice 2019-06-18 18:05:37 +02:00
Emmanuel Gil Peyrot
244a34057f Switch to edition 2018 2019-06-18 17:34:20 +02:00
Emmanuel Gil Peyrot
461a87d377 Add a Debug implementation for Mpv 2019-06-18 17:34:10 +02:00
Emmanuel Gil Peyrot
a14b02fb10 Fix documentation tests, with a hidden use mpvipc::Mpv 2019-06-18 17:33:34 +02:00
Emmanuel Gil Peyrot
a43401b6c4 Replaced trim_right() with trim_end(), as the former is deprecated 2019-06-18 17:32:42 +02:00
Jonas Frei
05e02c886c Changed from GitHub to GitLab 2017-07-17 20:31:03 +02:00
Jonas Frei
6133122536 Switch from Github to GitLab 2017-07-14 01:21:09 +02:00
Jonas Frei
c808c2171c Changed listen functions not to use Sender,Reader but to return a Event-Result. Other minor improvements. 2017-06-17 13:03:27 +02:00