Repository files navigation

AutomaticRipper

Professional DVD and Blu-ray ripping software built with .NET 8 and WinUI 3.

?? Overview

AutomaticRipper is a modern Windows application that provides an intuitive interface for ripping DVD and Blu-ray discs. Built on top of MakeMKV, it offers automated disc detection, intelligent title selection, and streamlined ripping workflows.

? Features

Core Functionality

  • Automatic Disc Detection: Automatically detects and identifies DVD/Blu-ray discs in optical drives
  • Multiple Ripping Modes:
    • Only largest title (main movie)
    • All titles
    • Titles above specified size threshold
  • Real-time Progress Tracking: Live progress updates during ripping operations
  • Intelligent Drive Management: Automatic ejection after successful ripping
  • Multi-language Support: Currently supports English and German

User Interface

  • Modern WinUI 3 Interface: Clean, responsive design following Windows design principles
  • Real-time Logging: Comprehensive logging with different severity levels
  • Language Selector: Easy switching between supported languages
  • Progress Visualization: Visual progress bars and status indicators

Technical Features

  • MakeMKV Integration: Built on the reliable MakeMKV engine
  • Asynchronous Operations: Non-blocking UI during ripping operations
  • Error Handling: Robust error handling with detailed logging
  • Settings Persistence: Remembers user preferences and settings

?? Getting Started

Prerequisites

  • Operating System: Windows 10 version 19041.0 or later
  • Runtime: .NET 8.0 Runtime (automatically included with the application)
  • MakeMKV: Download and install MakeMKV (required for disc ripping functionality)

Installation

  1. Download the latest release from the Releases page
  2. Extract the downloaded archive to your preferred location
  3. Install MakeMKV from makemkv.com
  4. RunAutomaticRipper.Desktop.exe to start the application

First Run Setup

  1. The application will automatically validate your MakeMKV installation
  2. Insert a DVD or Blu-ray disc into your optical drive
  3. The application will automatically detect available drives with media
  4. Select your desired output directory
  5. Choose your ripping preferences and start ripping

?? Usage Guide

Basic Workflow

  1. Insert Disc: Place a DVD or Blu-ray disc in your optical drive
  2. Automatic Detection: AutomaticRipper will automatically detect the disc
  3. Select Output: Choose where you want the ripped files to be saved
  4. Configure Settings: Select your preferred ripping mode:
    • Only Largest Title: Rips just the main movie (recommended for most users)
    • All Titles: Rips all titles on the disc
    • Titles Above Size: Rips only titles larger than a specified size
  5. Start Ripping: Click "Start Ripping" to begin the process
  6. Monitor Progress: Watch real-time progress and logging information
  7. Automatic Completion: The disc will be automatically ejected when finished

Ripping Modes Explained

  • Only Largest Title: Best for movies - automatically selects the main feature
  • All Titles: Useful for TV series or discs with multiple features
  • Titles Above Size: Filters out small extras, menu videos, and trailers

Language Support

Click the language selector in the top-right corner to switch between supported languages.

??? Architecture

AutomaticRipper follows a clean architecture pattern with clear separation of concerns:

Project Structure

AutomaticRipper/
??? AutomaticRipper.Desktop/ # WinUI 3 frontend application
? ??? Views/ # XAML views and windows
? ??? ViewModels/ # MVVM view models
? ??? Services/ # UI-specific services
? ??? Models/ # UI data models
? ??? Resources/ # Localization resources
??? AutomaticRipper.Backend/ # Core business logic
??? Services/ # Business logic services
??? Models/ # Domain models
??? Interfaces/ # Service contracts
??? Extensions/ # Extension methods

Key Components

  • AutomaticRipperBackend: Main orchestration class
  • MakeMkvService: Handles MakeMKV integration and process management
  • OpticalDriveService: Manages optical drive detection and operations
  • FileSystemService: Handles file and directory operations
  • LoggingService: Centralized logging with multiple severity levels

Technology Stack

  • .NET 8: Modern, high-performance runtime
  • WinUI 3: Modern Windows UI framework
  • MVVM Pattern: Clean separation between UI and business logic
  • Dependency Injection: Proper service management and testability
  • Async/Await: Non-blocking operations for better user experience

?? Development

Building from Source

Prerequisites

  • Visual Studio 2022 (17.8 or later) with:
    • .NET 8.0 SDK
    • Windows App SDK workload
    • Windows 10/11 SDK (19041 or later)

Build Steps

git clone https://github.com/Knabbermann/AutomaticRipperClient.git
cd AutomaticRipper
dotnet restore
dotnet build --configuration Release

Project Configuration

The solution includes two main projects:

  • AutomaticRipper.Desktop: WinUI 3 application targeting net8.0-windows10.0.19041.0
  • AutomaticRipper.Backend: Business logic library targeting net8.0

Key Dependencies

  • Microsoft.WindowsAppSDK: WinUI 3 framework
  • Microsoft.Extensions.DependencyInjection: Dependency injection container
  • System.Management: Windows system management APIs

?? Localization

AutomaticRipper supports multiple languages through resource files:

  • English: Default language (AppResources.resx)
  • German: German localization (AppResources.de.resx)

To add a new language:

  1. Create a new resource file: AppResources.[culture].resx
  2. Translate all string resources
  3. Update the language selector in LanguageSelector.xaml

?? Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature enhancements
  • Localization improvements
  • Documentation updates

Development Guidelines

  1. Follow the existing code style and patterns
  2. Include appropriate unit tests for new functionality
  3. Update documentation for significant changes
  4. Test thoroughly on different Windows versions

?? System Requirements

  • OS: Windows 10 (19041) or Windows 11
  • RAM: 4 GB minimum, 8 GB recommended
  • Storage: Sufficient space for ripped content (varies by disc)
  • Optical Drive: DVD or Blu-ray drive
  • Dependencies: MakeMKV (latest version recommended)

?? Troubleshooting

Common Issues

MakeMKV Not Found

  • Ensure MakeMKV is installed from makemkv.com
  • Verify the installation path is in one of the standard locations

No Drives Detected

  • Check that your optical drive is properly connected
  • Ensure a valid DVD/Blu-ray disc is inserted
  • Try the "Refresh" button to re-scan drives

Ripping Fails

  • Check the output directory has sufficient free space
  • Verify write permissions to the output directory
  • Ensure the disc is not damaged or copy-protected beyond MakeMKV's capabilities

Log Files

AutomaticRipper provides detailed logging information. Use the "Copy Logs" button to copy log information for troubleshooting or bug reports.

?? License

This project is licensed under the MIT License - see the LICENSE file for details.

?? Acknowledgments

  • MakeMKV: For providing the core ripping functionality
  • Microsoft: For the excellent WinUI 3 framework
  • Community: For testing, feedback, and contributions

?? Support

For support, please:

  1. Check the Issues page for existing solutions
  2. Create a new issue with detailed information
  3. Include log files when reporting bugs

AutomaticRipper - DVD and Blu-ray ripping made simple.

About

DVD and Blu-ray ripping software with modern WinUI 3 interface, built on .NET 8 and MakeMKV for automated disc detection and streamlined ripping workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

