diff --git a/.gitignore b/.gitignore index 0d58178a..ffbb7f60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,10 @@ Installer/BuiltInstallers/* Flags/* packages/* +*/AppPackages/* +*/BundleArtifacts/* +VidCoderPackage_StoreKey.pfx +_pkginfo.txt Import/* HandBrakeInterop.XmlSerializers.dll .vs diff --git a/VidCoder/Model/Database.cs b/VidCoder/Model/Database.cs index 273e4d0f..70981948 100644 --- a/VidCoder/Model/Database.cs +++ b/VidCoder/Model/Database.cs @@ -232,6 +232,11 @@ private static void BackupDatabaseFile(int databaseVersion) private static int FindBackupDatabaseFile() { DirectoryInfo backupDirectoryInfo = new DirectoryInfo(BackupDatabaseFolder); + if (!backupDirectoryInfo.Exists) + { + return -1; + } + FileInfo[] backupFiles = backupDirectoryInfo.GetFiles(); Regex regex = new Regex(@"^VidCoder-v(?\d+)\.sqlite$"); diff --git a/VidCoder/Resources/Translations/ChapterMarkersRes.it.resx b/VidCoder/Resources/Translations/ChapterMarkersRes.it.resx index ef6f6e52..b43f6061 100644 --- a/VidCoder/Resources/Translations/ChapterMarkersRes.it.resx +++ b/VidCoder/Resources/Translations/ChapterMarkersRes.it.resx @@ -99,7 +99,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Marcatori Capitolo + Marcatori capitolo Utilizzare i nomi predefiniti del capitolo diff --git a/VidCoder/Resources/Translations/EncodeDetailsRes.it.resx b/VidCoder/Resources/Translations/EncodeDetailsRes.it.resx index b3353761..9768e77f 100644 --- a/VidCoder/Resources/Translations/EncodeDetailsRes.it.resx +++ b/VidCoder/Resources/Translations/EncodeDetailsRes.it.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Dettagli di codifica + Dettagli della codifica Tutti i file in coda diff --git a/VidCoder/Resources/Translations/EncodingRes.it.resx b/VidCoder/Resources/Translations/EncodingRes.it.resx index 16a122f1..632b196e 100644 --- a/VidCoder/Resources/Translations/EncodingRes.it.resx +++ b/VidCoder/Resources/Translations/EncodingRes.it.resx @@ -346,7 +346,7 @@ Per sorgente audio che ha un'ampia gamma dinamica (sequenze molto forti e molto Dimensione del bersaglio (MB) - AVG Bitrate (kbps) + Velocità di trasferimento media (kbps) Qualità costante @@ -361,7 +361,7 @@ Per sorgente audio che ha un'ampia gamma dinamica (sequenze molto forti e molto Preimpostato: - Melodia: + Regolazione: Linea di base @@ -722,13 +722,13 @@ Per sorgente audio che ha un'ampia gamma dinamica (sequenze molto forti e molto Ulteriori opzioni avanzate x264: - Imposta e garantisce la conformità con il livello specificato di h. 264. Esegue l'override di tutte le altre impostazioni. + Imposta e garantisce la conformità con il livello specificato di h. 264. Sovvrascrive tutte le altre impostazioni. Alta 4:4:4 predittiva - Codec video: + Codificatore video: MPEG-2 (Libav) @@ -811,7 +811,7 @@ Per sorgente audio che ha un'ampia gamma dinamica (sequenze molto forti e molto Passthrough non funziona su tutti i codec audio. Questo specifica l'encoder per ripiegare se la traccia non può essere passata attraverso. - Impostazioni encoder + Impostazioni codificatore QSV decodifica @@ -832,7 +832,7 @@ Per sorgente audio che ha un'ampia gamma dinamica (sequenze molto forti e molto Qualità - Modificare le opzioni di commercio fuori contro la velocità di codifica di compressione efficienza. + Modifica il valore per bilanciare la qualità del video compresso con la velocità di codifica. Lanczos: Questo è il ridimensionamento predefinito con la migliore qualità. Bicubica: Questo è un algoritmo di ridimensionamento accelerato OpenCL hardware. diff --git a/VidCoder/Resources/Translations/EnumsRes.it.resx b/VidCoder/Resources/Translations/EnumsRes.it.resx index 6b7d6d21..700ae20b 100644 --- a/VidCoder/Resources/Translations/EnumsRes.it.resx +++ b/VidCoder/Resources/Translations/EnumsRes.it.resx @@ -145,7 +145,7 @@ Veloce - Impostazione Predefinita + Impostazione predefinita Bob diff --git a/VidCoder/Resources/Translations/MainRes.it.resx b/VidCoder/Resources/Translations/MainRes.it.resx index e6aaaf6f..a886e5ed 100644 --- a/VidCoder/Resources/Translations/MainRes.it.resx +++ b/VidCoder/Resources/Translations/MainRes.it.resx @@ -593,7 +593,7 @@ Chiudere il file corrente e aprire il disco? - Dettagli di codifica + Dettagli della codifica Impostazioni di codifica sono cambiate da quando l'ultima aggiunto un elemento alla coda. Si desidera applicare le impostazioni di codifica corrente a tutti gli elementi nella coda? @@ -613,7 +613,7 @@ Dialog title for a message explaining that the current database file is unsupported. - Selettore + Selezione Impossibile caricare il selettore: diff --git a/VidCoder/Resources/Translations/PreviewRes.it.resx b/VidCoder/Resources/Translations/PreviewRes.it.resx index 371b0b25..2472e65d 100644 --- a/VidCoder/Resources/Translations/PreviewRes.it.resx +++ b/VidCoder/Resources/Translations/PreviewRes.it.resx @@ -118,10 +118,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Play Sorgente + Riproduci sorgente - Codifica Clip di anteprima + Codifica spezzone di anteprima Codifica e gioca una piccola anteprima clip dallo schermo selezionato. Utilizza le impostazioni di codifica corrente. @@ -157,7 +157,7 @@ secondi - Angoli + Margini Adatta alla finestra diff --git a/VidCoder/Utilities/Utilities.cs b/VidCoder/Utilities/Utilities.cs index 3b2f9d6f..d8576a9a 100644 --- a/VidCoder/Utilities/Utilities.cs +++ b/VidCoder/Utilities/Utilities.cs @@ -490,7 +490,11 @@ public static SourceTitle GetFeatureTitle(List titles, int hbFeatur // If the feature title is supplied, find it in the list. if (hbFeatureTitle > 0) { - return titles.FirstOrDefault(title => title.Index == hbFeatureTitle); + SourceTitle featureTitle = titles.FirstOrDefault(title => title.Index == hbFeatureTitle); + if (featureTitle != null) + { + return featureTitle; + } } // Select the first title within 80% of the duration of the longest title. diff --git a/VidCoder/ViewModel/MainViewModel.cs b/VidCoder/ViewModel/MainViewModel.cs index ac7fa781..6ed5e5c6 100644 --- a/VidCoder/ViewModel/MainViewModel.cs +++ b/VidCoder/ViewModel/MainViewModel.cs @@ -2146,7 +2146,7 @@ public void EditJob(EncodeJobViewModel jobVM, bool isQueueItem = true) if (isQueueItem) { // Since it's been sent back for editing, remove the queue item - this.ProcessingService.EncodeQueue.Remove(jobVM); + this.ProcessingService.RemoveQueueJob(jobVM); } this.PresetsService.SaveUserPresets(); diff --git a/VidCoderCommon/Model/JsonEncodeFactory.cs b/VidCoderCommon/Model/JsonEncodeFactory.cs index 0281c79e..d8e3663e 100644 --- a/VidCoderCommon/Model/JsonEncodeFactory.cs +++ b/VidCoderCommon/Model/JsonEncodeFactory.cs @@ -373,7 +373,7 @@ private Filters CreateFilters(VCProfile profile, SourceTitle title, OutputSizeIn Filter filterItem = new Filter { ID = (int)hb_filter_ids.HB_FILTER_DETELECINE, - Settings = this.GetFilterSettings(hb_filter_ids.HB_FILTER_DETELECINE, presetString, settingsString) + Settings = this.GetFilterSettingsPresetOnly(hb_filter_ids.HB_FILTER_DETELECINE, presetString, settingsString) }; filters.FilterList.Add(filterItem); } @@ -388,11 +388,11 @@ private Filters CreateFilters(VCProfile profile, SourceTitle title, OutputSizeIn JToken settings; if (profile.DeinterlacePreset == "custom") { - settings = this.GetFilterSettings(filterId, "custom", profile.CustomDeinterlace); + settings = this.GetFilterSettingsPresetOnly(filterId, "custom", profile.CustomDeinterlace); } else { - settings = this.GetFilterSettings(filterId, profile.DeinterlacePreset, null); + settings = this.GetFilterSettingsPresetOnly(filterId, profile.DeinterlacePreset, null); } if (settings != null) @@ -408,11 +408,11 @@ private Filters CreateFilters(VCProfile profile, SourceTitle title, OutputSizeIn JToken settings; if (profile.CombDetect == "custom") { - settings = this.GetFilterSettings(hb_filter_ids.HB_FILTER_COMB_DETECT, "custom", profile.CustomCombDetect); + settings = this.GetFilterSettingsPresetOnly(hb_filter_ids.HB_FILTER_COMB_DETECT, "custom", profile.CustomCombDetect); } else { - settings = this.GetFilterSettings(hb_filter_ids.HB_FILTER_COMB_DETECT, profile.CombDetect, null); + settings = this.GetFilterSettingsPresetOnly(hb_filter_ids.HB_FILTER_COMB_DETECT, profile.CombDetect, null); } if (settings != null) @@ -462,7 +462,7 @@ private Filters CreateFilters(VCProfile profile, SourceTitle title, OutputSizeIn // Deblock if (profile.Deblock >= 5) { - JToken settings = this.GetFilterSettings( + JToken settings = this.GetFilterSettingsCustom( hb_filter_ids.HB_FILTER_DEBLOCK, string.Format(CultureInfo.InvariantCulture, "qp={0}", profile.Deblock)); @@ -480,11 +480,11 @@ private Filters CreateFilters(VCProfile profile, SourceTitle title, OutputSizeIn JToken settings; if (profile.DenoisePreset == "custom") { - settings = this.GetFilterSettings(filterId, "custom", profile.CustomDenoise); + settings = this.GetFilterSettingsPresetOnly(filterId, "custom", profile.CustomDenoise); } else { - settings = this.GetFilterSettings(filterId, profile.DenoisePreset, profile.DenoiseTune); + settings = this.GetFilterSettingsPresetAndTune(filterId, profile.DenoisePreset, profile.DenoiseTune, null); } if (settings != null) @@ -496,7 +496,7 @@ private Filters CreateFilters(VCProfile profile, SourceTitle title, OutputSizeIn // CropScale Filter VCCropping cropping = GetCropping(profile, title); - JToken cropFilterSettings = this.GetFilterSettings( + JToken cropFilterSettings = this.GetFilterSettingsCustom( hb_filter_ids.HB_FILTER_CROP_SCALE, string.Format( CultureInfo.InvariantCulture, @@ -535,7 +535,7 @@ private Filters CreateFilters(VCProfile profile, SourceTitle title, OutputSizeIn flipHorizontal = true; } - JToken rotateSettings = this.GetFilterSettings( + JToken rotateSettings = this.GetFilterSettingsCustom( hb_filter_ids.HB_FILTER_ROTATE, string.Format( CultureInfo.InvariantCulture, @@ -563,7 +563,7 @@ private Filters CreateFilters(VCProfile profile, SourceTitle title, OutputSizeIn { var padColor = !string.IsNullOrEmpty(profile.PadColor) ? profile.PadColor : "000000"; - JToken padSettings = this.GetFilterSettings( + JToken padSettings = this.GetFilterSettingsCustom( hb_filter_ids.HB_FILTER_PAD, FormattableString.Invariant($"width={outputSizeInfo.OutputWidth}:height={outputSizeInfo.OutputHeight}:x={outputSizeInfo.Padding.Left}:y={outputSizeInfo.Padding.Top}:color=0x{padColor}")); Filter filterItem = new Filter { ID = (int)hb_filter_ids.HB_FILTER_PAD, Settings = padSettings }; @@ -573,17 +573,17 @@ private Filters CreateFilters(VCProfile profile, SourceTitle title, OutputSizeIn return filters; } - private JToken GetFilterSettings(hb_filter_ids filter, string custom) + private JToken GetFilterSettingsCustom(hb_filter_ids filter, string custom) { - return this.GetFilterSettings(filter, null, null, custom); + return this.GetFilterSettingsPresetAndTune(filter, null, null, custom); } - private JToken GetFilterSettings(hb_filter_ids filter, string preset, string custom) + private JToken GetFilterSettingsPresetOnly(hb_filter_ids filter, string preset, string custom) { - return this.GetFilterSettings(filter, preset, null, custom); + return this.GetFilterSettingsPresetAndTune(filter, preset, null, custom); } - private JToken GetFilterSettings(hb_filter_ids filter, string preset, string tune, string custom) + private JToken GetFilterSettingsPresetAndTune(hb_filter_ids filter, string preset, string tune, string custom) { custom = custom?.Trim(); @@ -601,7 +601,7 @@ private JToken GetFilterSettings(hb_filter_ids filter, string preset, string tun private JToken GetFramerateSettings(int framerateMode, int framerateNumerator, int framerateDenominator) { - return this.GetFilterSettings( + return this.GetFilterSettingsCustom( hb_filter_ids.HB_FILTER_VFR, string.Format( CultureInfo.InvariantCulture,