🔊 Play music while and after jobs complete
Project description
🔊 Play sounds while and after shell jobs complete
onhold
is a command-line utility that allows you to play music while a long job completes.
ding
is command-line utility that will play a sound after a long job completes.
Both utilities will take data that is piped into their standard inputs and pipe it to standard output. That is to say that data piped into onhold
and ding
will be piped right back out.
$ echo "Hello!" | onhold
Hello!
As a result, you can build pipelines with onhold
and ding
.
For example, you can download an ISO with http
, visualize the progress with pv
, play music with onhold
while writing to /dev/null
, and when it's finished, play a sound with ding
.
$ export URL="https://releases.ubuntu.com/20.04.1/ubuntu-20.04.1-desktop-amd64.iso"
$ http "$URL" | pv | onhold | ding > /dev/null
This project uses play_sounds
, a wrapper over playsound
and boombox
.
onhold
You can either set the $ONHOLD
environment variable to the song you'd like to play, or supply the song with the -s
flag.
$ export ONHOLD="~/Music/song.mp3"
$ pv /dev/zero | onhold > /dev/null
This allows you to set $ONHOLD
in your ~/.bashrc
.
You can also specify it with a flag.
$ pv /dev/zero | onhold -s song.mp3 > /dev/null
onhold
comes with a default song that will play if neither $ONHOLD
or -s
are set. You can use the -w
flag to show warnings if $ONHOLD
or -s
are not set.
$ echo "Hello!" | onhold
Hello!
ding
You can either set the $DING
environment variable to the sound you'd like to play, or supply the sound with the -s
flag.
# You can run ding after a command or as part of a pipeline
$ export DING="~/Music/ding.ogg"
$ sleep 5; ding
$ echo "Hello!" | ding
Hello!
This allows you to set $DING
in your ~/.bashrc
.
You can also specify it with a flag.
$ echo "Hello!" | ding -s ding.ogg
Hello!
ding
comes with a default sound that will play if neither $DING
or -s
are set. You can use the -w
flag to show warnings if $DING
or -s
are not set.
$ echo "Hello!" | ding
Hello!
ding
is its own package, too
You can install ding
by itself. Future versions of onhold
will not ship with ding
. Click here to visit ding
's project page with installation instructions.
Installation
Dependencies
- A Unix shell like Bash
- Python 3.6+
requirements.txt
Linux
You'll need to install GStreamer on Linux, or the play
binary from sox
.
Ubuntu
On Ubuntu, you will need to install PyGObject
, gstreamer1.0-python3-plugin-loader
and python3-gst-1.0
.
$ sudo apt install python3-gi gstreamer1.0-python3-plugin-loader python3-gst-1.0
AUR
On Arch, you can install onhold
and its prerequisites directly from the AUR. Thanks, @jfrcom!
$ yay -S onhold # replace yay with your aur helper
PyPI
$ python3 -m pip install onhold
GitHub
$ python3 -m pip install -r requirements.txt
$ python3 setup.py install
Help
onhold
$ onhold --help
Usage: onhold [OPTIONS]
Play the specified sound file while data is passed in through standard
input and passed through standard output.
Options:
-s, --sound_path PATH Path to sound to play.
-i, --ignore Suppress warnings.
--help Show this message and exit.
ding
$ ding --help
Usage: ding [OPTIONS]
Play specified sound after job is complete.
Options:
-s, --sound_path PATH Path to sound to play.
-w, --warn Show warnings.
--help Show this message and exit.
License
See LICENSE
. If you'd like to use this project with a different license, please get in touch.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file onhold-0.3.12.tar.gz
.
File metadata
- Download URL: onhold-0.3.12.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a0919f444a0c8e2616c26a18ef50cf07170d6d993f2927977e9c501a1432a40 |
|
MD5 | a7f3408e59606e09ab567b20bde10a4b |
|
BLAKE2b-256 | a703d8669061d506044a041c54e9903bd747adcbb4228634b88dccf883a63043 |
File details
Details for the file onhold-0.3.12-py2.py3-none-any.whl
.
File metadata
- Download URL: onhold-0.3.12-py2.py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f567ff8fab63150a65ac6666c4c4d412405224ad51610a61c465fb265aa5dd90 |
|
MD5 | e07c32652a7b239ed4cbd1f95947e78f |
|
BLAKE2b-256 | 6016a82978b04dd6422dc46b291236ba625882fee3a02ebcf6c6ec8d2f9405f2 |