AutomaticRipper

Professional DVD and Blu-ray ripping software built with .NET 8 and WinUI 3.

?? Overview

AutomaticRipper is a modern Windows application that provides an intuitive interface for ripping DVD and Blu-ray discs. Built on top of MakeMKV, it offers automated disc detection, intelligent title selection, and streamlined ripping workflows.

? Features

Core Functionality

  • Automatic Disc Detection: Automatically detects and identifies DVD/Blu-ray discs in optical drives
  • Multiple Ripping Modes:
    • Only largest title (main movie)
    • All titles
    • Titles above specified size threshold
  • Real-time Progress Tracking: Live progress updates during ripping operations
  • Intelligent Drive Management: Automatic ejection after successful ripping
  • Multi-language Support: Currently supports English and German

User Interface

  • Modern WinUI 3 Interface: Clean, responsive design following Windows design principles
  • Real-time Logging: Comprehensive logging with different severity levels
  • Language Selector: Easy switching between supported languages
  • Progress Visualization: Visual progress bars and status indicators

Technical Features

  • MakeMKV Integration: Built on the reliable MakeMKV engine
  • Asynchronous Operations: Non-blocking UI during ripping operations
  • Error Handling: Robust error handling with detailed logging
  • Settings Persistence: Remembers user preferences and settings

?? Getting Started

Prerequisites

  • Operating System: Windows 10 version 19041.0 or later
  • Runtime: .NET 8.0 Runtime (automatically included with the application)
  • MakeMKV: Download and install MakeMKV (required for disc ripping functionality)

Installation

  1. Download the latest release from the Releases page
  2. Extract the downloaded archive to your preferred location
  3. Install MakeMKV from makemkv.com
  4. RunAutomaticRipper.Desktop.exe to start the application

First Run Setup

  1. The application will automatically validate your MakeMKV installation
  2. Insert a DVD or Blu-ray disc into your optical drive
  3. The application will automatically detect available drives with media
  4. Select your desired output directory
  5. Choose your ripping preferences and start ripping

?? Usage Guide

Basic Workflow

  1. Insert Disc: Place a DVD or Blu-ray disc in your optical drive
  2. Automatic Detection: AutomaticRipper will automatically detect the disc
  3. Select Output: Choose where you want the ripped files to be saved
  4. Configure Settings: Select your preferred ripping mode:
    • Only Largest Title: Rips just the main movie (recommended for most users)
    • All Titles: Rips all titles on the disc
    • Titles Above Size: Rips only titles larger than a specified size
  5. Start Ripping: Click "Start Ripping" to begin the process
  6. Monitor Progress: Watch real-time progress and logging information
  7. Automatic Completion: The disc will be automatically ejected when finished

Ripping Modes Explained

  • Only Largest Title: Best for movies - automatically selects the main feature
  • All Titles: Useful for TV series or discs with multiple features
  • Titles Above Size: Filters out small extras, menu videos, and trailers

Language Support

Click the language selector in the top-right corner to switch between supported languages.

??? Architecture

AutomaticRipper follows a clean architecture pattern with clear separation of concerns:

Project Structure

AutomaticRipper/
??? AutomaticRipper.Desktop/ # WinUI 3 frontend application
? ??? Views/ # XAML views and windows
? ??? ViewModels/ # MVVM view models
? ??? Services/ # UI-specific services
? ??? Models/ # UI data models
? ??? Resources/ # Localization resources
??? AutomaticRipper.Backend/ # Core business logic
??? Services/ # Business logic services
??? Models/ # Domain models
??? Interfaces/ # Service contracts
??? Extensions/ # Extension methods

Key Components

  • AutomaticRipperBackend: Main orchestration class
  • MakeMkvService: Handles MakeMKV integration and process management
  • OpticalDriveService: Manages optical drive detection and operations
  • FileSystemService: Handles file and directory operations
  • LoggingService: Centralized logging with multiple severity levels

Technology Stack

  • .NET 8: Modern, high-performance runtime
  • WinUI 3: Modern Windows UI framework
  • MVVM Pattern: Clean separation between UI and business logic
  • Dependency Injection: Proper service management and testability
  • Async/Await: Non-blocking operations for better user experience

?? Development

Building from Source

Prerequisites

  • Visual Studio 2022 (17.8 or later) with:
    • .NET 8.0 SDK
    • Windows App SDK workload
    • Windows 10/11 SDK (19041 or later)

Build Steps

git clone https://github.com/Knabbermann/AutomaticRipperClient.git
cd AutomaticRipper
dotnet restore
dotnet build --configuration Release

Project Configuration

The solution includes two main projects:

  • AutomaticRipper.Desktop: WinUI 3 application targeting net8.0-windows10.0.19041.0
  • AutomaticRipper.Backend: Business logic library targeting net8.0

Key Dependencies

  • Microsoft.WindowsAppSDK: WinUI 3 framework
  • Microsoft.Extensions.DependencyInjection: Dependency injection container
  • System.Management: Windows system management APIs

?? Localization

AutomaticRipper supports multiple languages through resource files:

  • English: Default language (AppResources.resx)
  • German: German localization (AppResources.de.resx)

To add a new language:

  1. Create a new resource file: AppResources.[culture].resx
  2. Translate all string resources
  3. Update the language selector in LanguageSelector.xaml

?? Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature enhancements
  • Localization improvements
  • Documentation updates

Development Guidelines

  1. Follow the existing code style and patterns
  2. Include appropriate unit tests for new functionality
  3. Update documentation for significant changes
  4. Test thoroughly on different Windows versions

?? System Requirements

  • OS: Windows 10 (19041) or Windows 11
  • RAM: 4 GB minimum, 8 GB recommended
  • Storage: Sufficient space for ripped content (varies by disc)
  • Optical Drive: DVD or Blu-ray drive
  • Dependencies: MakeMKV (latest version recommended)

?? Troubleshooting

Common Issues

MakeMKV Not Found

  • Ensure MakeMKV is installed from makemkv.com
  • Verify the installation path is in one of the standard locations

No Drives Detected

  • Check that your optical drive is properly connected
  • Ensure a valid DVD/Blu-ray disc is inserted
  • Try the "Refresh" button to re-scan drives

Ripping Fails

  • Check the output directory has sufficient free space
  • Verify write permissions to the output directory
  • Ensure the disc is not damaged or copy-protected beyond MakeMKV's capabilities

Log Files

AutomaticRipper provides detailed logging information. Use the "Copy Logs" button to copy log information for troubleshooting or bug reports.

?? License

This project is licensed under the MIT License - see the LICENSE file for details.

?? Acknowledgments

  • MakeMKV: For providing the core ripping functionality
  • Microsoft: For the excellent WinUI 3 framework
  • Community: For testing, feedback, and contributions

?? Support

For support, please:

  1. Check the Issues page for existing solutions
  2. Create a new issue with detailed information
  3. Include log files when reporting bugs

AutomaticRipper - DVD and Blu-ray ripping made simple.

About

DVD and Blu-ray ripping software with modern WinUI 3 interface, built on .NET 8 and MakeMKV for automated disc detection and streamlined ripping workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AutomaticRipper

