Split multimedia into audio and graphics

Also to mimic pkgsrc categories.

While there:
- Convert the READMEs to MarkDown to make forges happier.
- Split French README section to audio/README-fr.md.
- Rewrap READMEs at 80 characters.
This commit is contained in:
Matteo Cypriani 2017-09-22 16:58:29 -04:00
förälder 58b409b82f
incheckning a7c8880230
12 ändrade filer med 166 tillägg och 155 borttagningar

43
audio/README-fr.md Normal file
Visa fil

@ -0,0 +1,43 @@
metflac-field2field.sh
======================
`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.

105
audio/README.md Normal file
Visa fil

@ -0,0 +1,105 @@
just-play-something.sh
======================
As its name indicates, the main goal of `just-play-something.sh` is to put some
music on. 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 tries to not use any
utility that might not be present on embedded systems.
Here are the required dependencies (beside MPD itself):
- `mpc` (MPD's command-line client)
- 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: voir README-fr.md.*
`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.
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 may
be interested in the `dirpacker.py` script provided in this repository.

Visa fil

@ -1 +1 @@
../multimedia/apply-exif-orientation.sh
../graphics/apply-exif-orientation.sh

Visa fil

@ -1 +1 @@
../multimedia/just-play-something.sh
../audio/just-play-something.sh

Visa fil

@ -1 +1 @@
../multimedia/metaflac-field2field.sh
../audio/metaflac-field2field.sh

Visa fil

@ -1 +1 @@
../multimedia/mp3car.sh
../audio/mp3car.sh

14
graphics/README.md Normal file
Visa fil

@ -0,0 +1,14 @@
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!

Visa fil

@ -1,151 +0,0 @@
# 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.