--- /Users/chuck/manicure.rb +++ pineapplecli.manicure.rb @@ -1,5 +1,12 @@ #! /usr/bin/ruby -# manincure.rb version 0.1 +# manincure.rb version 0.1 + +# pineapplecli.manicure.rb version 0.1.2 +# *note by cvk_b, explanation of changes +# 1. Remove extraneous info and formatting +# 2. Put Name and commands on a single line, delimited by "QQQ" +# 3. Made sure the x264 options were last on the line +# 4. Added Autoselect subtitles $presetMasterList = [] $hashMasterList = [] @@ -38,7 +45,6 @@ homeLocation = `echo $HOME`.chomp inputFile = homeLocation+'/Library/Application\ Support/HandBrake/UserPresets.plist' parseCommand = 'cat '+inputFile+' | sed -e \'s/<[a-z]*>//\' -e \'s/<\/[a-z]*>//\' -e \'/<[?!]/d\' ' - puts "\n\n" rawPresets = `#{parseCommand}` end @@ -79,49 +85,13 @@ def displayCommandStrings $hashMasterList.each do |hash| if hash.key?("PresetName") - displayHeader(hash) generateCLIString(hash) end end end - def displayHeader(hash) - puts "*" * @@columnWidth - puts '* '+hash["PresetName"].to_s.center(@@columnWidth-4)+' *' - puts '~' * @@columnWidth - puts hash["PresetDescription"].to_s.center(@@columnWidth).gsub(/\n/," ").scan(/\S.{0,#{@@columnWidth-2}}\S(?=\s|$)|\S+/) - - puts '~' * @@columnWidth - puts "#{hash["FileCodecs"]}".center(@@columnWidth) - - if hash["Type"].to_i == 1 - puts "Custom Preset".center(@@columnWidth) - end - - if hash["Default"].to_i == 1 - puts "This is your default preset.".center(@@columnWidth) - end - - puts "~" * @@columnWidth - # puts "\n" - - end - def generateCLIString(hash) - commandString = "" - commandString << './HandBrakeCLI -i DVD -o ~/Movies/movie.' - - #Filename suffix - case hash["FileFormat"] - when /MP4/ - commandString << "mp4 " - when /AVI/ - commandString << "avi " - when /OGM/ - commandString << "ogm " - when /MKV/ - commandString << "mkv " - end + commandString = hash["PresetName"]+"QQQ" #Video encoder if hash["VideoEncoder"] != "FFmpeg" @@ -203,16 +173,13 @@ end #Subtitles - if hash["Subtitles"] != "None" - commandString << " -s " - commandString << hash["Subtitles"] - end - - #x264 Options - if hash["x264Option"] != "" - commandString << " -x " - commandString << hash["x264Option"] + if hash["Subtitles"] != "None" + if hash["Subtitles"] != "Autoselect" then + commandString << " -s " + commandString << hash["Subtitles"] + end end + if hash["Subtitles"] == "Autoselect" then commandString << " -U -F" end #Booleans if hash["ChapterMarkers"].to_i == 1 then commandString << " -m" end @@ -220,11 +187,15 @@ if hash["PicturePAR"].to_i == 1 then commandString << " -p" end if hash["VideoGrayScale"].to_i == 1 then commandString << " -g" end if hash["VideoTwopass"].to_i == 1 then commandString << " -2" end + + #x264 Options + if hash["x264Option"] != "" + commandString << " -x " + commandString << hash["x264Option"] + end # That's it, print to screen now - puts commandString - puts "*" * @@columnWidth - puts "\n\n" + puts commandString end end