Professional DVD and Blu-ray ripping software built with .NET 8 and WinUI 3.

?? Overview

AutomaticRipper is a modern Windows application that provides an intuitive interface for ripping DVD and Blu-ray discs. Built on top of MakeMKV, it offers automated disc detection, intelligent title selection, and streamlined ripping workflows.

? Features

Core Functionality

  • Automatic Disc Detection: Automatically detects and identifies DVD/Blu-ray discs in optical drives
  • Multiple Ripping Modes:
    • Only largest title (main movie)
    • All titles
    • Titles above specified size threshold
  • Real-time Progress Tracking: Live progress updates during ripping operations
  • Intelligent Drive Management: Automatic ejection after successful ripping
  • Multi-language Support: Currently supports English and German

User Interface

  • Modern WinUI 3 Interface: Clean, responsive design following Windows design principles
  • Real-time Logging: Comprehensive logging with different severity levels
  • Language Selector: Easy switching between supported languages
  • Progress Visualization: Visual progress bars and status indicators

Technical Features

  • MakeMKV Integration: Built on the reliable MakeMKV engine
  • Asynchronous Operations: Non-blocking UI during ripping operations
  • Error Handling: Robust error handling with detailed logging
  • Settings Persistence: Remembers user preferences and settings

?? Getting Started

Prerequisites

  • Operating System: Windows 10 version 19041.0 or later
  • Runtime: .NET 8.0 Runtime (automatically included with the application)
  • MakeMKV: Download and install MakeMKV (required for disc ripping functionality)

Installation

  1. Download the latest release from the Releases page
  2. Extract the downloaded archive to your preferred location
  3. Install MakeMKV from makemkv.com
  4. RunAutomaticRipper.Desktop.exe to start the application

First Run Setup

  1. The application will automatically validate your MakeMKV installation
  2. Insert a DVD or Blu-ray disc into your optical drive
  3. The application will automatically detect available drives with media
  4. Select your desired output directory
  5. Choose your ripping preferences and start ripping

?? Usage Guide

Basic Workflow

  1. Insert Disc: Place a DVD or Blu-ray disc in your optical drive
  2. Automatic Detection: AutomaticRipper will automatically detect the disc
  3. Select Output: Choose where you want the ripped files to be saved
  4. Configure Settings: Select your preferred ripping mode:
    • Only Largest Title: Rips just the main movie (recommended for most users)
    • All Titles: Rips all titles on the disc
    • Titles Above Size: Rips only titles larger than a specified size
  5. Start Ripping: Click "Start Ripping" to begin the process
  6. Monitor Progress: Watch real-time progress and logging information
  7. Automatic Completion: The disc will be automatically ejected when finished

Ripping Modes Explained

  • Only Largest Title: Best for movies - automatically selects the main feature
  • All Titles: Useful for TV series or discs with multiple features
  • Titles Above Size: Filters out small extras, menu videos, and trailers

Language Support

Click the language selector in the top-right corner to switch between supported languages.

??? Architecture

AutomaticRipper follows a clean architecture pattern with clear separation of concerns:

Project Structure

AutomaticRipper/
??? AutomaticRipper.Desktop/ # WinUI 3 frontend application
? ??? Views/ # XAML views and windows
? ??? ViewModels/ # MVVM view models
? ??? Services/ # UI-specific services
? ??? Models/ # UI data models
? ??? Resources/ # Localization resources
??? AutomaticRipper.Backend/ # Core business logic
??? Services/ # Business logic services
??? Models/ # Domain models
??? Interfaces/ # Service contracts
??? Extensions/ # Extension methods

Key Components

  • AutomaticRipperBackend: Main orchestration class
  • MakeMkvService: Handles MakeMKV integration and process management
  • OpticalDriveService: Manages optical drive detection and operations
  • FileSystemService: Handles file and directory operations
  • LoggingService: Centralized logging with multiple severity levels

Technology Stack

  • .NET 8: Modern, high-performance runtime
  • WinUI 3: Modern Windows UI framework
  • MVVM Pattern: Clean separation between UI and business logic
  • Dependency Injection: Proper service management and testability
  • Async/Await: Non-blocking operations for better user experience

?? Development

Building from Source

Prerequisites

  • Visual Studio 2022 (17.8 or later) with:
    • .NET 8.0 SDK
    • Windows App SDK workload
    • Windows 10/11 SDK (19041 or later)

Build Steps

git clone https://github.com/Knabbermann/AutomaticRipperClient.git
cd AutomaticRipper
dotnet restore
dotnet build --configuration Release

Project Configuration

The solution includes two main projects:

  • AutomaticRipper.Desktop: WinUI 3 application targeting net8.0-windows10.0.19041.0
  • AutomaticRipper.Backend: Business logic library targeting net8.0

Key Dependencies

  • Microsoft.WindowsAppSDK: WinUI 3 framework
  • Microsoft.Extensions.DependencyInjection: Dependency injection container
  • System.Management: Windows system management APIs

?? Localization

AutomaticRipper supports multiple languages through resource files:

  • English: Default language (AppResources.resx)
  • German: German localization (AppResources.de.resx)

To add a new language:

  1. Create a new resource file: AppResources.[culture].resx
  2. Translate all string resources
  3. Update the language selector in LanguageSelector.xaml

?? Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature enhancements
  • Localization improvements
  • Documentation updates

Development Guidelines

  1. Follow the existing code style and patterns
  2. Include appropriate unit tests for new functionality
  3. Update documentation for significant changes
  4. Test thoroughly on different Windows versions

?? System Requirements

  • OS: Windows 10 (19041) or Windows 11
  • RAM: 4 GB minimum, 8 GB recommended
  • Storage: Sufficient space for ripped content (varies by disc)
  • Optical Drive: DVD or Blu-ray drive
  • Dependencies: MakeMKV (latest version recommended)

?? Troubleshooting

Common Issues

MakeMKV Not Found

  • Ensure MakeMKV is installed from makemkv.com
  • Verify the installation path is in one of the standard locations

No Drives Detected

  • Check that your optical drive is properly connected
  • Ensure a valid DVD/Blu-ray disc is inserted
  • Try the "Refresh" button to re-scan drives

Ripping Fails

  • Check the output directory has sufficient free space
  • Verify write permissions to the output directory
  • Ensure the disc is not damaged or copy-protected beyond MakeMKV's capabilities

Log Files

AutomaticRipper provides detailed logging information. Use the "Copy Logs" button to copy log information for troubleshooting or bug reports.

?? License

This project is licensed under the MIT License - see the LICENSE file for details.

?? Acknowledgments

  • MakeMKV: For providing the core ripping functionality
  • Microsoft: For the excellent WinUI 3 framework
  • Community: For testing, feedback, and contributions

?? Support

For support, please:

  1. Check the Issues page for existing solutions
  2. Create a new issue with detailed information
  3. Include log files when reporting bugs

AutomaticRipper - DVD and Blu-ray ripping made simple.

About

DVD and Blu-ray ripping software with modern WinUI 3 interface, built on .NET 8 and MakeMKV for automated disc detection and streamlined ripping workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AutomaticRipper

