initial commit
This commit is contained in:
commit
0a862c499d
6 changed files with 151 additions and 0 deletions
22
LICENSE
Normal file
22
LICENSE
Normal file
|
@ -0,0 +1,22 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Von Random
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
4
README.md
Normal file
4
README.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
vscripts
|
||||
========
|
||||
|
||||
Some of my scripts. Different languages, different purposes, different quality of code. If you happen to use any of them and have a suggestion for improvements, I'll gladly accept them via e-mail.
|
29
flac-to-mp3.zsh
Executable file
29
flac-to-mp3.zsh
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env zsh
|
||||
read_tags() {
|
||||
metaflac $1 --show-tag=ALBUM --show-tag=ARTIST --show-tag=GENRE --show-tag=DATE --show-tag=TITLE --show-tag=TRACKNUMBER --show-tag=TRACKTOTAL |\
|
||||
sed s/=/~..~/ |\
|
||||
awk -F'~..~' '{print $1"='\''"$2"'\''"}'
|
||||
}
|
||||
mime_is() {
|
||||
mimetype=$(file -b --mime-type $1)
|
||||
if [[ $mimetype == $2 ]]; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
for i in $argv[@]; do
|
||||
if mime_is $i 'audio/x-flac'; then
|
||||
local original=$i
|
||||
eval $(read_tags $original)
|
||||
local out_dir=/home/von/Music/\[UNSORTED\]/$ARTIST/$ALBUM
|
||||
[[ -d $out_dir ]] || mkdir -p $out_dir
|
||||
local converted=$out_dir/${i%.*}.mp3
|
||||
flac -c -d $original | lame -V0 --add-id3v2 --pad-id3v2 --ignore-tag-errors \
|
||||
--ta $ARTIST --tt $TITLE --tl $ALBUM --tg ${GENRE:-12} --tn ${TRACKNUMBER:-0} --ty $DATE \
|
||||
- $converted
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
exit 0
|
55
lowercase.lua
Executable file
55
lowercase.lua
Executable file
|
@ -0,0 +1,55 @@
|
|||
#!/usr/bin/env lua
|
||||
require('os')
|
||||
require('lfs')
|
||||
|
||||
function lowercase(basename, basedir)
|
||||
if basedir == nil then
|
||||
basedir = ''
|
||||
end
|
||||
local lowercased = string.lower(basename)
|
||||
local path_orig = basedir .. basename
|
||||
local path_new = basedir .. lowercased
|
||||
if path_orig == path_new then
|
||||
print(path_orig .. ' is already lowercase!')
|
||||
return 1
|
||||
else
|
||||
print('Renaming: ' .. path_orig .. ' -> ' .. path_new)
|
||||
os.rename(path_orig,path_new)
|
||||
end
|
||||
end
|
||||
|
||||
function is_dir(name)
|
||||
local ftype = lfs.symlinkattributes(name, "mode")
|
||||
if ftype == "directory" then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
function find_and_rename(path)
|
||||
for basename in lfs.dir(path) do
|
||||
if basename ~= "." and basename ~= ".." then
|
||||
local basedir = path .. '/'
|
||||
local filename = basedir .. basename
|
||||
if is_dir(filename) then
|
||||
find_and_rename(filename)
|
||||
end
|
||||
lowercase(basename, basedir)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function test_and_execute(dir)
|
||||
if is_dir(dir) then
|
||||
find_and_rename(dir)
|
||||
lowercase(dir)
|
||||
else
|
||||
print(dir .. ' is not a directory or does not exist!')
|
||||
end
|
||||
end
|
||||
local i = 1
|
||||
while arg[i] do
|
||||
test_and_execute(arg[i])
|
||||
i = i + 1
|
||||
end
|
31
lowercase.pl
Executable file
31
lowercase.pl
Executable file
|
@ -0,0 +1,31 @@
|
|||
#!/usr/bin/env perl
|
||||
use strict;
|
||||
use warnings;
|
||||
use File::Copy;
|
||||
use File::Find;
|
||||
use Cwd 'cwd';
|
||||
use feature 'say';
|
||||
|
||||
sub pathname {
|
||||
return my $pathname = $File::Find::dir . '/' . $_[0];
|
||||
}
|
||||
|
||||
sub lowercase {
|
||||
if ($_ eq '.') {
|
||||
return 0;
|
||||
}
|
||||
my $original = $_;
|
||||
$_ =~ s/(^.*)/\L$1/g;
|
||||
my $lowercased = $_;
|
||||
if ($original eq $lowercased) {
|
||||
say 'No need to rename ' . $original . ', it is already in lower case.';
|
||||
return 0;
|
||||
}
|
||||
say 'Renaming ' . pathname($original) . ' to ' . pathname($lowercased) . '...';
|
||||
move("$original", "$lowercased");
|
||||
}
|
||||
|
||||
finddepth(\&lowercase, @ARGV);
|
||||
say 'Everything done.';
|
||||
exit 0;
|
||||
|
10
simpler.pl
Executable file
10
simpler.pl
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env perl
|
||||
use open ':std', ':encoding(UTF-8)';
|
||||
my $block = shift || (chr(0x2588) x 3);
|
||||
for (["", 0], ["1;", 0], ["", 8], ["1;", 8]) {
|
||||
my ($bold, $offset) = @$_;
|
||||
my @range = map $offset + $_, 0..7;
|
||||
printf "%s %-6s ", $bold ? "bold" : "norm", "$range[0]-$range[-1]";
|
||||
print map("\e[${bold}38;5;${_}m$block", @range), "\e[0m";
|
||||
print "\n"
|
||||
}
|
Loading…
Reference in a new issue