From 5863f7d339e98b2263865c8327026663bf932dd4 Mon Sep 17 00:00:00 2001 From: BobsonUK Date: Thu, 13 Mar 2025 14:11:46 +0000 Subject: [PATCH] make_resolve.ready@BobsonUK: Add action --- make_resolve.ready@BobsonUK/CHANGELOG.md | 2 + make_resolve.ready@BobsonUK/README.md | 16 + .../make_resolve.ready@BobsonUK/icon.png | Bin 0 -> 8585 bytes .../make_resolve.ready.sh | 291 ++++++++++++++++++ .../make_resolve.ready@BobsonUK/metadata.json | 7 + .../po/make_resolve.ready@BobsonUK.pot | 28 ++ make_resolve.ready@BobsonUK/info.json | 3 + ...make_resolve.ready@BobsonUK.nemo_action.in | 10 + 8 files changed, 357 insertions(+) create mode 100644 make_resolve.ready@BobsonUK/CHANGELOG.md create mode 100644 make_resolve.ready@BobsonUK/README.md create mode 100644 make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/icon.png create mode 100755 make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/make_resolve.ready.sh create mode 100644 make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/metadata.json create mode 100644 make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/po/make_resolve.ready@BobsonUK.pot create mode 100644 make_resolve.ready@BobsonUK/info.json create mode 100755 make_resolve.ready@BobsonUK/make_resolve.ready@BobsonUK.nemo_action.in diff --git a/make_resolve.ready@BobsonUK/CHANGELOG.md b/make_resolve.ready@BobsonUK/CHANGELOG.md new file mode 100644 index 00000000..0625a158 --- /dev/null +++ b/make_resolve.ready@BobsonUK/CHANGELOG.md @@ -0,0 +1,2 @@ +Version 1.0 +Intial Release diff --git a/make_resolve.ready@BobsonUK/README.md b/make_resolve.ready@BobsonUK/README.md new file mode 100644 index 00000000..be0c387a --- /dev/null +++ b/make_resolve.ready@BobsonUK/README.md @@ -0,0 +1,16 @@ +# Make resolve.ready +Convert video/audio files to DaVinci Resolve compatible formats. + +# Description +Automatically transcode video and audio files into +formats that are optimized for DaVinci Resolve: +- Video: DNxHR HQ codec with PCM 24-bit audio (stored in resolve.ready/video/) +- Audio: PCM 24-bit audio (stored in resolve.ready/audio/) + +Files are marked with "resolve.ready" in their filename and organized into +dedicated directories to ensure they remain identifiable even if moved. + +# Dependencies +The following packages need to be installed: +- zenity +- ffmpeg diff --git a/make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/icon.png b/make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9eaff1ca6f260f8e27e5cc231ac0f946eda44df8 GIT binary patch literal 8585 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/dev/null + + return $? # Return ffmpeg exit code +} + +# Process audio file +process_audio() { + local input_file="$1" + local output_file="$2" + local audio_codec="pcm_s24le" + + ffmpeg -i "$input_file" -c:a "$audio_codec" -threads 0 \ + "$output_file" 2>/dev/null + + return $? # Return ffmpeg exit code +} + +# Update progress bar +update_progress() { + local message="$1" + local percentage="$2" + + echo "# $message" >&3 + echo "$percentage" >&3 +} + +# Get file type +get_file_type() { + file -b --mime-type "$1" 2>/dev/null | cut -d'/' -f1 || \ + file -b -i "$1" 2>/dev/null | cut -d';' -f1 | cut -d'/' -f1 +} + +#------------------------------------------------------------------------------ +# Main Script +#------------------------------------------------------------------------------ + +# Check for ffmpeg dependency +if ! command -v ffmpeg &> /dev/null; then + show_error "ffmpeg is not installed. Please install it first." +fi + +# Check if files were provided +if [ $# -eq 0 ]; then + show_error "No files selected. Please select files to process." +fi + +# Collect valid files for processing +total_files=0 +valid_files=() +for file in "$@"; do + if [ -f "$file" ]; then + valid_files+=("$file") + total_files=$((total_files + 1)) + else + show_warning "Not a file: '$file' (length: ${#file}, type: $(file -b "$file" 2>/dev/null || echo "cannot determine"))" + fi +done + +# Exit if no valid files +if [ $total_files -eq 0 ]; then + show_error "No valid files to process." +fi + +# Set up progress dialog +rm -f /tmp/progress_pipe +if ! mkfifo /tmp/progress_pipe 2>/dev/null; then + show_error "Failed to create progress pipe. Check permissions in /tmp or install 'mkfifo'." +fi + +# Start zenity progress dialog +( + zenity --progress \ + --title="Make resolve.ready" \ + --text="Transcoding starting..." \ + --percentage=0 \ + --width=700 \ + --auto-close \ + --no-cancel < /tmp/progress_pipe +) & +ZENITY_PID=$! + +# Wait briefly for Zenity to start +sleep 0.5 # Adjust delay as needed + +# Open pipe for writing +exec 3> /tmp/progress_pipe + +# Process each file +current_file=0 +for file in "${valid_files[@]}"; do + current_file=$((current_file + 1)) + base_name=$(basename "$file") + + # Calculate progress percentage (keep at 99% for last file until complete) + if [ $current_file -eq $total_files ]; then + percentage=99 + else + percentage=$(( (current_file - 1) * 100 / total_files )) + fi + + # Update progress with current file + #update_progress "Processing file $current_file of $total_files: $base_name" "$percentage" + #sleep 0.5 + + # Skip already processed files + if is_already_processed "$file"; then + update_progress "Skipping already processed file: - $base_name" "$(( current_file * 100 / total_files ))" + sleep 0.5 + continue + fi + + # Determine file type and process accordingly + file_type=$(get_file_type "$file") + + if [[ "$file_type" == "video" ]]; then + # Get output file path for video + output_file=$(get_video_output_path "$file") + output_dir=$(dirname "$output_file") + + # Ensure output directory exists + if ! ensure_output_directory "$output_dir"; then + show_warning "Error creating directory: - $output_dir" & + continue + fi + + # Skip if output exists + if output_exists "$output_file"; then + update_progress "Skipping output file already exists for: - $base_name" "$(( current_file * 100 / total_files ))" + sleep 0.5 + continue + fi + + # Process video file + update_progress "Transcoding video file: - $base_name" "$percentage" + + if ! process_video "$file" "$output_file"; then + show_warning "Error transcoding video file: - $base_name" & + fi + + elif [[ "$file_type" == "audio" ]]; then + # Get output file path for audio + output_file=$(get_audio_output_path "$file") + output_dir=$(dirname "$output_file") + + # Ensure output directory exists + if ! ensure_output_directory "$output_dir"; then + show_warning "Error creating directory: - $output_dir" & + continue + fi + + # Skip if output exists + if output_exists "$output_file"; then + update_progress "Skipping output file already exists for: - $base_name" "$(( current_file * 100 / total_files ))" + sleep 0.5 + continue + fi + + # Process audio file + update_progress "Transcoding audio file: - $base_name" "$percentage" + + if ! process_audio "$file" "$output_file"; then + show_warning "Error transcoding audio file: - $base_name" & + fi + + else + # Unsupported file type + show_warning "Unsupported file type: - $file_type for file $base_name" & + fi + + # Update progress after processing each file + if [ $current_file -eq $total_files ]; then + update_progress "Transcoding finishing..." "99" + sleep 1 + echo "100" >&3 + else + update_progress "Processed: - $current_file of $total_files files" "$(( current_file * 100 / total_files ))" + sleep 0.5 + fi +done + +# Clean up +exec 3>&- +rm -f /tmp/progress_pipe + +# Show completion message +show_info "Transcoding finished." + +exit 0 diff --git a/make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/metadata.json b/make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/metadata.json new file mode 100644 index 00000000..35a3bbd1 --- /dev/null +++ b/make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/metadata.json @@ -0,0 +1,7 @@ +{ + "description": "Convert video/audio files to DaVinci Resolve compatible formats", + "uuid": "make_resolve.ready@BobsonUK", + "name": "Make resolve.ready", + "author": "BobsonUK", + "version": "1.0" +} diff --git a/make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/po/make_resolve.ready@BobsonUK.pot b/make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/po/make_resolve.ready@BobsonUK.pot new file mode 100644 index 00000000..8163cf66 --- /dev/null +++ b/make_resolve.ready@BobsonUK/files/make_resolve.ready@BobsonUK/po/make_resolve.ready@BobsonUK.pot @@ -0,0 +1,28 @@ +# MAKE RESOLVE.READY +# This file is put in the public domain. +# BobsonUK, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: make_resolve.ready@BobsonUK 1.0\n" +"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-actions/" +"issues\n" +"POT-Creation-Date: 2025-03-12 16:27+0000\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. metadata.json->description +#. make_resolve.ready@BobsonUK.nemo_action.in->Comment +msgid "Convert video/audio files to DaVinci Resolve compatible formats" +msgstr "" + +#. metadata.json->name +#. make_resolve.ready@BobsonUK.nemo_action.in->Name +msgid "Make resolve.ready" +msgstr "" diff --git a/make_resolve.ready@BobsonUK/info.json b/make_resolve.ready@BobsonUK/info.json new file mode 100644 index 00000000..ce8936b4 --- /dev/null +++ b/make_resolve.ready@BobsonUK/info.json @@ -0,0 +1,3 @@ +{ + "author": "BobsonUK" +} diff --git a/make_resolve.ready@BobsonUK/make_resolve.ready@BobsonUK.nemo_action.in b/make_resolve.ready@BobsonUK/make_resolve.ready@BobsonUK.nemo_action.in new file mode 100755 index 00000000..1889a814 --- /dev/null +++ b/make_resolve.ready@BobsonUK/make_resolve.ready@BobsonUK.nemo_action.in @@ -0,0 +1,10 @@ +[Nemo Action] +_Name=Make resolve.ready +_Comment=Convert video/audio files to DaVinci Resolve compatible formats +Exec= +Icon-Name=video-editor +Selection=notnone +Extensions=mkv;mp4;mov;avi;flv;wmv;mp3;wav;aac;flac;ogg;m4a; +EscapeSpaces=true +Terminal=false +Dependencies=ffmpeg;zenity;