Professional DVD and Blu-ray ripping software built with .NET 8 and WinUI 3.

?? Overview

AutomaticRipper is a modern Windows application that provides an intuitive interface for ripping DVD and Blu-ray discs. Built on top of MakeMKV, it offers automated disc detection, intelligent title selection, and streamlined ripping workflows.

? Features

Core Functionality

  • Automatic Disc Detection: Automatically detects and identifies DVD/Blu-ray discs in optical drives
  • Multiple Ripping Modes:
    • Only largest title (main movie)
    • All titles
    • Titles above specified size threshold
  • Real-time Progress Tracking: Live progress updates during ripping operations
  • Intelligent Drive Management: Automatic ejection after successful ripping
  • Multi-language Support: Currently supports English and German

User Interface

  • Modern WinUI 3 Interface: Clean, responsive design following Windows design principles
  • Real-time Logging: Comprehensive logging with different severity levels
  • Language Selector: Easy switching between supported languages
  • Progress Visualization: Visual progress bars and status indicators

Technical Features

  • MakeMKV Integration: Built on the reliable MakeMKV engine
  • Asynchronous Operations: Non-blocking UI during ripping operations
  • Error Handling: Robust error handling with detailed logging
  • Settings Persistence: Remembers user preferences and settings

?? Getting Started

Prerequisites

  • Operating System: Windows 10 version 19041.0 or later
  • Runtime: .NET 8.0 Runtime (automatically included with the application)
  • MakeMKV: Download and install MakeMKV (required for disc ripping functionality)

Installation

  1. Download the latest release from the Releases page
  2. Extract the downloaded archive to your preferred location
  3. Install MakeMKV from makemkv.com
  4. RunAutomaticRipper.Desktop.exe to start the application

First Run Setup

  1. The application will automatically validate your MakeMKV installation
  2. Insert a DVD or Blu-ray disc into your optical drive
  3. The application will automatically detect available drives with media
  4. Select your desired output directory
  5. Choose your ripping preferences and start ripping

?? Usage Guide

Basic Workflow

  1. Insert Disc: Place a DVD or Blu-ray disc in your optical drive
  2. Automatic Detection: AutomaticRipper will automatically detect the disc
  3. Select Output: Choose where you want the ripped files to be saved
  4. Configure Settings: Select your preferred ripping mode:
    • Only Largest Title: Rips just the main movie (recommended for most users)
    • All Titles: Rips all titles on the disc
    • Titles Above Size: Rips only titles larger than a specified size
  5. Start Ripping: Click "Start Ripping" to begin the process
  6. Monitor Progress: Watch real-time progress and logging information
  7. Automatic Completion: The disc will be automatically ejected when finished

Ripping Modes Explained

  • Only Largest Title: Best for movies - automatically selects the main feature
  • All Titles: Useful for TV series or discs with multiple features
  • Titles Above Size: Filters out small extras, menu videos, and trailers

Language Support

Click the language selector in the top-right corner to switch between supported languages.

??? Architecture

AutomaticRipper follows a clean architecture pattern with clear separation of concerns:

Project Structure

AutomaticRipper/
??? AutomaticRipper.Desktop/ # WinUI 3 frontend application
? ??? Views/ # XAML views and windows
? ??? ViewModels/ # MVVM view models
? ??? Services/ # UI-specific services
? ??? Models/ # UI data models
? ??? Resources/ # Localization resources
??? AutomaticRipper.Backend/ # Core business logic
??? Services/ # Business logic services
??? Models/ # Domain models
??? Interfaces/ # Service contracts
??? Extensions/ # Extension methods

Key Components

  • AutomaticRipperBackend: Main orchestration class
  • MakeMkvService: Handles MakeMKV integration and process management
  • OpticalDriveService: Manages optical drive detection and operations
  • FileSystemService: Handles file and directory operations
  • LoggingService: Centralized logging with multiple severity levels

Technology Stack

  • .NET 8: Modern, high-performance runtime
  • WinUI 3: Modern Windows UI framework
  • MVVM Pattern: Clean separation between UI and business logic
  • Dependency Injection: Proper service management and testability
  • Async/Await: Non-blocking operations for better user experience

?? Development

Building from Source

Prerequisites

  • Visual Studio 2022 (17.8 or later) with:
    • .NET 8.0 SDK
    • Windows App SDK workload
    • Windows 10/11 SDK (19041 or later)

Build Steps

git clone https://github.com/Knabbermann/AutomaticRipperClient.git
cd AutomaticRipper
dotnet restore
dotnet build --configuration Release

Project Configuration

The solution includes two main projects:

  • AutomaticRipper.Desktop: WinUI 3 application targeting net8.0-windows10.0.19041.0
  • AutomaticRipper.Backend: Business logic library targeting net8.0

Key Dependencies

  • Microsoft.WindowsAppSDK: WinUI 3 framework
  • Microsoft.Extensions.DependencyInjection: Dependency injection container
  • System.Management: Windows system management APIs

?? Localization

AutomaticRipper supports multiple languages through resource files:

  • English: Default language (AppResources.resx)
  • German: German localization (AppResources.de.resx)

To add a new language:

  1. Create a new resource file: AppResources.[culture].resx
  2. Translate all string resources
  3. Update the language selector in LanguageSelector.xaml

?? Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature enhancements
  • Localization improvements
  • Documentation updates

Development Guidelines

  1. Follow the existing code style and patterns
  2. Include appropriate unit tests for new functionality
  3. Update documentation for significant changes
  4. Test thoroughly on different Windows versions

?? System Requirements

  • OS: Windows 10 (19041) or Windows 11
  • RAM: 4 GB minimum, 8 GB recommended
  • Storage: Sufficient space for ripped content (varies by disc)
  • Optical Drive: DVD or Blu-ray drive
  • Dependencies: MakeMKV (latest version recommended)

?? Troubleshooting

Common Issues

MakeMKV Not Found

  • Ensure MakeMKV is installed from makemkv.com
  • Verify the installation path is in one of the standard locations

No Drives Detected

  • Check that your optical drive is properly connected
  • Ensure a valid DVD/Blu-ray disc is inserted
  • Try the "Refresh" button to re-scan drives

Ripping Fails

  • Check the output directory has sufficient free space
  • Verify write permissions to the output directory
  • Ensure the disc is not damaged or copy-protected beyond MakeMKV's capabilities

Log Files

AutomaticRipper provides detailed logging information. Use the "Copy Logs" button to copy log information for troubleshooting or bug reports.

?? License

This project is licensed under the MIT License - see the LICENSE file for details.

?? Acknowledgments

  • MakeMKV: For providing the core ripping functionality
  • Microsoft: For the excellent WinUI 3 framework
  • Community: For testing, feedback, and contributions

?? Support

For support, please:

  1. Check the Issues page for existing solutions
  2. Create a new issue with detailed information
  3. Include log files when reporting bugs

AutomaticRipper - DVD and Blu-ray ripping made simple.

About

DVD and Blu-ray ripping software with modern WinUI 3 interface, built on .NET 8 and MakeMKV for automated disc detection and streamlined ripping workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

