Compare commits
13
Commits
eb9ba299aa
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa73c356f5 | ||
|
|
6d97a84bf9 | ||
|
|
b1539e8985 | ||
|
|
4796c9633e | ||
|
|
99724786ca | ||
|
|
343d1277d6 | ||
|
|
3379b3c58b | ||
|
|
e0d1cf30b1 | ||
|
|
da79240044 | ||
|
|
75a5e73356 | ||
|
|
4f15356578 | ||
|
|
0d443f89d4 | ||
|
|
0b7ebab8c3 |
No files matched your search
+1
-1
@@ -287,7 +287,7 @@ alias rsync-vfat='rsync -rtv --stats --modify-window=2'
|
|||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
||||||
export LESS='Ri'
|
export LESS='Ri'
|
||||||
export EDITOR=vim
|
export EDITOR=nvim
|
||||||
export LC_COLLATE=C
|
export LC_COLLATE=C
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@ import getopt
|
|||||||
from subprocess import *
|
from subprocess import *
|
||||||
|
|
||||||
def main(argv):
|
def main(argv):
|
||||||
bitrate = 128
|
bitrate = 256
|
||||||
try:
|
try:
|
||||||
opts, args = getopt.getopt(argv[1:], "b:")
|
opts, args = getopt.getopt(argv[1:], "b:")
|
||||||
except getopt.GetoptError:
|
except getopt.GetoptError:
|
||||||
|
|||||||
@@ -1,39 +1,56 @@
|
|||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
# Use HighContrast GTK2 theme for gvim.
|
require "open3"
|
||||||
ENV["GTK2_RC_FILES"] = "/usr/share/themes/HighContrast/gtk-2.0/gtkrc"
|
|
||||||
|
|
||||||
def get_server_name(path)
|
SEARCH = %w[.git project.vim]
|
||||||
if path
|
EDITOR = "nvim-qt"
|
||||||
path = File.expand_path(path)
|
|
||||||
while path != "/"
|
def find_proj_root(path)
|
||||||
dirname = File.dirname(path)
|
path = File.expand_path(path)
|
||||||
if File.exist?(File.join(dirname, "project.vim"))
|
loop do
|
||||||
if dirname =~ %r{([^/]+)/([^/]+)/*$}
|
dirname = File.dirname(path)
|
||||||
sn = "#{$2}(#{$1})"
|
if SEARCH.any? {|s| File.exist?(File.join(dirname, s))}
|
||||||
else
|
if dirname =~ %r{([^/]+)/([^/]+)/*$}
|
||||||
sn = File.basename(dirname)
|
pretty_name = "#{$2}(#{$1})"
|
||||||
end
|
else
|
||||||
return sn
|
pretty_name = File.basename(dirname)
|
||||||
end
|
end
|
||||||
path = dirname
|
stdout, stderr, status = Open3.capture3("xxh32sum", stdin_data: dirname)
|
||||||
|
socket_name = stdout.sub(/\s.*/m, "")
|
||||||
|
return [socket_name, pretty_name]
|
||||||
|
end
|
||||||
|
path = dirname
|
||||||
|
if path == "/"
|
||||||
|
return nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return "GVIM"
|
nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def server_running?(server_name)
|
def run_dir
|
||||||
`gvim --serverlist`.lines.map(&:chomp).include?(server_name.upcase)
|
ENV["XDG_RUNTIME_DIR"] || "/tmp"
|
||||||
end
|
end
|
||||||
|
|
||||||
if ARGV.empty?
|
if ARGV.empty?
|
||||||
server_name = get_server_name('local_file')
|
exec(EDITOR)
|
||||||
exec("/usr/bin/gvim", "--servername", server_name, err: "/dev/null")
|
|
||||||
else
|
else
|
||||||
ARGV.each_with_index do |path, i|
|
socket_name, pretty_name = find_proj_root(ARGV[0])
|
||||||
server_name = get_server_name(path)
|
if socket_name
|
||||||
sleep(0.2) if i > 0
|
socket_path = "#{run_dir}/e-#{socket_name}.sock"
|
||||||
system("/usr/bin/gvim", "--servername", server_name, "--remote-tab-silent", path, err: "/dev/null")
|
if File.exist?(socket_path)
|
||||||
|
opencmds = ARGV.map do |path|
|
||||||
|
path = File.expand_path(path).gsub(" ", "\\ ")
|
||||||
|
%[:tab drop #{path}<CR>]
|
||||||
|
end.join
|
||||||
|
exec("nvim", "--headless", "--server", socket_path, "--remote-send", "<Esc>#{opencmds}:call GuiForeground()<CR><C-l>")
|
||||||
|
else
|
||||||
|
paths = ARGV.map do |path|
|
||||||
|
File.expand_path(path)
|
||||||
|
end
|
||||||
|
exec(EDITOR, "--", "--listen", socket_path, "--cmd", "let g:project_name = '#{pretty_name}'", "-p", *paths)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
exec(EDITOR, "--", "-p", *ARGV)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
Executable
+62
@@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
# Install: kid3-common
|
||||||
|
|
||||||
|
require "fileutils"
|
||||||
|
|
||||||
|
$stdout.sync = true
|
||||||
|
files = Dir.glob("*.mp3").sort
|
||||||
|
|
||||||
|
if files.empty?
|
||||||
|
$stderr.puts "No .mp3 files found"
|
||||||
|
exit 1
|
||||||
|
end
|
||||||
|
|
||||||
|
unless File.exist?("albumart.jpg")
|
||||||
|
$stderr.puts "albumart.jpg not found"
|
||||||
|
exit 1
|
||||||
|
end
|
||||||
|
|
||||||
|
unless File.exist?("info.txt")
|
||||||
|
$stderr.puts "info.txt not found"
|
||||||
|
exit 1
|
||||||
|
end
|
||||||
|
|
||||||
|
info = File.read("info.txt")
|
||||||
|
info =~ /^artist: (.*)$/
|
||||||
|
artist = $1
|
||||||
|
info =~ /^album: (.*)$/
|
||||||
|
album = $1
|
||||||
|
info =~ /^year: (.*)$/
|
||||||
|
date = $1
|
||||||
|
|
||||||
|
unless artist && album && date
|
||||||
|
$stderr.puts "invalid info.txt format"
|
||||||
|
exit 1
|
||||||
|
end
|
||||||
|
|
||||||
|
#$stdout.write("Release date (YYYY-MM-DD): ")
|
||||||
|
#date = gets.chomp
|
||||||
|
#unless date =~ /^\d{4}-\d{2}-\d{2}$/
|
||||||
|
# $stderr.puts "Unexpected date format"
|
||||||
|
# exit 1
|
||||||
|
#end
|
||||||
|
|
||||||
|
files.each do |file|
|
||||||
|
if file =~ /^(\d+)\s*(.*)\.mp3$/
|
||||||
|
track_number, title = $1.to_i, $2
|
||||||
|
command = %w[kid3-cli]
|
||||||
|
command += ["-c", "revert", "-c", "save"]
|
||||||
|
command += ["-c", %[set artist "#{artist}" 12]]
|
||||||
|
command += ["-c", %[set title "#{title}" 12]]
|
||||||
|
command += ["-c", %[set album "#{album}" 12]]
|
||||||
|
command += ["-c", %[set date "#{date}" 12]]
|
||||||
|
command += ["-c", %[set track "#{track_number}" 12]]
|
||||||
|
command += ["-c", %[set picture:albumart.jpg 'Front Cover' 2]]
|
||||||
|
command += ["-c", "save"]
|
||||||
|
command << file
|
||||||
|
system(*command)
|
||||||
|
else
|
||||||
|
$stderr.puts "Warning: skipping #{file}, unrecognized name format"
|
||||||
|
end
|
||||||
|
end
|
||||||
Executable
+18
@@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
if ARGV.empty?
|
||||||
|
files = Dir["*.wav"].sort
|
||||||
|
else
|
||||||
|
files = ARGV
|
||||||
|
end
|
||||||
|
|
||||||
|
files.each do |infile|
|
||||||
|
outfile = infile.sub(".wav", ".mp3")
|
||||||
|
|
||||||
|
puts "Converting: #{infile} -> #{outfile}"
|
||||||
|
|
||||||
|
command = %W[lame -v -b 256 #{infile} #{outfile}]
|
||||||
|
system(*command)
|
||||||
|
end
|
||||||
|
|
||||||
|
puts "Conversion complete!"
|
||||||
Reference in new issue
Block a user