├── App.ico
├── Icon.png
├── play.ico
├── pause.ico
├── x264_logo.gif
├── lib_x64
├── 7z.dll
├── MediaInfo.dll
└── AvisynthWrapper.dll
├── lib_x86
├── 7z.dll
├── MediaInfo.dll
└── AvisynthWrapper.dll
├── Changelog_full.txt
├── lib
├── SevenZipSharp.dll
└── ICSharpCode.SharpZipLib.dll
├── obj
└── x64
│ └── Debug
│ ├── MeGUI.csproj.CoreCompileInputs.cache
│ ├── MeGUI.exe
│ ├── MeGUI.pdb
│ ├── MeGUI.Calculator.resources
│ ├── MeGUI.csproj.AssemblyReference.cache
│ ├── MeGUI.csproj.GenerateResource.cache
│ ├── DesignTimeResolveAssemblyReferences.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── MeGUI.packages.tools.calculator.ExtraSizeTab.resources
│ └── MeGUI.packages.tools.calculator.AudioTrackSizeTab.resources
├── core
├── util
│ ├── LanguageSelectionContainer.cs
│ ├── DeinterlaceFilter.cs
│ ├── Exceptions.cs
│ ├── SubtitleUtil.cs
│ ├── Drives.cs
│ ├── HttpProxy.cs
│ └── NotifyCounter.cs
├── gui
│ ├── StandardAndCustomComboBox.Designer.cs
│ ├── SplashScreen.cs
│ ├── ConfigableProfilesControl.cs
│ ├── ProgressWindowInfo.cs
│ ├── HelpButton.cs
│ ├── VideoPlayerControl.Designer.cs
│ ├── AudioEncodingWindow.cs
│ ├── ZonesWindow.cs
│ ├── TextViewer.cs
│ ├── HelpButton.Designer.cs
│ ├── InputBox.cs
│ ├── NumberChooser.cs
│ ├── AdaptiveMuxWindow.Designer.cs
│ ├── AudioEncodingWindow.Designer.cs
│ └── FileSCBox.cs
├── plugins
│ └── interfaces
│ │ ├── IPackage.cs
│ │ ├── JobProcessorManager.cs
│ │ └── ISettingsProvider.cs
└── details
│ ├── VideoTrackInfo.cs
│ ├── MediaFileFactory.cs
│ ├── SubtitleTrackInfo.cs
│ ├── video
│ └── VideoJob.cs
│ ├── PackageSystem.cs
│ └── mux
│ └── MuxWindow.Designer.cs
├── packages
├── tools
│ ├── avscreator
│ │ ├── AvisynthWrapper.dll
│ │ └── AviSynthJob.cs
│ ├── hdbdextractor
│ │ ├── eac3to
│ │ │ ├── Stream.cs
│ │ │ ├── Chapter.cs
│ │ │ ├── StreamType.cs
│ │ │ ├── VideoStreamType.cs
│ │ │ ├── File.cs
│ │ │ ├── AudioStreamType.cs
│ │ │ ├── ChapterStream.cs
│ │ │ └── JoinStream.cs
│ │ ├── CustomDataGridView.cs
│ │ └── HDStreamsExJob.cs
│ ├── chaptercreator
│ │ ├── TextExtractor.cs
│ │ ├── BDInfo
│ │ │ ├── TSStreamFile.cs
│ │ │ └── TSStreamClip.cs
│ │ ├── ChapterExtractor.cs
│ │ ├── BlurayExtractor.cs
│ │ ├── MediaInfoExtractor.cs
│ │ └── Chapter.cs
│ ├── mp4fpsmod
│ │ ├── MP4FpsModJob.cs
│ │ └── MP4FpsMod.cs
│ ├── fileindexer
│ │ ├── D2VIndexJob.cs
│ │ ├── LSMASHIndexJob.cs
│ │ ├── FFMSIndexJob.cs
│ │ ├── DGIIndexJob.cs
│ │ ├── DGMIndexJob.cs
│ │ └── IndexJob.cs
│ ├── besplitter
│ │ ├── AudioJoinJob.cs
│ │ └── AudioSplitJob.cs
│ ├── oneclick
│ │ ├── OneClickAudioTrack.cs
│ │ └── OneClickPostProcessingJob.cs
│ ├── calculator
│ │ └── ExtraSizeTab.cs
│ ├── worker
│ │ └── WorkerPriority.cs
│ └── sourcedetector
│ │ └── SourceDetectorConfigWindow.cs
├── audio
│ ├── naac
│ │ ├── neroConfigurationPanel.Designer.cs
│ │ └── NeroAACSettings.cs
│ ├── ffthd
│ │ ├── THDSettings.cs
│ │ └── THDConfigurationPanel.cs
│ ├── vorbis
│ │ ├── OggVorbisSettings.cs
│ │ └── OggVorbisConfigurationPanel.cs
│ ├── ffmp2
│ │ ├── MP2Settings.cs
│ │ └── MP2ConfigurationPanel.cs
│ ├── exhale
│ │ └── ExhaleSettings.cs
│ ├── opus
│ │ ├── OpusSettings.cs
│ │ └── OpusConfigurationPanel.Designer.cs
│ ├── ffdca
│ │ ├── DCASettings.cs
│ │ └── DCAConfigurationPanel.cs
│ ├── flac
│ │ ├── FlacSettings.cs
│ │ └── FlacConfigurationPanel.cs
│ ├── ffac3
│ │ ├── AC3Settings.cs
│ │ └── AC3ConfigurationPanel.cs
│ ├── ffeac3
│ │ ├── EAC3Settings.cs
│ │ └── EAC3ConfigurationPanel.cs
│ ├── ffaac
│ │ └── FFAACSettings.cs
│ ├── lame
│ │ └── MP3Settings.cs
│ └── qaac
│ │ └── QaacSettings.cs
├── video
│ └── huffyuv
│ │ └── hfyuSettings.cs
├── reader
│ ├── mediainfo
│ │ └── wrapper
│ │ │ └── ChaptersTrack.cs
│ └── ttxt
│ │ └── ttxtReader.cs
└── demuxer
│ └── mkvextract
│ └── MkvExtractJob.cs
├── packages.config
├── app.config
├── MeGUI.csproj.user
├── MeGUI.sln
├── README.md
├── Settings.cs
├── Properties
└── Resources.Designer.cs
└── Changelog.txt
/App.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/App.ico
--------------------------------------------------------------------------------
/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/Icon.png
--------------------------------------------------------------------------------
/play.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/play.ico
--------------------------------------------------------------------------------
/pause.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/pause.ico
--------------------------------------------------------------------------------
/x264_logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/x264_logo.gif
--------------------------------------------------------------------------------
/lib_x64/7z.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/lib_x64/7z.dll
--------------------------------------------------------------------------------
/lib_x86/7z.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/lib_x86/7z.dll
--------------------------------------------------------------------------------
/Changelog_full.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/Changelog_full.txt
--------------------------------------------------------------------------------
/lib/SevenZipSharp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/lib/SevenZipSharp.dll
--------------------------------------------------------------------------------
/lib_x64/MediaInfo.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/lib_x64/MediaInfo.dll
--------------------------------------------------------------------------------
/lib_x86/MediaInfo.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/lib_x86/MediaInfo.dll
--------------------------------------------------------------------------------
/obj/x64/Debug/MeGUI.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 7f3f68876dde409afb64b703c79785ee95aede8a
2 |
--------------------------------------------------------------------------------
/obj/x64/Debug/MeGUI.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/obj/x64/Debug/MeGUI.exe
--------------------------------------------------------------------------------
/obj/x64/Debug/MeGUI.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/obj/x64/Debug/MeGUI.pdb
--------------------------------------------------------------------------------
/lib_x64/AvisynthWrapper.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/lib_x64/AvisynthWrapper.dll
--------------------------------------------------------------------------------
/lib_x86/AvisynthWrapper.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/lib_x86/AvisynthWrapper.dll
--------------------------------------------------------------------------------
/lib/ICSharpCode.SharpZipLib.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/lib/ICSharpCode.SharpZipLib.dll
--------------------------------------------------------------------------------
/core/util/LanguageSelectionContainer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/core/util/LanguageSelectionContainer.cs
--------------------------------------------------------------------------------
/obj/x64/Debug/MeGUI.Calculator.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/obj/x64/Debug/MeGUI.Calculator.resources
--------------------------------------------------------------------------------
/packages/tools/avscreator/AvisynthWrapper.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/packages/tools/avscreator/AvisynthWrapper.dll
--------------------------------------------------------------------------------
/packages/tools/hdbdextractor/eac3to/Stream.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/packages/tools/hdbdextractor/eac3to/Stream.cs
--------------------------------------------------------------------------------
/obj/x64/Debug/MeGUI.csproj.AssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/obj/x64/Debug/MeGUI.csproj.AssemblyReference.cache
--------------------------------------------------------------------------------
/obj/x64/Debug/MeGUI.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/obj/x64/Debug/MeGUI.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/obj/x64/Debug/DesignTimeResolveAssemblyReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/obj/x64/Debug/DesignTimeResolveAssemblyReferences.cache
--------------------------------------------------------------------------------
/obj/x64/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/obj/x64/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/obj/x64/Debug/MeGUI.packages.tools.calculator.ExtraSizeTab.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/obj/x64/Debug/MeGUI.packages.tools.calculator.ExtraSizeTab.resources
--------------------------------------------------------------------------------
/obj/x64/Debug/MeGUI.packages.tools.calculator.AudioTrackSizeTab.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kurtnoise-zeus/megui/HEAD/obj/x64/Debug/MeGUI.packages.tools.calculator.AudioTrackSizeTab.resources
--------------------------------------------------------------------------------
/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/MeGUI.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | publish\
5 |
6 |
7 |
8 |
9 |
10 | fr-FR
11 | false
12 |
13 |
--------------------------------------------------------------------------------
/packages/audio/naac/neroConfigurationPanel.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace MeGUI.packages.audio.naac
2 | {
3 | partial class neroConfigurationPanel
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | #endregion
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/core/gui/StandardAndCustomComboBox.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace MeGUI.core.gui
2 | {
3 | partial class StandardAndCustomComboBox
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | }
33 |
34 | #endregion
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/core/gui/SplashScreen.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2023 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System.Windows.Forms;
22 |
23 | namespace MeGUI.core.gui
24 | {
25 | public partial class SplashScreen : Form
26 | {
27 | public SplashScreen()
28 | {
29 | InitializeComponent();
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/MeGUI.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Visual Studio 2010
3 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MeGUI", "MeGUI.csproj", "{12D5215B-0254-4616-A53C-C8B7B6A2C8E9}"
4 | EndProject
5 | Global
6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
7 | Debug|x64 = Debug|x64
8 | Debug|x86 = Debug|x86
9 | Release|x64 = Release|x64
10 | Release|x86 = Release|x86
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {12D5215B-0254-4616-A53C-C8B7B6A2C8E9}.Debug|x64.ActiveCfg = Debug|x64
14 | {12D5215B-0254-4616-A53C-C8B7B6A2C8E9}.Debug|x64.Build.0 = Debug|x64
15 | {12D5215B-0254-4616-A53C-C8B7B6A2C8E9}.Debug|x86.ActiveCfg = Debug|x86
16 | {12D5215B-0254-4616-A53C-C8B7B6A2C8E9}.Debug|x86.Build.0 = Debug|x86
17 | {12D5215B-0254-4616-A53C-C8B7B6A2C8E9}.Release|x64.ActiveCfg = Release|x64
18 | {12D5215B-0254-4616-A53C-C8B7B6A2C8E9}.Release|x64.Build.0 = Release|x64
19 | {12D5215B-0254-4616-A53C-C8B7B6A2C8E9}.Release|x86.ActiveCfg = Release|x86
20 | {12D5215B-0254-4616-A53C-C8B7B6A2C8E9}.Release|x86.Build.0 = Release|x86
21 | EndGlobalSection
22 | GlobalSection(SolutionProperties) = preSolution
23 | HideSolutionNode = FALSE
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/core/plugins/interfaces/IPackage.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 |
23 | namespace MeGUI.core.plugins.interfaces
24 | {
25 | public interface ITool : IIDable
26 | {
27 | string Name { get;}
28 | void Run(MainForm info);
29 | System.Windows.Forms.Shortcut[] Shortcuts { get;}
30 | }
31 | }
--------------------------------------------------------------------------------
/packages/tools/chaptercreator/TextExtractor.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2009 Jarrett Vance
4 | //
5 | // code from http://jvance.com/pages/ChapterGrabber.xhtml
6 | //
7 | // ****************************************************************************
8 |
9 | using System;
10 | using System.Collections.Generic;
11 | using System.IO;
12 |
13 | namespace MeGUI
14 | {
15 | public class TextExtractor : ChapterExtractor
16 | {
17 | public override bool SupportsMultipleStreams
18 | {
19 | get { return false; }
20 | }
21 |
22 | public override string[] Extensions
23 | {
24 | get { return new string[] { "txt" }; }
25 | }
26 |
27 | public override List GetStreams(string location)
28 | {
29 | ChapterInfo oChapterInfo = new ChapterInfo();
30 | if (!oChapterInfo.LoadFile(location))
31 | {
32 | OnExtractionComplete();
33 | return new List();
34 | }
35 |
36 | List pgcs = new List();
37 | pgcs.Add(oChapterInfo);
38 |
39 | OnStreamDetected(pgcs[0]);
40 | OnChaptersLoaded(pgcs[0]);
41 | OnExtractionComplete();
42 | return pgcs;
43 | }
44 | }
45 | }
--------------------------------------------------------------------------------
/core/gui/ConfigableProfilesControl.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 |
23 | namespace MeGUI.core.gui
24 | {
25 | public partial class ConfigableProfilesControl : MeGUI.core.gui.SimpleProfilesControl
26 | {
27 | public ConfigableProfilesControl()
28 | {
29 | InitializeComponent();
30 | }
31 |
32 | private void config_Click(object sender, EventArgs e)
33 | {
34 | Manager.Configure(SelectedProfile, UpdateSelectedProfile, GetInstance);
35 | }
36 | }
37 | }
--------------------------------------------------------------------------------
/packages/tools/hdbdextractor/eac3to/Chapter.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 |
23 | namespace eac3to
24 | {
25 | /// A Chapter
26 | public class Chapter
27 | {
28 | public Chapter() { }
29 |
30 | /// Chapter Number
31 | public int Number { get; set; }
32 | /// Chapter TimeStamp
33 | public DateTime Time { get; set; }
34 | /// Chapter Name
35 | public string Name { get; set; }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/packages/tools/chaptercreator/BDInfo/TSStreamFile.cs:
--------------------------------------------------------------------------------
1 | //============================================================================
2 | // BDInfo - Blu-ray Video and Audio Analysis Tool
3 | // Copyright © 2010 Cinema Squid
4 | //
5 | // This library is free software; you can redistribute it and/or
6 | // modify it under the terms of the GNU Lesser General Public
7 | // License as published by the Free Software Foundation; either
8 | // version 2.1 of the License, or (at your option) any later version.
9 | //
10 | // This library is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | // Lesser General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU Lesser General Public
16 | // License along with this library; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //=============================================================================
19 |
20 | using System;
21 | using System.Collections.Generic;
22 | using System.Diagnostics;
23 | using System.IO;
24 | using System.Text;
25 |
26 | namespace BDInfo
27 | {
28 | public class TSStreamFile
29 | {
30 | public FileInfo FileInfo = null;
31 | public string Name = null;
32 |
33 | public TSStreamFile(FileInfo fileInfo)
34 | {
35 | FileInfo = fileInfo;
36 | Name = fileInfo.Name.ToUpper();
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/packages/tools/hdbdextractor/eac3to/StreamType.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using MeGUI.packages.tools.hdbdextractor;
22 |
23 | namespace eac3to
24 | {
25 | /// An enumeration of Stream types
26 | public enum StreamType
27 | {
28 | [StringValue("Join")]
29 | Join,
30 | [StringValue("Chapter")]
31 | Chapter,
32 | [StringValue("Video")]
33 | Video,
34 | [StringValue("Audio")]
35 | Audio,
36 | [StringValue("Subtitle")]
37 | Subtitle,
38 | [StringValue("Unknown")]
39 | Unknown
40 | }
41 | }
--------------------------------------------------------------------------------
/packages/video/huffyuv/hfyuSettings.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Text;
24 |
25 | namespace MeGUI
26 | {
27 | public class hfyuSettings : VideoCodecSettings
28 | {
29 | public static string ID = "Huffyuv";
30 |
31 | public hfyuSettings() : base(ID, VideoEncoderType.HFYU)
32 | {
33 | base.BitrateQuantizer = 0;
34 | base.VideoEncodingType = VideoEncodingMode.CQ;
35 | }
36 |
37 | public override bool UsesSAR
38 | {
39 | get { return false; }
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/packages/tools/avscreator/AviSynthJob.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Text;
24 |
25 | namespace MeGUI
26 | {
27 | public class AviSynthJob : Job
28 | {
29 | public AviSynthJob() : base() { }
30 |
31 | public AviSynthJob(string input) : base(input, null)
32 | {
33 | }
34 |
35 | public override string CodecString
36 | {
37 | get { return "avisynth"; }
38 | }
39 |
40 | public override string EncodingMode
41 | {
42 | get { return "avs"; }
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/packages/tools/chaptercreator/ChapterExtractor.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2009 Jarrett Vance
4 | //
5 | // code from http://jvance.com/pages/ChapterGrabber.xhtml
6 | //
7 | // ****************************************************************************
8 |
9 | using System;
10 | using System.Collections.Generic;
11 |
12 | namespace MeGUI
13 | {
14 | public abstract class ChapterExtractor
15 | {
16 | public abstract string[] Extensions { get; }
17 | public virtual bool SupportsMultipleStreams { get { return true; } }
18 | public abstract List GetStreams(string location);
19 |
20 | public event EventHandler StreamDetected;
21 | public event EventHandler ChaptersLoaded;
22 | public event EventHandler ExtractionComplete;
23 |
24 | protected void OnExtractionComplete()
25 | {
26 | if (ExtractionComplete != null)
27 | ExtractionComplete(this, EventArgs.Empty);
28 | }
29 |
30 | protected void OnStreamDetected(ChapterInfo pgc)
31 | {
32 | if (StreamDetected != null)
33 | StreamDetected(this, new ProgramChainArg() { ProgramChain = pgc });
34 | }
35 |
36 | protected void OnChaptersLoaded(ChapterInfo pgc)
37 | {
38 | if (ChaptersLoaded != null)
39 | ChaptersLoaded(this, new ProgramChainArg() { ProgramChain = pgc });
40 | }
41 | }
42 |
43 | public class ProgramChainArg : EventArgs
44 | {
45 | public ChapterInfo ProgramChain { get; set; }
46 | }
47 | }
--------------------------------------------------------------------------------
/packages/audio/ffthd/THDSettings.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Text;
24 |
25 | namespace MeGUI
26 | {
27 | public class THDSettings : AudioCodecSettings
28 | {
29 | public static string ID = "FFmpeg TrueHD";
30 |
31 | public THDSettings()
32 | : base(ID, AudioCodec.THD, AudioEncoderType.FFTHD, 384)
33 | {
34 | }
35 |
36 | public override BitrateManagementMode BitrateMode
37 | {
38 | get
39 | {
40 | return BitrateManagementMode.CBR;
41 | }
42 | set
43 | {
44 | // Do Nothing
45 | }
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/packages/reader/mediainfo/wrapper/ChaptersTrack.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 | using System.Collections.Generic;
23 |
24 | namespace MediaInfoWrapper
25 | {
26 | ///Contains properties for a ChaptersTrack
27 | public class ChaptersTrack
28 | {
29 | private Dictionary _chapters = new Dictionary();
30 |
31 | /// Count of objects available in this stream
32 | public Dictionary Chapters
33 | {
34 | get
35 | {
36 | return _chapters;
37 | }
38 | set
39 | {
40 | this._chapters = value;
41 | }
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/packages/tools/hdbdextractor/eac3to/VideoStreamType.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using MeGUI.packages.tools.hdbdextractor;
22 |
23 | namespace eac3to
24 | {
25 | /// An enumeration of Video Stream types
26 | public enum VideoStreamType
27 | {
28 | [StringValue("UNKNOWN")]
29 | UNKNOWN,
30 | [StringValue("AVC")]
31 | AVC,
32 | [StringValue("MVC")]
33 | MVC,
34 | [StringValue("HEVC")]
35 | HEVC,
36 | [StringValue("VC-1")]
37 | VC1,
38 | [StringValue("MPEG")]
39 | MPEG,
40 | [StringValue("DIRAC")]
41 | DIRAC,
42 | [StringValue("THEORA")]
43 | THEORA,
44 | [StringValue("AV1")]
45 | AV1
46 | }
47 | }
--------------------------------------------------------------------------------
/core/gui/ProgressWindowInfo.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Text;
24 |
25 | namespace MeGUI.core.plugins.interfaces
26 | {
27 | public struct ProgressWindowInfo
28 | {
29 | string ProgressLabel;
30 | string DataLabel;
31 | string RateLabel;
32 | string RateUnit;
33 | string Name;
34 | public ProgressWindowInfo(string pLabel, string dataLabel, string rateLabel,
35 | string rateUnit, string name)
36 | {
37 | this.ProgressLabel = pLabel;
38 | this.DataLabel = dataLabel;
39 | this.RateLabel = rateLabel;
40 | this.RateUnit = rateUnit;
41 | this.Name = name;
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/core/gui/HelpButton.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 | using System.Windows.Forms;
23 |
24 | namespace MeGUI.core.gui
25 | {
26 | public partial class HelpButton : UserControl
27 | {
28 | private static readonly string BaseURL = "https://en.wikibooks.org/wiki/MeGUI/";
29 |
30 | public HelpButton()
31 | {
32 | InitializeComponent();
33 | }
34 |
35 | void HelpButton_Click(object sender, EventArgs e)
36 | {
37 | System.Diagnostics.Process.Start(BaseURL + articleName.Replace(' ', '_'));
38 | }
39 |
40 | private string articleName;
41 |
42 | public string ArticleName
43 | {
44 | get { return articleName; }
45 | set { articleName = value; }
46 | }
47 |
48 | }
49 | }
--------------------------------------------------------------------------------
/packages/tools/chaptercreator/BlurayExtractor.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2009 Jarrett Vance
4 | //
5 | // code from http://jvance.com/pages/ChapterGrabber.xhtml
6 | //
7 | // ****************************************************************************
8 |
9 | using System.Collections.Generic;
10 | using System.Linq;
11 | using System.IO;
12 |
13 | using MeGUI.core.util;
14 |
15 | namespace MeGUI
16 | {
17 | public class BlurayExtractor : ChapterExtractor
18 | {
19 | public override string[] Extensions
20 | {
21 | get { return new string[] { }; }
22 | }
23 |
24 | public override List GetStreams(string location)
25 | {
26 | List mpls = new List();
27 |
28 | string path = FileUtil.GetBlurayPath(location);
29 | if (!Directory.Exists(path))
30 | return mpls;
31 |
32 | ChapterExtractor ex = new BDInfoExtractor();
33 | ex.StreamDetected += (sender, args) => OnStreamDetected(args.ProgramChain);
34 | ex.ChaptersLoaded += (sender, args) => OnChaptersLoaded(args.ProgramChain);
35 |
36 | foreach (string file in Directory.GetFiles(path, "*.mpls"))
37 | {
38 | ChapterInfo pl = ex.GetStreams(file)[0];
39 | if (pl == null)
40 | continue;
41 |
42 | pl.SourceFilePath = file;
43 | pl.SourceType = "Blu-Ray";
44 | mpls.Add(pl);
45 | }
46 |
47 | mpls = mpls.OrderByDescending(p => p.Duration).ToList();
48 | OnExtractionComplete();
49 | return mpls;
50 | }
51 | }
52 | }
--------------------------------------------------------------------------------
/packages/audio/vorbis/OggVorbisSettings.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Text;
24 |
25 | namespace MeGUI
26 | {
27 | public class OggVorbisSettings: AudioCodecSettings
28 | {
29 | public static readonly string ID = "Vorbis";
30 |
31 | public OggVorbisSettings()
32 | : base(ID, AudioCodec.VORBIS, AudioEncoderType.VORBIS, 0)
33 | {
34 | this.Quality = 1.0M;
35 | }
36 |
37 | public decimal Quality;
38 |
39 | public override BitrateManagementMode BitrateMode
40 | {
41 | get
42 | {
43 | return BitrateManagementMode.VBR;
44 | }
45 | set
46 | {
47 | // Do Nothing
48 | }
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/packages/audio/ffmp2/MP2Settings.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 |
23 | namespace MeGUI
24 | {
25 | public class MP2Settings : AudioCodecSettings
26 | {
27 | public static readonly string ID = "FFmpeg MP2";
28 |
29 | public static readonly object[] SupportedBitrates = new object[] { 64, 128, 160, 192, 224, 256, 288, 320 };
30 |
31 |
32 | public MP2Settings() : base(ID, AudioCodec.MP2, AudioEncoderType.FFMP2, 128)
33 | {
34 | base.DownmixMode = ChannelMode.StereoDownmix;
35 | }
36 |
37 | public override BitrateManagementMode BitrateMode
38 | {
39 | get
40 | {
41 | return BitrateManagementMode.CBR;
42 | }
43 | set
44 | {
45 | // Do Nothing
46 | }
47 | }
48 | }
49 | }
--------------------------------------------------------------------------------
/packages/tools/mp4fpsmod/MP4FpsModJob.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 |
23 | namespace MeGUI
24 | {
25 | public class MP4FpsModJob : Job
26 | {
27 | public MP4FpsModJob() : base() { }
28 |
29 | public MP4FpsModJob(string input, string timeStampFile)
30 | {
31 | Input = input;
32 | TimeStampFile = timeStampFile;
33 | }
34 |
35 | private string _timeStampFile;
36 | public string TimeStampFile
37 | {
38 | get { return _timeStampFile; }
39 | set { _timeStampFile = value; }
40 | }
41 |
42 | public override string CodecString
43 | {
44 | get { return "mp4fpsmod"; }
45 | }
46 |
47 | public override string EncodingMode
48 | {
49 | get { return "mux"; }
50 | }
51 | }
52 | }
--------------------------------------------------------------------------------
/core/util/DeinterlaceFilter.cs:
--------------------------------------------------------------------------------
1 | // ****************************************************************************
2 | //
3 | // Copyright (C) 2005-2025 Doom9 & al
4 | //
5 | // This program is free software; you can redistribute it and/or modify
6 | // it under the terms of the GNU General Public License as published by
7 | // the Free Software Foundation; either version 2 of the License, or
8 | // (at your option) any later version.
9 | //
10 | // This program is distributed in the hope that it will be useful,
11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | // GNU General Public License for more details.
14 | //
15 | // You should have received a copy of the GNU General Public License
16 | // along with this program; if not, write to the Free Software
17 | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | //
19 | // ****************************************************************************
20 |
21 | using System;
22 | using System.Collections.Generic;
23 | using System.Text;
24 |
25 | namespace MeGUI
26 | {
27 | public class DeinterlaceFilter
28 | {
29 | private string script;
30 | private string title;
31 | public DeinterlaceFilter(string title, string script)
32 | {
33 | this.title = title;
34 | this.script = script;
35 | }
36 | public override string ToString()
37 | {
38 | return this.title;
39 | }
40 |
41 | public string Script
42 | {
43 | get { return script; }
44 | set { script = value; }
45 | }
46 |
47 | public string Title
48 | {
49 | get { return title; }
50 | set { title = value; }
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/packages/audio/exhale/ExhaleSettings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace MeGUI
7 | {
8 |
9 | public enum ExhaleProfile
10 | {
11 | [EnumTitle("Automatic")]
12 | xHEAAC,
13 | [EnumTitle("xHE-AAC+eSBR")]
14 | xHEAACeSBR,
15 | }
16 |
17 | public class ExhaleSettings : AudioCodecSettings
18 | {
19 | public static readonly string ID = "Exhale";
20 |
21 | public static readonly object[] SupportedBitrates = new object[] { 12, 16, 20, 24, 28, 32, 36, 40, 44, 48 };
22 | public static readonly ExhaleProfile[] SupportedProfiles = new ExhaleProfile[] { ExhaleProfile.xHEAAC, ExhaleProfile.xHEAACeSBR};
23 |
24 |
25 | public ExhaleSettings() : base(ID, AudioCodec.AAC, AudioEncoderType.EXHALE, 48)
26 | {
27 | base.DownmixMode = ChannelMode.KeepOriginal;
28 | base.supportedBitrates = Array.ConvertAll