AutomaticRipper

Professional DVD and Blu-ray ripping software built with .NET 8 and WinUI 3.

?? Overview

AutomaticRipper is a modern Windows application that provides an intuitive interface for ripping DVD and Blu-ray discs. Built on top of MakeMKV, it offers automated disc detection, intelligent title selection, and streamlined ripping workflows.

? Features

Core Functionality

  • Automatic Disc Detection: Automatically detects and identifies DVD/Blu-ray discs in optical drives
  • Multiple Ripping Modes:
    • Only largest title (main movie)
    • All titles
    • Titles above specified size threshold
  • Real-time Progress Tracking: Live progress updates during ripping operations
  • Intelligent Drive Management: Automatic ejection after successful ripping
  • Multi-language Support: Currently supports English and German

User Interface

  • Modern WinUI 3 Interface: Clean, responsive design following Windows design principles
  • Real-time Logging: Comprehensive logging with different severity levels
  • Language Selector: Easy switching between supported languages
  • Progress Visualization: Visual progress bars and status indicators

Technical Features

  • MakeMKV Integration: Built on the reliable MakeMKV engine
  • Asynchronous Operations: Non-blocking UI during ripping operations
  • Error Handling: Robust error handling with detailed logging
  • Settings Persistence: Remembers user preferences and settings

?? Getting Started

Prerequisites

  • Operating System: Windows 10 version 19041.0 or later
  • Runtime: .NET 8.0 Runtime (automatically included with the application)
  • MakeMKV: Download and install MakeMKV (required for disc ripping functionality)

Installation

  1. Download the latest release from the Releases page
  2. Extract the downloaded archive to your preferred location
  3. Install MakeMKV from makemkv.com
  4. RunAutomaticRipper.Desktop.exe to start the application

First Run Setup

  1. The application will automatically validate your MakeMKV installation
  2. Insert a DVD or Blu-ray disc into your optical drive
  3. The application will automatically detect available drives with media
  4. Select your desired output directory
  5. Choose your ripping preferences and start ripping

?? Usage Guide

Basic Workflow

  1. Insert Disc: Place a DVD or Blu-ray disc in your optical drive
  2. Automatic Detection: AutomaticRipper will automatically detect the disc
  3. Select Output: Choose where you want the ripped files to be saved
  4. Configure Settings: Select your preferred ripping mode:
    • Only Largest Title: Rips just the main movie (recommended for most users)
    • All Titles: Rips all titles on the disc
    • Titles Above Size: Rips only titles larger than a specified size
  5. Start Ripping: Click "Start Ripping" to begin the process
  6. Monitor Progress: Watch real-time progress and logging information
  7. Automatic Completion: The disc will be automatically ejected when finished

Ripping Modes Explained

  • Only Largest Title: Best for movies - automatically selects the main feature
  • All Titles: Useful for TV series or discs with multiple features
  • Titles Above Size: Filters out small extras, menu videos, and trailers

Language Support

Click the language selector in the top-right corner to switch between supported languages.

??? Architecture

AutomaticRipper follows a clean architecture pattern with clear separation of concerns:

Project Structure

AutomaticRipper/
??? AutomaticRipper.Desktop/ # WinUI 3 frontend application
? ??? Views/ # XAML views and windows
? ??? ViewModels/ # MVVM view models
? ??? Services/ # UI-specific services
? ??? Models/ # UI data models
? ??? Resources/ # Localization resources
??? AutomaticRipper.Backend/ # Core business logic
??? Services/ # Business logic services
??? Models/ # Domain models
??? Interfaces/ # Service contracts
??? Extensions/ # Extension methods

Key Components

  • AutomaticRipperBackend: Main orchestration class
  • MakeMkvService: Handles MakeMKV integration and process management
  • OpticalDriveService: Manages optical drive detection and operations
  • FileSystemService: Handles file and directory operations
  • LoggingService: Centralized logging with multiple severity levels

Technology Stack

  • .NET 8: Modern, high-performance runtime
  • WinUI 3: Modern Windows UI framework
  • MVVM Pattern: Clean separation between UI and business logic
  • Dependency Injection: Proper service management and testability
  • Async/Await: Non-blocking operations for better user experience

?? Development

Building from Source

Prerequisites

  • Visual Studio 2022 (17.8 or later) with:
    • .NET 8.0 SDK
    • Windows App SDK workload
    • Windows 10/11 SDK (19041 or later)

Build Steps

git clone https://github.com/Knabbermann/AutomaticRipperClient.git
cd AutomaticRipper
dotnet restore
dotnet build --configuration Release

Project Configuration

The solution includes two main projects:

  • AutomaticRipper.Desktop: WinUI 3 application targeting net8.0-windows10.0.19041.0
  • AutomaticRipper.Backend: Business logic library targeting net8.0

Key Dependencies

  • Microsoft.WindowsAppSDK: WinUI 3 framework
  • Microsoft.Extensions.DependencyInjection: Dependency injection container
  • System.Management: Windows system management APIs

?? Localization

AutomaticRipper supports multiple languages through resource files:

  • English: Default language (AppResources.resx)
  • German: German localization (AppResources.de.resx)

To add a new language:

  1. Create a new resource file: AppResources.[culture].resx
  2. Translate all string resources
  3. Update the language selector in LanguageSelector.xaml

?? Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature enhancements
  • Localization improvements
  • Documentation updates

Development Guidelines

  1. Follow the existing code style and patterns
  2. Include appropriate unit tests for new functionality
  3. Update documentation for significant changes
  4. Test thoroughly on different Windows versions

?? System Requirements

  • OS: Windows 10 (19041) or Windows 11
  • RAM: 4 GB minimum, 8 GB recommended
  • Storage: Sufficient space for ripped content (varies by disc)
  • Optical Drive: DVD or Blu-ray drive
  • Dependencies: MakeMKV (latest version recommended)

?? Troubleshooting

Common Issues

MakeMKV Not Found

  • Ensure MakeMKV is installed from makemkv.com
  • Verify the installation path is in one of the standard locations

No Drives Detected

  • Check that your optical drive is properly connected
  • Ensure a valid DVD/Blu-ray disc is inserted
  • Try the "Refresh" button to re-scan drives

Ripping Fails

  • Check the output directory has sufficient free space
  • Verify write permissions to the output directory
  • Ensure the disc is not damaged or copy-protected beyond MakeMKV's capabilities

Log Files

AutomaticRipper provides detailed logging information. Use the "Copy Logs" button to copy log information for troubleshooting or bug reports.

?? License

This project is licensed under the MIT License - see the LICENSE file for details.

?? Acknowledgments

  • MakeMKV: For providing the core ripping functionality
  • Microsoft: For the excellent WinUI 3 framework
  • Community: For testing, feedback, and contributions

?? Support

For support, please:

  1. Check the Issues page for existing solutions
  2. Create a new issue with detailed information
  3. Include log files when reporting bugs

AutomaticRipper - DVD and Blu-ray ripping made simple.

About

DVD and Blu-ray ripping software with modern WinUI 3 interface, built on .NET 8 and MakeMKV for automated disc detection and streamlined ripping workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AutomaticRipper

