Wobuzz/README.md

77 lines
4.4 KiB
Markdown
Raw Normal View History

2024-12-29 19:27:26 +01:00
# Wobuzz
2025-01-29 16:42:00 +01:00
Wobuzz is a simple audio player made by The Wobbler.
Currently, it just has really basic features but many more things are planned.
The player has its own playlist file format that is similar to extended m3u. [WOBUZZM3U](https://gulm.i21k.de/index.php?title=WOBUZZM3U)
2025-01-29 16:42:00 +01:00
### Features
| Feature | Description | State |
|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
| Playlists | You can create and load `.m3u` playlists, edit them and they will get stored on the disk automatically. | <input type="checkbox" disabled checked /> Implemented |
| Background Job Monitor | A QDockWidget where background processes are listed. | <input type="checkbox" disabled checked /> Implemented |
| Audio effects | Audio effects like normalizing and an equalizer. This can be implemented pretty easily because Wobuzz uses [Pydub](https://pydub.com/), which has these effects built in. | <input type="checkbox" disabled /> Not Implemented |
| Soundcloud downloader | A simple Soundcloud-downloader like maybe integrating [SCDL](https://pypi.org/project/scdl/) would be really cool. | <input type="checkbox" disabled /> Not Implemented |
| Synchronisation between devices | This should be pretty hard to implement and idk. if i will ever make it, but synchronisation could be pretty practical e.g. if you have multiple audio systems in different rooms. | <input type="checkbox" disabled /> Not Implemented |
| Audio visualization | Firstly, rather simple audio visualization like an oscilloscope would be cool, also something more complicated like [ProjectM](https://github.com/projectM-visualizer/projectm) could be integrated. | <input type="checkbox" disabled /> Not Implemented |
2024-12-29 19:27:26 +01:00
### Performance
Currently, Wobuzz is relatively CPU-friendly in comparison to other audio players, but not RAM-friendly.
In comparison to Audacious, Wobuzz uses half as much CPU, but more than double the RAM.
This is because Audacious loads the audio only partially, while Wobuzz loads the entire track and the following one.
In the future, this may get optimized and CPU-usage could increase due to more features.
2024-12-29 19:27:26 +01:00
## Installation
2025-02-01 15:06:29 +01:00
### Release installation
Look at the [Releases](https://teapot.informationsanarchistik.de/Wobbl/Wobuzz/releases),
there you can find the commands that you need for the installation.
### Unstable git installation
You firstly have to install the newest dependencies:
2024-12-29 19:27:26 +01:00
``` bash
2025-02-22 18:33:25 +01:00
sudo apt install xcb libxcb-cursor0 ffmpeg python3-pip git
2024-12-29 19:27:26 +01:00
```
2025-02-01 15:06:29 +01:00
Now, you can install the newest unstable version using just one more command:
2025-02-01 12:53:23 +01:00
```bash
pip install wobuzz@git+https://teapot.informationsanarchistik.de/Wobbl/Wobuzz.git#egg=wobuzz
```
### Development installation
If you want to make changes to the code,
you can clone the repo and install it this time using the `-e` parameter,
which will tell pip to not copy the project to `~/.local/lib/python3.x/site-packages`,
but to create symlinks. \
Using this method, you can put the project wherever you want
(e.g. your Pycharm projects folder)
and the Python-module will always be in sync with the changes you do.
2024-12-29 19:27:26 +01:00
``` bash
2025-01-29 16:48:19 +01:00
git clone https://teapot.informationsanarchistik.de/Wobbl/Wobuzz.git
2024-12-29 19:27:26 +01:00
cd Wobuzz
2025-02-01 12:53:23 +01:00
pip install -e .
2024-12-29 19:27:26 +01:00
```
## Usage:
``` bash
usage: wobuzz [-h] [-p PLAYLIST_PATH] [TRACKS ...]
A music player made by The Wobbler.
positional arguments:
TRACKS Plays audio files the from given paths.
options:
-h, --help show this help message and exit
-p PLAYLIST_PATH, --playlist PLAYLIST_PATH
Imports a playlist from the given path.
```