mirror of
https://github.com/kavishdevar/librepods.git
synced 2026-04-24 15:14:34 +00:00
organize examples
This commit is contained in:
42
README.md
42
README.md
@@ -3,6 +3,7 @@
|
|||||||

|

|
||||||
|
|
||||||
# Get Started!
|
# Get Started!
|
||||||
|
|
||||||
## 1. Install the required packages
|
## 1. Install the required packages
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -28,32 +29,40 @@ Pair your AirPods with your machine before running this script!
|
|||||||
:warning: **Note:** DO NOT FORGET TO EDIT THE `AIRPODS_MAC` VARIABLE IN `main.py`/`standalone.py` WITH YOUR AIRPODS MAC ADDRESS!
|
:warning: **Note:** DO NOT FORGET TO EDIT THE `AIRPODS_MAC` VARIABLE IN `main.py`/`standalone.py` WITH YOUR AIRPODS MAC ADDRESS!
|
||||||
|
|
||||||
## 4. Run!
|
## 4. Run!
|
||||||
You can either choose the more polished version of the script, which currently only supports fetching the battery percentage, and in-ear status (but not actually controlling the media with that information), or the more experimental standalone version of the script, which supports the following features:
|
You can either choose the more polished version of the script, which currently only supports
|
||||||
- Controlling the media with the in-ear status
|
- fetching the battery percentage,
|
||||||
- Remove the device as an audio sink when the AirPods are not in your ears.
|
- and in-ear status (but not actually controlling the media with that information)
|
||||||
- Try to connect with the AirPods if media is playing and the AirPods are not connected.
|
or the more experimental versions of the script (features listed in respective sections).
|
||||||
|
|
||||||
### Polished version
|
# Versions
|
||||||
|
## Polished version
|
||||||
```bash
|
```bash
|
||||||
python3 main.py
|
python3 main.py
|
||||||
```
|
```
|
||||||
|
|
||||||
### Experimental version
|
## Experimental versions
|
||||||
|
|
||||||
|
### Standalone version (without module dependency)
|
||||||
|
- Controlling the media with the in-ear status
|
||||||
|
- Remove the device as an audio sink when the AirPods are not in your ears.
|
||||||
|
- Try to connect with the AirPods if media is playing and the AirPods are not connected.
|
||||||
```bash
|
```bash
|
||||||
python3 standalone.py
|
python3 standalone.py
|
||||||
```
|
```
|
||||||
|
|
||||||
## Daemonizing
|
### Daemonizing
|
||||||
If you want to run this as a deamon, you can use the `airpods_daemon.py` script. This creates a standard UNIX socket at `/tmp/airpods_daemon.sock` and listens for commands (and sends battery/in-ear info, soon!).
|
If you want to run a deamon for multiple programs to read/write airpods data, you can use the `airpods_daemon.py` script.
|
||||||
|
- This creates a standard UNIX socket at `/tmp/airpods_daemon.sock` and listens for commands
|
||||||
|
- and sends battery/in-ear info
|
||||||
You can run it as follows:
|
You can run it as follows:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 airpods_daemon.py
|
python3 airpods_daemon.py
|
||||||
```
|
```
|
||||||
|
#### Scripts to interact with the daemon
|
||||||
|
|
||||||
### Sending data to the daemon
|
- Sending data to the daemon
|
||||||
You can send data to the daemon using the `send_data.py` script. Since it's a standard UNIX socket, you can send data to it using any programming language that supports UNIX sockets.
|
You can send data to the daemon using the `example_daemon_send.py` script. Since it's a standard UNIX socket, you can send data to it using any programming language that supports UNIX sockets.
|
||||||
|
|
||||||
This package includes a demo script that sends a command to turn off the ANC. You can run it as follows:
|
This package includes a demo script that sends a command to turn off the ANC. You can run it as follows:
|
||||||
|
|
||||||
@@ -61,9 +70,16 @@ This package includes a demo script that sends a command to turn off the ANC. Yo
|
|||||||
python3 example_daemon_send.py
|
python3 example_daemon_send.py
|
||||||
```
|
```
|
||||||
|
|
||||||
### Reading data from the daemon
|
- Reading data from the daemon
|
||||||
Youhcan listen to the daemon's output by running the `example_daemon_read.py` script. This script listens to the UNIX socket and prints the data it receives. Currenty, it only prints the battery percentage and the in-ear status.
|
You can listen to the daemon's output by running the `example_daemon_read.py` script. This script listens to the UNIX socket and prints the data it receives. Currenty, it only prints the battery percentage and the in-ear status.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 example_daemon_read.py
|
python3 example_daemon_read.py
|
||||||
|
```
|
||||||
|
|
||||||
|
- Controlling the media with the in-ear status (and get battery status)
|
||||||
|
This script is basically the standalone script, but interacts with the UNIX socket created by the daemon instead. It can control the media with the in-ear status and remove the device as an audio sink when the AirPods are not in your ears.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 ear-detection.py
|
||||||
```
|
```
|
||||||
Reference in New Issue
Block a user