Professional DVD and Blu-ray ripping software built with .NET 8 and WinUI 3.

?? Overview

AutomaticRipper is a modern Windows application that provides an intuitive interface for ripping DVD and Blu-ray discs. Built on top of MakeMKV, it offers automated disc detection, intelligent title selection, and streamlined ripping workflows.

? Features

Core Functionality

  • Automatic Disc Detection: Automatically detects and identifies DVD/Blu-ray discs in optical drives
  • Multiple Ripping Modes:
    • Only largest title (main movie)
    • All titles
    • Titles above specified size threshold
  • Real-time Progress Tracking: Live progress updates during ripping operations
  • Intelligent Drive Management: Automatic ejection after successful ripping
  • Multi-language Support: Currently supports English and German

User Interface

  • Modern WinUI 3 Interface: Clean, responsive design following Windows design principles
  • Real-time Logging: Comprehensive logging with different severity levels
  • Language Selector: Easy switching between supported languages
  • Progress Visualization: Visual progress bars and status indicators

Technical Features

  • MakeMKV Integration: Built on the reliable MakeMKV engine
  • Asynchronous Operations: Non-blocking UI during ripping operations
  • Error Handling: Robust error handling with detailed logging
  • Settings Persistence: Remembers user preferences and settings

?? Getting Started

Prerequisites

  • Operating System: Windows 10 version 19041.0 or later
  • Runtime: .NET 8.0 Runtime (automatically included with the application)
  • MakeMKV: Download and install MakeMKV (required for disc ripping functionality)

Installation

  1. Download the latest release from the Releases page
  2. Extract the downloaded archive to your preferred location
  3. Install MakeMKV from makemkv.com
  4. RunAutomaticRipper.Desktop.exe to start the application

First Run Setup

  1. The application will automatically validate your MakeMKV installation
  2. Insert a DVD or Blu-ray disc into your optical drive
  3. The application will automatically detect available drives with media
  4. Select your desired output directory
  5. Choose your ripping preferences and start ripping

?? Usage Guide

Basic Workflow

  1. Insert Disc: Place a DVD or Blu-ray disc in your optical drive
  2. Automatic Detection: AutomaticRipper will automatically detect the disc
  3. Select Output: Choose where you want the ripped files to be saved
  4. Configure Settings: Select your preferred ripping mode:
    • Only Largest Title: Rips just the main movie (recommended for most users)
    • All Titles: Rips all titles on the disc
    • Titles Above Size: Rips only titles larger than a specified size
  5. Start Ripping: Click "Start Ripping" to begin the process
  6. Monitor Progress: Watch real-time progress and logging information
  7. Automatic Completion: The disc will be automatically ejected when finished

Ripping Modes Explained

  • Only Largest Title: Best for movies - automatically selects the main feature
  • All Titles: Useful for TV series or discs with multiple features
  • Titles Above Size: Filters out small extras, menu videos, and trailers

Language Support

Click the language selector in the top-right corner to switch between supported languages.

??? Architecture

AutomaticRipper follows a clean architecture pattern with clear separation of concerns:

Project Structure

AutomaticRipper/
??? AutomaticRipper.Desktop/ # WinUI 3 frontend application
? ??? Views/ # XAML views and windows
? ??? ViewModels/ # MVVM view models
? ??? Services/ # UI-specific services
? ??? Models/ # UI data models
? ??? Resources/ # Localization resources
??? AutomaticRipper.Backend/ # Core business logic
??? Services/ # Business logic services
??? Models/ # Domain models
??? Interfaces/ # Service contracts
??? Extensions/ # Extension methods

Key Components

  • AutomaticRipperBackend: Main orchestration class
  • MakeMkvService: Handles MakeMKV integration and process management
  • OpticalDriveService: Manages optical drive detection and operations
  • FileSystemService: Handles file and directory operations
  • LoggingService: Centralized logging with multiple severity levels

Technology Stack

  • .NET 8: Modern, high-performance runtime
  • WinUI 3: Modern Windows UI framework
  • MVVM Pattern: Clean separation between UI and business logic
  • Dependency Injection: Proper service management and testability
  • Async/Await: Non-blocking operations for better user experience

?? Development

Building from Source

Prerequisites

  • Visual Studio 2022 (17.8 or later) with:
    • .NET 8.0 SDK
    • Windows App SDK workload
    • Windows 10/11 SDK (19041 or later)

Build Steps

git clone https://github.com/Knabbermann/AutomaticRipperClient.git
cd AutomaticRipper
dotnet restore
dotnet build --configuration Release

Project Configuration

The solution includes two main projects:

  • AutomaticRipper.Desktop: WinUI 3 application targeting net8.0-windows10.0.19041.0
  • AutomaticRipper.Backend: Business logic library targeting net8.0

Key Dependencies

  • Microsoft.WindowsAppSDK: WinUI 3 framework
  • Microsoft.Extensions.DependencyInjection: Dependency injection container
  • System.Management: Windows system management APIs

?? Localization

AutomaticRipper supports multiple languages through resource files:

  • English: Default language (AppResources.resx)
  • German: German localization (AppResources.de.resx)

To add a new language:

  1. Create a new resource file: AppResources.[culture].resx
  2. Translate all string resources
  3. Update the language selector in LanguageSelector.xaml

?? Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature enhancements
  • Localization improvements
  • Documentation updates

Development Guidelines

  1. Follow the existing code style and patterns
  2. Include appropriate unit tests for new functionality
  3. Update documentation for significant changes
  4. Test thoroughly on different Windows versions

?? System Requirements

  • OS: Windows 10 (19041) or Windows 11
  • RAM: 4 GB minimum, 8 GB recommended
  • Storage: Sufficient space for ripped content (varies by disc)
  • Optical Drive: DVD or Blu-ray drive
  • Dependencies: MakeMKV (latest version recommended)

?? Troubleshooting

Common Issues

MakeMKV Not Found

  • Ensure MakeMKV is installed from makemkv.com
  • Verify the installation path is in one of the standard locations

No Drives Detected

  • Check that your optical drive is properly connected
  • Ensure a valid DVD/Blu-ray disc is inserted
  • Try the "Refresh" button to re-scan drives

Ripping Fails

  • Check the output directory has sufficient free space
  • Verify write permissions to the output directory
  • Ensure the disc is not damaged or copy-protected beyond MakeMKV's capabilities

Log Files

AutomaticRipper provides detailed logging information. Use the "Copy Logs" button to copy log information for troubleshooting or bug reports.

?? License

This project is licensed under the MIT License - see the LICENSE file for details.

?? Acknowledgments

  • MakeMKV: For providing the core ripping functionality
  • Microsoft: For the excellent WinUI 3 framework
  • Community: For testing, feedback, and contributions

?? Support

For support, please:

  1. Check the Issues page for existing solutions
  2. Create a new issue with detailed information
  3. Include log files when reporting bugs

AutomaticRipper - DVD and Blu-ray ripping made simple.

About

DVD and Blu-ray ripping software with modern WinUI 3 interface, built on .NET 8 and MakeMKV for automated disc detection and streamlined ripping workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AutomaticRipper

