File [scripts/hq_music_linker.sh]
1 |
#!/bin/sh |
2 |
base_dir="${HOME}/Music" |
3 |
hq_dir="highest-quality-links" |
4 |
music_dir="flac mp3-320kbit mp3-240kbit mp3-160kbit mp3-128kbit" |
5 |
# Create a tmp directory for dumps |
6 |
tmpy=/tmp/hq_music_linker |
7 |
if [ ! -d "${tmpy}" ]; then |
8 |
mkdir ${tmpy} |
9 |
fi |
10 |
# Flush out the hq directory first of all |
11 |
rm -Rf ${base_dir}/${hq_dir}/* |
12 |
artists=0 |
13 |
albums=0 |
14 |
for this_high_dir in ${music_dir} |
15 |
do |
16 |
# Scan for artists |
17 |
echo "Scanning ${this_high_dir} directory ..." |
18 |
ls -1 "${base_dir}/${this_high_dir}" > ${tmpy}/${this_high_dir} |
19 |
while read artist |
20 |
do |
21 |
# Work out if we already have a directory for this artist |
22 |
if [ ! -d "${base_dir}/${hq_dir}/${artist}" ]; then |
23 |
mkdir "${base_dir}/${hq_dir}/${artist}" |
24 |
artists=`expr $artists + 1` |
25 |
fi |
26 |
# Scan for tracks |
27 |
echo " Found ${artist} - scanning for albums ..." |
28 |
ls -1 "${base_dir}/${this_high_dir}/${artist}" > ${tmpy}/${this_high_dir}-${artist} |
29 |
while read album |
30 |
do |
31 |
# Create a symbolic link to the album |
32 |
if [ ! -L "${base_dir}/${hq_dir}/${artist}/${album}" ]; then |
33 |
echo " Linking to ${album}" |
34 |
ln -s "../../${this_high_dir}/${artist}/${album}" "${base_dir}/${hq_dir}/${artist}/${album}" |
35 |
albums=`expr $albums + 1` |
36 |
fi |
37 |
done <${tmpy}/${this_high_dir}-${artist} |
38 |
done <${tmpy}/${this_high_dir} |
39 |
done |
40 |
echo "" |
41 |
echo "Found and linked ${artists} artists and ${albums} albums." |
Computing Power
- Acer Aspire R3700
- Acknowledgements
- BOINC
- Desktop PC
- Eee PC 4G (701)
- Eee PC 901
- Gigabit Network
- Inspiron 14 5485 Laptop
- Kids PC 1
- Kids PC 2
- Media PC
- Mini-ITX PC
- My Useful Scripts
- Nano ITX PC
- Nook Simple Touch
- Processing Power
- Raspberry Pi
- Sharp Zaurus SL-C3200
- Storage Capacity
- The Server
- What Is Firmware
Galleries
(* updated in last 14 days)