diff --git a/README.md b/README.md index 7d2e249..9f9c702 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,37 @@ -# ALN -AirPods like Normal +# ALN - AirPods like Normal (Linux Only) + +# Get Started! + +## 1. Install the required packages + +```bash +sudo apt install python3 python3-pip +pip3 install pybluez +``` + +## 2. Clone the repository + +```bash +git clone https://github.com/kavishdevar/aln.git +cd aln +``` + +## 3. Preprare +Pair your AirPods with your machine before running this script! +:warning: **Note:** DO NOT FORGET TO EDIT THE `MAC_ADDRESS` VARIABLE IN `main.py`/`standalone.py` WITH YOUR AIRPODS MAC ADDRESS! + +## 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: +- 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. + +### Polished version +```bash +python3 main.py +``` + +### Experimental version +```bash +python3 standalone.py +``` \ No newline at end of file diff --git a/standalone.py b/standalone.py index 65c2bb1..b329da3 100644 --- a/standalone.py +++ b/standalone.py @@ -243,8 +243,13 @@ def connect_bluetooth_device(): print("AirPods are already connected.") return - print("Connecting to AirPods...") - subprocess.run(["bluetoothctl", "connect", AIRPODS_MAC]) + print("Checking if AirPods are available...") + result = subprocess.run(["bluetoothctl", "devices"], capture_output=True, text=True) + if AIRPODS_MAC in result.stdout: + print("AirPods are available. Connecting...") + subprocess.run(["bluetoothctl", "connect", AIRPODS_MAC]) + else: + print("AirPods are not available.") time.sleep(2) # Wait for the connection to establish