Professional DVD and Blu-ray ripping software built with .NET 8 and WinUI 3.

?? Overview

AutomaticRipper is a modern Windows application that provides an intuitive interface for ripping DVD and Blu-ray discs. Built on top of MakeMKV, it offers automated disc detection, intelligent title selection, and streamlined ripping workflows.

? Features

Core Functionality

  • Automatic Disc Detection: Automatically detects and identifies DVD/Blu-ray discs in optical drives
  • Multiple Ripping Modes:
    • Only largest title (main movie)
    • All titles
    • Titles above specified size threshold
  • Real-time Progress Tracking: Live progress updates during ripping operations
  • Intelligent Drive Management: Automatic ejection after successful ripping
  • Multi-language Support: Currently supports English and German

User Interface

  • Modern WinUI 3 Interface: Clean, responsive design following Windows design principles
  • Real-time Logging: Comprehensive logging with different severity levels
  • Language Selector: Easy switching between supported languages
  • Progress Visualization: Visual progress bars and status indicators

Technical Features

  • MakeMKV Integration: Built on the reliable MakeMKV engine
  • Asynchronous Operations: Non-blocking UI during ripping operations
  • Error Handling: Robust error handling with detailed logging
  • Settings Persistence: Remembers user preferences and settings

?? Getting Started

Prerequisites

  • Operating System: Windows 10 version 19041.0 or later
  • Runtime: .NET 8.0 Runtime (automatically included with the application)
  • MakeMKV: Download and install MakeMKV (required for disc ripping functionality)

Installation

  1. Download the latest release from the Releases page
  2. Extract the downloaded archive to your preferred location
  3. Install MakeMKV from makemkv.com
  4. RunAutomaticRipper.Desktop.exe to start the application

First Run Setup

  1. The application will automatically validate your MakeMKV installation
  2. Insert a DVD or Blu-ray disc into your optical drive
  3. The application will automatically detect available drives with media
  4. Select your desired output directory
  5. Choose your ripping preferences and start ripping

?? Usage Guide

Basic Workflow

  1. Insert Disc: Place a DVD or Blu-ray disc in your optical drive
  2. Automatic Detection: AutomaticRipper will automatically detect the disc
  3. Select Output: Choose where you want the ripped files to be saved
  4. Configure Settings: Select your preferred ripping mode:
    • Only Largest Title: Rips just the main movie (recommended for most users)
    • All Titles: Rips all titles on the disc
    • Titles Above Size: Rips only titles larger than a specified size
  5. Start Ripping: Click "Start Ripping" to begin the process
  6. Monitor Progress: Watch real-time progress and logging information
  7. Automatic Completion: The disc will be automatically ejected when finished

Ripping Modes Explained

  • Only Largest Title: Best for movies - automatically selects the main feature
  • All Titles: Useful for TV series or discs with multiple features
  • Titles Above Size: Filters out small extras, menu videos, and trailers

Language Support

Click the language selector in the top-right corner to switch between supported languages.

??? Architecture

AutomaticRipper follows a clean architecture pattern with clear separation of concerns:

Project Structure

AutomaticRipper/
??? AutomaticRipper.Desktop/ # WinUI 3 frontend application
? ??? Views/ # XAML views and windows
? ??? ViewModels/ # MVVM view models
? ??? Services/ # UI-specific services
? ??? Models/ # UI data models
? ??? Resources/ # Localization resources
??? AutomaticRipper.Backend/ # Core business logic
??? Services/ # Business logic services
??? Models/ # Domain models
??? Interfaces/ # Service contracts
??? Extensions/ # Extension methods

Key Components

  • AutomaticRipperBackend: Main orchestration class
  • MakeMkvService: Handles MakeMKV integration and process management
  • OpticalDriveService: Manages optical drive detection and operations
  • FileSystemService: Handles file and directory operations
  • LoggingService: Centralized logging with multiple severity levels

Technology Stack

  • .NET 8: Modern, high-performance runtime
  • WinUI 3: Modern Windows UI framework
  • MVVM Pattern: Clean separation between UI and business logic
  • Dependency Injection: Proper service management and testability
  • Async/Await: Non-blocking operations for better user experience

?? Development

Building from Source

Prerequisites

  • Visual Studio 2022 (17.8 or later) with:
    • .NET 8.0 SDK
    • Windows App SDK workload
    • Windows 10/11 SDK (19041 or later)

Build Steps

git clone https://github.com/Knabbermann/AutomaticRipperClient.git
cd AutomaticRipper
dotnet restore
dotnet build --configuration Release

Project Configuration

The solution includes two main projects:

  • AutomaticRipper.Desktop: WinUI 3 application targeting net8.0-windows10.0.19041.0
  • AutomaticRipper.Backend: Business logic library targeting net8.0

Key Dependencies

  • Microsoft.WindowsAppSDK: WinUI 3 framework
  • Microsoft.Extensions.DependencyInjection: Dependency injection container
  • System.Management: Windows system management APIs

?? Localization

AutomaticRipper supports multiple languages through resource files:

  • English: Default language (AppResources.resx)
  • German: German localization (AppResources.de.resx)

To add a new language:

  1. Create a new resource file: AppResources.[culture].resx
  2. Translate all string resources
  3. Update the language selector in LanguageSelector.xaml

?? Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature enhancements
  • Localization improvements
  • Documentation updates

Development Guidelines

  1. Follow the existing code style and patterns
  2. Include appropriate unit tests for new functionality
  3. Update documentation for significant changes
  4. Test thoroughly on different Windows versions

?? System Requirements

  • OS: Windows 10 (19041) or Windows 11
  • RAM: 4 GB minimum, 8 GB recommended
  • Storage: Sufficient space for ripped content (varies by disc)
  • Optical Drive: DVD or Blu-ray drive
  • Dependencies: MakeMKV (latest version recommended)

?? Troubleshooting

Common Issues

MakeMKV Not Found

  • Ensure MakeMKV is installed from makemkv.com
  • Verify the installation path is in one of the standard locations

No Drives Detected

  • Check that your optical drive is properly connected
  • Ensure a valid DVD/Blu-ray disc is inserted
  • Try the "Refresh" button to re-scan drives

Ripping Fails

  • Check the output directory has sufficient free space
  • Verify write permissions to the output directory
  • Ensure the disc is not damaged or copy-protected beyond MakeMKV's capabilities

Log Files

AutomaticRipper provides detailed logging information. Use the "Copy Logs" button to copy log information for troubleshooting or bug reports.

?? License

This project is licensed under the MIT License - see the LICENSE file for details.

?? Acknowledgments

  • MakeMKV: For providing the core ripping functionality
  • Microsoft: For the excellent WinUI 3 framework
  • Community: For testing, feedback, and contributions

?? Support

For support, please:

  1. Check the Issues page for existing solutions
  2. Create a new issue with detailed information
  3. Include log files when reporting bugs

AutomaticRipper - DVD and Blu-ray ripping made simple.

About

DVD and Blu-ray ripping software with modern WinUI 3 interface, built on .NET 8 and MakeMKV for automated disc detection and streamlined ripping workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

