152 lines
6.1 KiB
Plaintext
152 lines
6.1 KiB
Plaintext
# apply-exif-orientation.sh #
|
||
|
||
apply-exif-orientation.sh retrieves the Orientation EXIF tag from an
|
||
image file and rotates the actual image data according to the said
|
||
orientation. The EXIF Orientation tag is deleted in the process. The
|
||
goal is to allow the image to be displayed correctly by tools that don't
|
||
handle EXIF metadata (such as ImageMagick's display).
|
||
|
||
EXIF information is manipulated using exiftool, shipped with the
|
||
Image::ExifTool Perl module (Debian package: libimage-exiftool-perl).
|
||
Image is rotated using ImageMagick's convert.
|
||
|
||
Warning: no backup of the original file is made!
|
||
|
||
|
||
# just-play-something.sh #
|
||
|
||
As its name indicates, the main goal of just-play-something.sh is to put
|
||
some music on. Just anything. What the name doesn't indicate is that the
|
||
music is played by MPD.
|
||
|
||
Its use case is to be binded to a physical button of my router (which is
|
||
also my music box), so that I don't have to start a device with an MPD
|
||
client to start music (this is especially useful when I first wake up in
|
||
the morning). Therefore, it is written with portability in mind and
|
||
doesn't use any utility that might not be present on embedded systems.
|
||
Here are the required dependencies (beside MPD itself and its
|
||
command-like client, mpc):
|
||
- time
|
||
- ps
|
||
- date
|
||
- md5sum
|
||
- sed
|
||
|
||
What this script will do for you:
|
||
- first of all, if the MPD daemon looks down, it will be restarted;
|
||
then,
|
||
- if there are songs in the playlist but the playback is paused, it will
|
||
unpause;
|
||
- if there are songs in the playlist but the playback is stopped, it
|
||
will start playing the playlist from the begining;
|
||
- if there are no songs in the playlist, it will add a random album from
|
||
your library and play it;
|
||
- if music is already playing, it will be paused.
|
||
|
||
Tips:
|
||
- You can bind a short button press to 'just-play-something', and a long
|
||
press (or another button) to 'mpc clear ; just-play-something', so
|
||
that if you don't like what is currently in the playlist, you can
|
||
force playing a random album with a long press.
|
||
- Running this script from another host works just fine by setting the
|
||
MPD_HOST variable (and possibly MPD_PORT), for example:
|
||
MPD_HOST=192.168.0.254 just-play-something
|
||
|
||
|
||
# metflac-field2field.sh #
|
||
|
||
[Français ci-dessous.]
|
||
|
||
metaflac-field2field.sh uses metaflac to process field to field
|
||
copy/move on FLAC file metadatas.
|
||
|
||
Invocation:
|
||
|
||
metaflac-field2field.sh <ACTION> <SRC_FIELD> <DST_FIELD> <FILE.flac> \
|
||
[ <FILE2.flac> [...] ]
|
||
|
||
<ACTION> is the action to perform on the fields, amongst “copy”, “move”,
|
||
“rmcopy” and “mvcopy”:
|
||
- copy: each occurrence of SRC_FIELD is duplicated to create an
|
||
occurrence of DST_FIELD; all the existing occurrences of SRC_FIELD and
|
||
DST_FIELD are kept.
|
||
- move: each occurrence of SRC_FIELD is moved to create an occurrence of
|
||
DST_FIELD; the existing occurrences of DST_FIELD are kept.
|
||
- rmcopy: the existing occurrences of DST_FIELD are deleted, then each
|
||
occurrence of SRC_FIELD is duplicated to create an occurrence of
|
||
DST_FIELD; the occurrences of SRC_FIELD are kept.
|
||
- rmmove: the existing occurrences of DST_FIELD are deleted, then each
|
||
occurrence of SRC_FIELD is moved to create an occurrence of DST_FIELD.
|
||
|
||
<SRC_FIELD> is the action's source field.
|
||
|
||
<DST_FIELD> is the action's destination field.
|
||
|
||
Finally, the file(s) on which the action has to be run are specified at
|
||
the end of the command line.
|
||
|
||
Please note that you should always use UPPERCASE fields; lowercase
|
||
fields are *not* supported, and the behaviour is undefined. For example,
|
||
if you try to lowercase a field with the move command (e.g.
|
||
metaflac-field2field move DATE date), the field will just be deleted.
|
||
This is because metaflac --remove-tag is case-insensitive.
|
||
|
||
----
|
||
|
||
metaflac-field2field.sh utilise metaflac pour effectuer des actions de
|
||
copie ou déplacement de champ à champ sur les fichiers FLAC.
|
||
|
||
Invocation du script :
|
||
|
||
metaflac-field2field.sh <ACTION> <SRC_FIELD> <DST_FIELD> <FILE.flac> \
|
||
[ <FILE2.flac> [...] ]
|
||
|
||
<ACTION> est l'action à effectuer sur les champs, parmi « copy »,
|
||
« move », « rmcopy » et « mvcopy » :
|
||
- copy : chaque occurrence de SRC_FIELD est dupliquée pour créer une
|
||
occurrence de DST_FIELD ; toutes les occurrences existantes de
|
||
SRC_FIELD et de DST_FIELD sont conservées.
|
||
- move : chaque occurrence de SRC_FIELD est déplacée pour créer une
|
||
occurrence de DST_FIELD ; les occurrences existantes de DST_FIELD sont
|
||
conservées.
|
||
- rmcopy : les occurrences existantes de DST_FIELD sont supprimées, puis
|
||
chaque occurrence de SRC_FIELD est dupliquée pour créer une occurrence
|
||
de DST_FIELD ; les occurrences de SRC_FIELD sont conservées.
|
||
- rmmove : les occurrences existantes de DST_FIELD sont supprimées, puis
|
||
chaque occurrence de SRC_FIELD est déplacée pour créer une occurrence
|
||
de DST_FIELD.
|
||
|
||
<SRC_FIELD> est le champ source de l'action.
|
||
|
||
<DST_FIELD> est le champ de destination de l'action.
|
||
|
||
On spécifie ensuite un ou plusieurs fichier sur lequel ou lesquels
|
||
effectuer l'action.
|
||
|
||
À noter que vous devriez toujours employer des noms de champs en
|
||
lettres MAJUSCULES ; les champs en minuscules ne sont pas gérés, et le
|
||
comportement du programme est indéfini si vous les employez. Par
|
||
exemple, si vous essayez de renommer un champ en minuscules (exemple :
|
||
metaflac-field2field move DATE date), le champ sera simplement supprimé,
|
||
car metaflac --remove-tag ne tient pas compte de la casse.
|
||
|
||
|
||
# mp3car.sh #
|
||
|
||
mp3car.sh uses the pacpl (Perl Audio Converter) multi-purpose audio
|
||
converter to convert audio files in any format to low-quality MP3s
|
||
suitable for listening in a car. The goal is to maximise the number of
|
||
albums that can be contained in a CD-ROM (or USB stick). The default
|
||
encoding parameters are variable bitrate (VBR) from 32 to 128 kbps, in
|
||
joint stereo.
|
||
|
||
Usage: just call the script with one or more files or directories, and
|
||
they will be converted recursively and put in the target directory
|
||
(~/tmp/mp3car/ by default, edit the script to change that).
|
||
|
||
You must have installed pacpl and lame for this script to work.
|
||
|
||
Note: if you want to burn all these converted audio files to CD-ROMs,
|
||
you might be interested in the dirpacker.py script provided in this
|
||
repository.
|