This commit is contained in:
Frank Skare
2021-03-22 00:34:11 +01:00
12 changed files with 104 additions and 95 deletions
+38 -11
View File
@@ -1,6 +1,25 @@
Next Release
2.2.0 (2021-03-??)
=========================
- [X] Might break settings from previous STABLE version, so starting with new settings is recommended
- [X] Might break templates and jobs from previous STABLE version
- [X] Changed menus from previous STABLE versions that need a menu reset, manual setting or global settings reset in order to see them
- Start of new versioning (no beta versions anymore, but stripped DEV versions)
- Check for updates adjusted (Dendraspis)
- MTN Thumbnailer description adjusted (JJKylee)
- JPSDR 3.2.5 (Clang AVX version)
2.1.9.0 Beta (2021-03-21)
=========================
- [X] Might break settings from previous version, so starting with new settings is recommended
- [X] Might break templates and jobs from previous version
- [X] Changed menus that need a menu reset, manual setting or global settings reset in order to see them
- Since v2.1.8.5 StaxRip uses the SI prefix for sizes (Base 10: `1 MB = 1000 KB`)
Now it is possible to switch (back) to IEC prefix (Base 2: `1 MiB = 1024 KiB`) in the settings
*Please note, that the target size menu must be resetted or adjusted by hand after a change!* (Dendraspis, 44vince44)
- Set "Dark | Blue" as default theme (Dendraspis)
- CheckBox appearance optimized (Dendraspis)
- CodeEditor does not join "Cutting" filter (Dendraspis)
- Block size for Compressibility Check can be set in seconds (Dendraspis, [#547](/../../issues/547))
@@ -9,29 +28,37 @@ Next Release
- Extended option descrption for 'Temp Files Folder' if Auto-Deletion is enabled (Dendraspis, [#542](/../../issues/542))
- Progress Reformatting is a global option like Output Highlighting (Dendraspis)
- Improved usability for subtitle options (stax76, [#577](/../../issues/577))
- Since v2.1.8.5 StaxRip uses the SI prefix for sizes (Base 10: `1 MB = 1000 KB`)
Now it is possible to switch (back) to IEC prefix (Base 2: `1 MiB = 1024 KiB`)
*Please note, that the target size menu must be resetted or adjusted by hand after a change!* (Dendraspis)
- Show target size label including size unit (Dendraspis, VEGAX265, [#580](/../../issues/580))
- Set "Dark | Blue" as default theme (Dendraspis)
- Theme "Default" is renamed to "System Colors" (Dendraspis)
- Priority for current selected process can be set via menu on Processing window (Dendraspis)
- Multiple theme related adjustments (Dendraspis, stax76)
- New shortcuts for ***O**utput Highlighting* and ***P**rogress Reformatting* on Processing window (Dendraspis)
- New shortcuts for existing actions on Jobs window (stax76)
- Fix x265 --tskip default value for Placebo preset (tkozybski, Dendraspis, [#600](/../../issues/600))
- Fix x265 Slower preset default values (tkozybski)
- Fix x265 params --atc-sei and --pic-struct wrong parameter type (Dendraspis, [#593](/../../issues/593))
- x264 default CRF value set while setting initial value to 20 (Dendraspis, [#594](/../../issues/594))
- x264 fix UltraFast preset value sync (Dendraspis, [#594](/../../issues/594))
- Fix NVEnc VBR Quality value localization (Dendraspis, [#604](/../../issues/604))
- Fix NVEnc VBR Quality applies even it's disabled (Dendraspis, [#605](/../../issues/605))
- Removal of Menu Styles (Dendraspis, [#589](/../../issues/589))
- In quality mode main dialog shows count and type of active subtitles (stax76)
- Main dialog and code editor show script info with F2 key and
advanced script info with Ctrl+F2, requires menus to be reset manually
advanced script info with Ctrl+F2, requires menus to be reset manually (stax76)
- New setting to customize the code and console font (stax76)
- x264 default CRF value set while setting initial value to 20 (Dendraspis, [#594](/../../issues/594))
- x264 fix UltraFast preset value sync (Dendraspis, [#594](/../../issues/594))
- Video encoder context console help was fixed and improved (stax76, [#595](/../../issues/595))
- Fix x265 --tskip default value for Placebo preset (tkozybski, Dendraspis, [#600](/../../issues/600))
- Fix NVEnc VBR Quality value localization (Dendraspis, [#604](/../../issues/604))
- Fix NVEnc VBR Quality applies even it's disabled (Dendraspis, [#605](/../../issues/605))
- Fix audio bitrate calculation for calculation of video bitrate (Dendraspis, 44vince44, [#608](/../../issues/608))
- When toggling size prefix target size/bitrate are refreshed (Dendraspis)
- AddGrainC v1.8.3.0
- AnimeIVTC v2.34 2020-12-19 mod
- AVSMeter v3.0.8.0
- chapterEditor v1.27
- CropResize 2021-02-01
- MediaInfo.NET v7.0.0.0
- MP4Box v1.1.0 DEV rev589 gcc10.2.0 Patman
- MTN Thumbnailer v3.4
- SangNom2 v0.6.0
- xy-VSFilter v3.2.0.804
2.1.8.5 Beta (2021-03-09)
+3 -3
View File
@@ -5,7 +5,7 @@ It executes and controls console apps like x265, mkvmerge and ffmpeg and uses th
***StaxRip is no One-Click-Encoder!***
Due to its possibilities, StaxRip forces you to know what you want to achieve and how to set up the options.
Due to its possibilities, StaxRip requires you to know what you want to achieve and how to set up the options.
Especially at the beginning you have to learn the settings and maybe do some tests to learn how StaxRip works and what is possible. That being said, StaxRip also offers you an assistent, that takes care of your settings and changes.
When you struggle, there are multiple ways to get help from the community.
@@ -29,9 +29,9 @@ You can find various informations and instructions on [Wiki](https://github.com/
# Download
### **Stable**
### **Stable and Public Beta**
- [Releases](https://github.com/staxrip/staxrip/releases)
### **Beta**
### **Older Beta**
- [DropBox](https://www.dropbox.com/sh/4ctl2y928xkak4f/AAADEZj_hFpGQaNOdd3yqcAHa?dl=0)
- [OneDrive](https://1drv.ms/u/s!ArwKS_ZUR01g0kH4d4eT_6a3GaKe?e=qbOfGS)
+3 -3
View File
@@ -255,7 +255,7 @@ Public Class NVEnc
.Switch = "--vbr-quality",
.Text = "VBR Quality",
.Config = {0, 51, 1, 1},
.VisibleFunc = Function() Mode.Value = 3 OrElse Mode.Value = 4,
.VisibleFunc = Function() (Mode.Value = 3 OrElse Mode.Value = 4) AndAlso ConstantQualityMode.Value,
.ArgsFunc = Function()
If ConstantQualityMode.Value AndAlso
VbrQuality.Value <> VbrQuality.DefaultValue Then
@@ -456,10 +456,10 @@ Public Class NVEnc
New NumParam With {.Switch = "--qp-min", .Text = "Minimum QP", .Config = {0, Integer.MaxValue, 1}},
New NumParam With {.Switch = "--max-bitrate", .Text = "Max Bitrate", .Init = 17500, .Config = {0, Integer.MaxValue, 1}},
New NumParam With {.Switch = "--vbv-bufsize", .Text = "VBV Bufsize", .Config = {0, Integer.MaxValue, 1}},
New NumParam With {.Switch = "--aq-strength", .Text = "AQ Strength", .Config = {0, 15}, .VisibleFunc = Function() AQ.Value},
VbrQuality,
ConstantQualityMode,
VbrQuality,
AQ,
New NumParam With {.Switch = "--aq-strength", .Text = "AQ Strength", .Config = {0, 15}, .VisibleFunc = Function() AQ.Value},
New BoolParam With {.Switch = "--aq-temporal", .Text = "Adaptive Quantization (Temporal)"},
Lossless)
Add("Slice Decision",
+4 -3
View File
@@ -3522,8 +3522,8 @@ Public Class MainForm
b.Field = NameOf(s.CheckForUpdates)
b = ui.AddBool
b.Text = "Include beta versions for update check"
b.Field = NameOf(s.CheckForUpdatesBeta)
b.Text = "Include Dev builds for update check"
b.Field = NameOf(s.CheckForUpdatesDev)
b = ui.AddBool
b.Text = "Save projects automatically"
@@ -3649,6 +3649,7 @@ Public Class MainForm
b.SaveAction = Sub(value)
s.BinaryPrefix = value
UpdateTargetSizeLabel()
UpdateSizeOrBitrate()
End Sub
b = ui.AddBool()
@@ -6349,7 +6350,7 @@ Public Class MainForm
Refresh()
ProcessCommandLine(Environment.GetCommandLineArgs)
StaxRip.StaxRipUpdate.ShowUpdateQuestion()
StaxRip.StaxRipUpdate.CheckForUpdate(False, s.CheckForUpdatesBeta, Environment.Is64BitProcess)
StaxRip.StaxRipUpdate.CheckForUpdate(False, s.CheckForUpdatesDev, Environment.Is64BitProcess)
g.RunTask(AddressOf g.LoadPowerShellScripts)
End Sub
+1 -1
View File
@@ -14,7 +14,7 @@ Public Class ApplicationSettings
Public AviSynthProfiles As List(Of FilterCategory)
Public BinaryPrefix As Boolean = False
Public CheckForUpdates As Boolean
Public CheckForUpdatesBeta As Boolean
Public CheckForUpdatesDev As Boolean
Public CheckForUpdatesDismissed As String
Public CheckForUpdatesLastRequest As DateTime
Public CheckForUpdatesQuestion As Boolean
+1 -1
View File
@@ -748,7 +748,7 @@ Public Class GUIAudioProfile
Params.Migrate()
End Sub
Function GetBitrate() As Integer
Public Function GetBitrate() As Integer
If Params.RateMode = AudioRateMode.VBR Then
Select Case Params.Codec
Case AudioCodec.AAC
+2 -1
View File
@@ -439,6 +439,7 @@ Public Class HelpDocument
body {
font-family: Tahoma, Geneva, sans-serif;
font-size: 90%;
color:#DDDDDD;
background-color:#323232;
}
@@ -702,7 +703,7 @@ table {
IsClosed = True
Writer.WriteRaw("<p>&nbsp;</p>" + BR)
Writer.WriteRaw("<h5 align=""center"">Copyright (C) 2002-" & DateTime.Now.Year & " StaxRip authors</h5><br>")
Writer.WriteRaw("<h5 align=""center"">Copyright (C) 2002-" & Date.Now.Year & " StaxRip Authors</h5><br>")
Writer.WriteEndElement() 'body
Writer.WriteEndElement() 'html
Writer.Close()
+24 -9
View File
@@ -13,7 +13,7 @@ Imports VB6 = Microsoft.VisualBasic
Public Class GlobalCommands
<Command("Checks if a update is available.")>
Sub CheckForUpdate()
StaxRipUpdate.CheckForUpdate(True, s.CheckForUpdatesBeta, Environment.Is64BitProcess)
StaxRipUpdate.CheckForUpdate(True, s.CheckForUpdatesDev, Environment.Is64BitProcess)
End Sub
<Command("Shows the log file with the built-in log file viewer.")>
@@ -272,26 +272,41 @@ Public Class GlobalCommands
End Try
End Sub
Function GetReleaseType() As String
Function GetApplicationDetails(Optional includeName As Boolean = True, Optional includeVersion As Boolean = True, Optional includeReleaseType As Boolean = True) As String
Dim sb = New StringBuilder()
Dim version = Assembly.GetExecutingAssembly.GetName.Version
If version.MinorRevision <> 0 Then
Return "Beta"
If includeName Then sb.Append(" StaxRip")
If includeVersion Then
sb.Append($" v{version.Major}.{version.Minor}")
If version.Build > 0 Then
sb.Append($".{version.Build}")
End If
End If
If includeReleaseType Then
If version.Build > 0 Then
sb.Append(" DEV")
End If
End If
Return sb.ToString.Trim()
End Function
<Command("Opens a given help topic In the help browser.")>
<Command("Opens a given help topic in the help browser.")>
Sub OpenHelpTopic(
<DispName("Help Topic"),
Description("Name Of the help topic To be opened.")> topic As String)
Description("Name of the help topic to be opened.")> topic As String)
Dim form As New HelpForm()
Select Case topic
Case "info"
form.Doc.WriteStart("StaxRip " + Application.ProductVersion + " " + GetReleaseType())
'TODO: convert media wiki link to markdown link
form.Doc.WriteParagraph($"[file:///{Uri.EscapeDataString(Folder.Startup + "Authors.html")} StaxRip Authors]")
form.Doc.WriteStart(GetApplicationDetails())
'form.Doc.WriteParagraph($"[file:///{Uri.EscapeDataString(Folder.Startup + "Authors.html")} StaxRip Authors]")
form.Doc.Write("Active Authors", "stax76, Dendraspis, DJATOM, Patman, JKyle, 44vince44")
form.Doc.Write("Retired Authors", "Revan654, NikosD, ernst, Brother John, Freepik, ilko-k, nulledone, vanontom")
form.Doc.Writer.WriteRaw("<hr>")
Dim licensePath = Folder.Startup + "License.txt"
+3 -3
View File
@@ -164,8 +164,8 @@ Public Class Calc
Shared Function GetAudioBitrate() As Double
Dim b0, b1 As Double
If p.Audio0.File <> "" Then b0 = p.Audio0.Bitrate
If p.Audio1.File <> "" Then b1 = p.Audio1.Bitrate
If p.Audio0.File <> "" Then b0 = If(TypeOf p.Audio0 Is GUIAudioProfile, DirectCast(p.Audio0, GUIAudioProfile).GetBitrate, p.Audio0.Bitrate)
If p.Audio1.File <> "" Then b1 = If(TypeOf p.Audio1 Is GUIAudioProfile, DirectCast(p.Audio1, GUIAudioProfile).GetBitrate, p.Audio1.Bitrate)
Return b0 + b1 + p.AudioTracks.Sum(Function(arg) arg.Bitrate)
End Function
@@ -176,7 +176,7 @@ Public Class Calc
Return 0
End If
Dim kBits = New FileInfo(path).Length * 8 / 1024
Dim kBits = New FileInfo(path).Length * 8 / 1000
Return kBits / seconds
Catch ex As Exception
g.ShowException(ex)
+1 -1
View File
@@ -365,7 +365,7 @@ Public Class Package
.Name = "mtn",
.Filename = "mtn.exe",
.Location = "Thumbnails\MTN",
.Description = "Movie thumbnailer saves thumbnails (screenshots) of movie or video files to jpeg files. StaxRip uses a custom built version with HEVC support added in and also includes the latest FFMPEG.",
.Description = "Movie thumbnailer saves thumbnails (screenshots) of movie or video files to jpeg files.",
.WebURL = "https://github.com/Revan654/Movie-Thumbnailer-mtn",
.HelpURL = "http://moviethumbnail.sourceforge.net/usage.en.html",
.HelpSwitch = ""})
+22 -57
View File
@@ -18,7 +18,7 @@ Public Class StaxRipUpdate
Shared Async Sub CheckForUpdate(
Optional force As Boolean = False,
Optional includeBeta As Boolean = False,
Optional includeDevBuilds As Boolean = False,
Optional x64 As Boolean = True)
Try
@@ -26,67 +26,32 @@ Public Class StaxRipUpdate
Exit Sub
End If
If (DateTime.Now - s.CheckForUpdatesLastRequest).TotalHours >= 24 OrElse force Then
If (Date.Now - s.CheckForUpdatesLastRequest).TotalHours >= 24 OrElse force Then
Dim changelogUrl = "https://raw.githubusercontent.com/staxrip/staxrip/master/Changelog.md"
Dim betaSourcesUrl = "https://github.com/staxrip/staxrip"
Dim dropboxUrl = "https://www.dropbox.com/sh/4ctl2y928xkak4f/AAADEZj_hFpGQaNOdd3yqcAHa?dl=0&lst="
Dim stableUrl = "https://github.com/staxrip/staxrip/releases"
Dim releaseUrl = "https://github.com/staxrip/staxrip/releases"
Dim currentVersion = Reflection.Assembly.GetEntryAssembly.GetName.Version
Dim latestVersions = New List(Of (Version As Version, Status As String,
SourceSite As String, DownloadUri As String, FileName As String))
Dim latestVersions = New List(Of (Version As Version, ReleaseType As String, SourceSite As String, DownloadUri As String, FileName As String))
Dim response = Await HttpClient.GetAsync(releaseUrl)
response.EnsureSuccessStatusCode()
Dim content = Await response.Content.ReadAsStringAsync()
Dim linkMatches = Regex.Matches(content, "(?<="")/staxrip/staxrip/releases/download/(\d+\.\d+\.\d+(?:\.\d+)?)/(StaxRip-v(\d+\.\d+\.\d+(?:\.\d+)?)[^""]*\.7z)(?="")")
Dim response = Await HttpClient.GetAsync(stableUrl)
For Each linkMatch As Match In linkMatches
Dim onlineVersion = Version.Parse(linkMatch.Groups(3).Value)
If response.IsSuccessStatusCode Then
Dim content = Await response.Content.ReadAsStringAsync()
Dim titleMatch = Regex.Match(content, "title=""(\d+\.\d+\.\d+\.\d+)""")
Dim onlineVersion = Version.Parse(titleMatch.Groups(1).Value)
Dim linkMatch = Regex.Match(content, "(https://[^""]*/([^""/]*StaxRip[^""?]*)[^""]*)\\""")
If onlineVersion <= currentVersion Then
Exit For
End If
latestVersions.Add((onlineVersion, "Stable", stableUrl,
linkMatch.Groups(1).Value, linkMatch.Groups(2).Value))
ElseIf Not includeBeta Then
response.EnsureSuccessStatusCode()
End If
If includeBeta Then
Try
Dim dropboxResponse = Await HttpClient.GetAsync(dropboxUrl)
If Not dropboxResponse.IsSuccessStatusCode Then
Dim betaSourcesResponse = Await HttpClient.GetAsync(betaSourcesUrl)
Dim betaSourcesContent = Await betaSourcesResponse.Content.ReadAsStringAsync()
Dim dropboxMatch = Regex.Match(betaSourcesContent, "(https://www\.dropbox\.com[^""]*)""")
If dropboxMatch.Success Then
dropboxResponse = Await HttpClient.GetAsync(dropboxMatch.Groups(1).Value)
End If
If onlineVersion.Build > 0 Then
If includeDevBuilds Then
latestVersions.Add((onlineVersion, "DEV", releaseUrl, "https://github.com" + linkMatch.Groups(0).Value, linkMatch.Groups(2).Value))
End If
dropboxResponse.EnsureSuccessStatusCode()
Dim dropboxContent = Await dropboxResponse.Content.ReadAsStringAsync()
Dim betaPattern = If(x64, "(https://[^""]*/([^""/]*StaxRip[^""/?]*x64[^""?]*)[^""]*)\\""",
"(https://[^""]*/([^""/]*StaxRip[^""/?]*x86[^""?]*)[^""]*)\\""")
Dim betaMatches = Regex.Matches(dropboxContent, betaPattern)
If betaMatches.Count > 0 Then
Dim sortedMatches = New Match(betaMatches.Count - 1) {}
betaMatches.CopyTo(sortedMatches, 0)
sortedMatches.OrderBy(Function(x) Regex.Replace(x.Groups(2).Value, "\d+", "$&".PadLeft(11, "0"c)))
Dim lastMatch = sortedMatches.Last()
Dim uri = lastMatch.Groups(1).Value.Replace("?dl=0", "?dl=1")
Dim filename = lastMatch.Groups(2).Value
Dim versionMatch = Regex.Match(filename, ".*(\d+\.\d+\.\d+\.\d+).*")
Dim betaOnlineVersion = Version.Parse(versionMatch.Groups(1).Value)
latestVersions.Add((betaOnlineVersion, "Beta", stableUrl, uri, filename))
End If
Catch
End Try
End If
Else
latestVersions.Add((onlineVersion, "Stable", releaseUrl, linkMatch.Groups(0).Value, linkMatch.Groups(2).Value))
End If
Next
If latestVersions.Count > 0 Then
Dim latestVersion = latestVersions.OrderBy(Function(x) x.Version).Last()
@@ -95,7 +60,7 @@ Public Class StaxRipUpdate
Version.Parse(s.CheckForUpdatesDismissed) <> latestVersion.Version OrElse force) Then
Using td As New TaskDialog(Of String)
td.MainInstruction = "A new " + latestVersion.Status + " version was found: " + latestVersion.Version.ToString()
td.MainInstruction = "A new " + latestVersion.ReleaseType + " version was found: " + latestVersion.Version.ToString()
Dim changelogResponse = Await HttpClient.GetAsync(changelogUrl)
@@ -140,7 +105,7 @@ Public Class StaxRipUpdate
.FileName = latestVersion.FileName,
.Filter = "7-zip archive (*.7z)|*.7z",
.OverwritePrompt = True,
.Title = "Save new " + latestVersion.Status + " version as..."
.Title = "Save new " + latestVersion.ReleaseType + " version as..."
}
If saveFileDialog.ShowDialog() = DialogResult.OK Then
+2 -2
View File
@@ -7,6 +7,6 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyCopyright("Copyright (C) 2002-2021 StaxRip authors")>
<Assembly: ComVisible(False)>
<Assembly: Guid("54d5dc0f-6ba7-42f0-a82f-9c71d561cb8b")>
<Assembly: AssemblyVersion("2.1.8.5")>
<Assembly: AssemblyFileVersion("2.1.8.5")>
<Assembly: AssemblyVersion("2.1.9.0")>
<Assembly: AssemblyFileVersion("2.1.9.0")>
<Assembly: AssemblyDescription("Video encoding app")>