AutomaticRipper

Professional DVD and Blu-ray ripping software built with .NET 8 and WinUI 3.

?? Overview

AutomaticRipper is a modern Windows application that provides an intuitive interface for ripping DVD and Blu-ray discs. Built on top of MakeMKV, it offers automated disc detection, intelligent title selection, and streamlined ripping workflows.

? Features

Core Functionality

  • Automatic Disc Detection: Automatically detects and identifies DVD/Blu-ray discs in optical drives
  • Multiple Ripping Modes:
    • Only largest title (main movie)
    • All titles
    • Titles above specified size threshold
  • Real-time Progress Tracking: Live progress updates during ripping operations
  • Intelligent Drive Management: Automatic ejection after successful ripping
  • Multi-language Support: Currently supports English and German

User Interface

  • Modern WinUI 3 Interface: Clean, responsive design following Windows design principles
  • Real-time Logging: Comprehensive logging with different severity levels
  • Language Selector: Easy switching between supported languages
  • Progress Visualization: Visual progress bars and status indicators

Technical Features

  • MakeMKV Integration: Built on the reliable MakeMKV engine
  • Asynchronous Operations: Non-blocking UI during ripping operations
  • Error Handling: Robust error handling with detailed logging
  • Settings Persistence: Remembers user preferences and settings

?? Getting Started

Prerequisites

  • Operating System: Windows 10 version 19041.0 or later
  • Runtime: .NET 8.0 Runtime (automatically included with the application)
  • MakeMKV: Download and install MakeMKV (required for disc ripping functionality)

Installation

  1. Download the latest release from the Releases page
  2. Extract the downloaded archive to your preferred location
  3. Install MakeMKV from makemkv.com
  4. RunAutomaticRipper.Desktop.exe to start the application

First Run Setup

  1. The application will automatically validate your MakeMKV installation
  2. Insert a DVD or Blu-ray disc into your optical drive
  3. The application will automatically detect available drives with media
  4. Select your desired output directory
  5. Choose your ripping preferences and start ripping

?? Usage Guide

Basic Workflow

  1. Insert Disc: Place a DVD or Blu-ray disc in your optical drive
  2. Automatic Detection: AutomaticRipper will automatically detect the disc
  3. Select Output: Choose where you want the ripped files to be saved
  4. Configure Settings: Select your preferred ripping mode:
    • Only Largest Title: Rips just the main movie (recommended for most users)
    • All Titles: Rips all titles on the disc
    • Titles Above Size: Rips only titles larger than a specified size
  5. Start Ripping: Click "Start Ripping" to begin the process
  6. Monitor Progress: Watch real-time progress and logging information
  7. Automatic Completion: The disc will be automatically ejected when finished

Ripping Modes Explained

  • Only Largest Title: Best for movies - automatically selects the main feature
  • All Titles: Useful for TV series or discs with multiple features
  • Titles Above Size: Filters out small extras, menu videos, and trailers

Language Support

Click the language selector in the top-right corner to switch between supported languages.

??? Architecture

AutomaticRipper follows a clean architecture pattern with clear separation of concerns:

Project Structure

AutomaticRipper/
??? AutomaticRipper.Desktop/ # WinUI 3 frontend application
? ??? Views/ # XAML views and windows
? ??? ViewModels/ # MVVM view models
? ??? Services/ # UI-specific services
? ??? Models/ # UI data models
? ??? Resources/ # Localization resources
??? AutomaticRipper.Backend/ # Core business logic
??? Services/ # Business logic services
??? Models/ # Domain models
??? Interfaces/ # Service contracts
??? Extensions/ # Extension methods

Key Components

  • AutomaticRipperBackend: Main orchestration class
  • MakeMkvService: Handles MakeMKV integration and process management
  • OpticalDriveService: Manages optical drive detection and operations
  • FileSystemService: Handles file and directory operations
  • LoggingService: Centralized logging with multiple severity levels

Technology Stack

  • .NET 8: Modern, high-performance runtime
  • WinUI 3: Modern Windows UI framework
  • MVVM Pattern: Clean separation between UI and business logic
  • Dependency Injection: Proper service management and testability
  • Async/Await: Non-blocking operations for better user experience

?? Development

Building from Source

Prerequisites

  • Visual Studio 2022 (17.8 or later) with:
    • .NET 8.0 SDK
    • Windows App SDK workload
    • Windows 10/11 SDK (19041 or later)

Build Steps

git clone https://github.com/Knabbermann/AutomaticRipperClient.git
cd AutomaticRipper
dotnet restore
dotnet build --configuration Release

Project Configuration

The solution includes two main projects:

  • AutomaticRipper.Desktop: WinUI 3 application targeting net8.0-windows10.0.19041.0
  • AutomaticRipper.Backend: Business logic library targeting net8.0

Key Dependencies

  • Microsoft.WindowsAppSDK: WinUI 3 framework
  • Microsoft.Extensions.DependencyInjection: Dependency injection container
  • System.Management: Windows system management APIs

?? Localization

AutomaticRipper supports multiple languages through resource files:

  • English: Default language (AppResources.resx)
  • German: German localization (AppResources.de.resx)

To add a new language:

  1. Create a new resource file: AppResources.[culture].resx
  2. Translate all string resources
  3. Update the language selector in LanguageSelector.xaml

?? Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature enhancements
  • Localization improvements
  • Documentation updates

Development Guidelines

  1. Follow the existing code style and patterns
  2. Include appropriate unit tests for new functionality
  3. Update documentation for significant changes
  4. Test thoroughly on different Windows versions

?? System Requirements

  • OS: Windows 10 (19041) or Windows 11
  • RAM: 4 GB minimum, 8 GB recommended
  • Storage: Sufficient space for ripped content (varies by disc)
  • Optical Drive: DVD or Blu-ray drive
  • Dependencies: MakeMKV (latest version recommended)

?? Troubleshooting

Common Issues

MakeMKV Not Found

  • Ensure MakeMKV is installed from makemkv.com
  • Verify the installation path is in one of the standard locations

No Drives Detected

  • Check that your optical drive is properly connected
  • Ensure a valid DVD/Blu-ray disc is inserted
  • Try the "Refresh" button to re-scan drives

Ripping Fails

  • Check the output directory has sufficient free space
  • Verify write permissions to the output directory
  • Ensure the disc is not damaged or copy-protected beyond MakeMKV's capabilities

Log Files

AutomaticRipper provides detailed logging information. Use the "Copy Logs" button to copy log information for troubleshooting or bug reports.

?? License

This project is licensed under the MIT License - see the LICENSE file for details.

?? Acknowledgments

  • MakeMKV: For providing the core ripping functionality
  • Microsoft: For the excellent WinUI 3 framework
  • Community: For testing, feedback, and contributions

?? Support

For support, please:

  1. Check the Issues page for existing solutions
  2. Create a new issue with detailed information
  3. Include log files when reporting bugs

AutomaticRipper - DVD and Blu-ray ripping made simple.

About

DVD and Blu-ray ripping software with modern WinUI 3 interface, built on .NET 8 and MakeMKV for automated disc detection and streamlined ripping workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages