- The Russian translations of "Reload" and "Codepage" need slightly
more space to fit into the buttons. Add AutoSize property to
buttonReload and buttonEncoding.
* Minor changes in Russian translation
- Abbreviations of text in fields.
- Removed version information from translation.
- Changes in about.
- Other minor changes.
- Used the following commands, to switch the WavPack submodule to
upstream dbry/WavPack repo and checkout commit 2ce3c06 (5.4.0):
git submodule set-url ThirdParty/WavPack \
https://github.com/dbry/WavPack.git
git submodule update --init --recursive --remote ThirdParty/WavPack
pushd ThirdParty/WavPack/
git checkout 2ce3c069be548e82ea9c05741ace6583e549c6de
popd
- Add patch based on commits of GitHub repo gchudov/WavPack
"Converted projects to work with VS2017 and configured wavpackdll for
use with CUETools."
(commits c2d60b1, 9b59bcd), which is applied using:
git apply --directory=ThirdParty/WavPack \
ThirdParty/submodule_WavPack_CUETools_VS2017.patch
- A patch for compiling with VS2019 is provided too:
ThirdParty/submodule_WavPack_CUETools_VS2019.patch
- Add info on how to apply the patch to README.md
- Update GitHub actions accordingly for applying the patch to the
checked out dbry/WavPack submodule
Add copying of interop\EAC\Newtonsoft.Json.dll to collect_files.bat
- An issue concerning missing CTDB results in EAC log files has been
reported [1]
- The Newtonsoft.Json.dll file is required and originates from:
Newtonsoft.Json.11.0.1.nupkg\lib\net20\Newtonsoft.Json.dll
- Resolves#100
[1] https://hydrogenaud.io/index.php?topic=120871.0
An issue in CUETools 2.1.8 has been reported [1], if an album title
contains "..." at the end. Three dots at the end of a directory name
are supposed to cause issues. In CUETools 2.1.7, "..." was
automatically removed from the directory name.
- Add a check to remove "...\" from the DirectoryName to retain the
behavior as in CUETools 2.1.7
- Fixes the following Exception: Could not find a part of the path
[1] https://hydrogenaud.io/index.php?topic=120854.0
- Update UnRAR DLLs to version 6.01
- Use DLLs from current UnRARDLL.exe [1] and rename according to the
filenames used by CUETools so far:
UnRAR.dll -> cuetools.net\ThirdParty\Win32\unrar.dll
x64\UnRAR64.dll -> cuetools.net\ThirdParty\x64\Unrar.dll
Remark: The capital U in Unrar.dll for x64 is intentional.
[1] https://www.rarlab.com/rar/UnRARDLL.exe
- C2ErrorMode.Mode294 does not work for these drives:
LG GH24NSD1, ASUS DRW-24D5MT. Try Mode296 first
- Fixes the following exception:
CUETools.Ripper.SCSI.SCSIException:
'Error reading CD: medium error: UNRECOVERED READ ERROR'
- Resolves#19
An issue with currently used libFLAC version 1.3.2 git 45f7d41 has been
reported [1]. Compression efficiency was affected, depending on CPU
type.
- Used the following commands, to switch the flac submodule to upstream
xiph/flac repo and checkout commit 27c6157:
git submodule set-url ThirdParty/flac \
https://github.com/xiph/flac.git
git submodule update --init --recursive --remote ThirdParty/flac
pushd ThirdParty/flac/
git checkout 27c615706cedd252a206dd77e3910dfa395dcc49
popd
- Add patch based on commits of GitHub repo gchudov/flac
"project file modified to build the .dll for use with CUETools"
(commits 36fce5b, 6735ddd, 8f4f296, 900bf23), which is applied using:
git apply --directory=ThirdParty/flac \
ThirdParty/submodule_flac_CUETools.patch
- Add info on how to apply ThirdParty/submodule_flac_CUETools.patch
to README.md
- Update GitHub actions accordingly for applying the patch to the
checked out xiph/flac submodule
[1] https://hydrogenaud.io/index.php?topic=120750.0
* [CUERipper] Add access key shortcuts
So far, there have not been any access key shortcuts in CUERipper.
- Add the following access key shortcuts:
Alt+G ... Go
Alt+P ... Pause
Alt+A ... Abort
Alt+M ... Meta
Alt+T ... Tracks
Alt+R ... Reload
Alt+E ... Eject
Alt+V ... V/A
Alt+C ... Codepage
Alt+S ... Submit
Alt+O ... Options
- Add corresponding access key shortcuts to the German translation
* [CUETools] Update access key shortcuts
- Update the access key for "Encode" to Alt+c, because Alt+E is
also used for "Embedded"
- Add access keys:
Alt+O ... Output:
Alt+I ... Input:
Alt+S ... Settings
Alt+l ... Batch log
Alt+w ... CUETools website
Alt+A ... About
* [CUETools] Make settings accessible using Alt+S
- Change the DisplayStyle from Image to ImageAndText for the
following buttons:
toolStripButtonShowLog
toolStripButtonSettings
toolStripButtonHelp
toolStripButtonAbout
- This shows the text in addition to the images, makes them
accessible and improves readability
- The settings can now be accessed by Alt+S using the keyboard
- Tooltips are added to the following buttons to make their purpose
more obvious:
buttonMusicBrainz
tooltip: Lookup album at MusicBrainz
buttonNavigateCTDB
tooltip: Navigate to album in CUETools DB
- Add German translation of the tooltips
The constructor parameters of Activator.CreateInstance() were updated
in CUETools.Processor\AudioReadWrite.cs as of commits 16fccfe and
e1f8906. The parameter "settings" was added in front of path and IO,
which required an update to the order of constructor parameters in
several codecs.
- Fixes the following error message, when using FLACCL codec:
Exception: Constructor on type
'CUETools.Codecs.FLACCL.AudioEncoder' not found.
- This is a follow-up commit to 18c6c1a
- Resolves#82
- CUERipper\CUERipper.csproj
Fix incorrect ApplicationVersion 2.1.4.0 and set it to 1.0.0.%2a
like in the other .csproj files. Set ApplicationRevision to 0
- CUERipper\Properties\AssemblyInfo.cs
Correct version in AssemblyVersion and AssemblyFileVersion
1.9.0.0 -> 2.1.7.0
- CUETools\CUETools.csproj
Fix incorrect ApplicationVersion 2.0.3.%2a and set it to 1.0.0.%2a
like in the other .csproj files. Set ApplicationRevision to 0
- CUETools\Properties\AssemblyInfo.cs
Update AssemblyTitle and AssemblyProduct to "CUETools"
- CUETools\frmCUETools.de-DE.resx
- Correct the translation of "Create CUE sheet", which also reduces
the length of the translation, so that it fits better.
- Remove the following leftovers:
checkBoxCorrectorOverwrite.Size
checkBoxDontGenerate.Size
radioButtonAudioLossless.Size
radioButtonAudioLossy.Size
radioButtonAudioNone.Size
rbActionCorrectFilenames.Size
rbActionCreateCUESheet.Size
rbActionEncode.Size
rbActionVerify.Size
rbActionVerifyAndEncode.Size
rbCorrectorChangeExtension.Size
rbCorrectorLocateFiles.Size
rbFreedbAlways.Size
rbFreedbIf.Size
rbFreedbNever.Size
- Settings - Tagging - Album Art:
labelAlbumArtMaximumResolution was slightly overlapping with
textBoxAlArtFilenameFormat. Add a margin of 3 to the top and the
bottom and adjust Location and Size accordingly.
- Settings - HDCD - HDCD options:
Add grpHDCD.AutoSize, which allows translations like German, which
require more space, to fit.
Restore the ImageScalingSize to default settings, which is (16, 16).
As a side effect of commit 16fccfe, the ImageScalingSize was set to
(24, 24), which led to over-sized images. In case of toolStripInput
and toolStripOutput the images were scaled non-proportionally and
looked squashed.
- CUETools:
- Reset the ImageScalingSize of:
statusStrip1
toolStripCorrectorFormat
toolStripInput
toolStripOutput
toolStripMenu
contextMenuStripFileTree
- Restore toolStripProgressBar2.Size to 120, 23
- Restore $this.MinimumSize to 699, 537
- CUERipper:
- Reset the ImageScalingSize of: statusStrip1
- Restore $this.MinimumSize to 680, 487
- The above mentioned modifications were applied and the rest of the
changes result from saving the forms with Visual Studio
- The CUETools and CUERipper forms are restored like they
looked in 2.1.7
- Fixes the following error messages, when using wma codec:
Exception: Constructor on type
'CUETools.Codecs.WMA.AudioDecoder' not found.
'CUETools.Codecs.WMA.AudioEncoder' not found.
- Resolves#74
- Add script CUETools/collect_files.bat, which copies the required
files (.exe, .dll, etc.) according to the CUETools folder structure
- Add GitHub action .github/workflows/release-windows.yml, which is
triggered upon tags or manually
- Upload the directory including the built CUETools binaries as zip
file using actions/upload-artifact@v2
- Use extension ResXManager 1.48.3862 for editing
- CUETools:
- CUETools\frmCUETools.de-DE.resx:
- Update and add German translations
- Add line breaks to the long ToolTip texts of
chkWriteArTagsOnConvert and chkWriteARTagsOnVerify
- CUETools\frmChoice.de-DE.resx:
Update German translation
Remove translations without source entry
- CUETools\frmSettings.de-DE.resx
Update and add German translations
Remove duplicate entries
Remove translations without source entry. These translations were
leftovers in frmSettings.de-DE.resx
- CUETools\frmSettings.resx:
Fix a typo in the source string of textBoxDecoderName.ToolTip:
encoder->decoder
- CUETools\frmSubmit.de-DE.resx:
Minor updates
- CUERipper
- Update German translation
- CUERipper\frmCUERipper.resx:
- The German translation of "Eject" is slightly too long for
the width of the button. Add AutoSize property to
buttonEjectDisk, so that the translation "Auswerfen" fits.
- Correct toolStripStatusAr.ToolTipText in the source string and
the German translation. This initial tooltip text is about the
AccurateRip status and not yet, if a CD has been found in the
AccurateRip database.
- Add German translation files:
Bwg.Scsi\Messages.de-DE.resx
CUERipper\Properties\Resources.de-DE.resx
CUERipper\frmFreedbSubmit.de-DE.resx
CUETools.CLParity\Properties\Resources.de-DE.resx
CUETools.Codecs.FLACCL\Properties\Resources.de-DE.resx
CUETools.Codecs.Flake\Properties\Resources.de-DE.resx
CUETools.Codecs.WMA\Properties\Resources.de-DE.resx
CUETools.Ripper.SCSI\Resource1.de-DE.resx
CUETools\Properties\Resources.de-DE.resx
This adds CI of commits and pull requests using GitHub Actions.
- Use os [windows-2016], which provides Visual Studio 2017
- Install NASM using ilammy/setup-nasm@v1, which is required for
building the 32-bit flac plugin in Release|Win32
Further issues when building CUETools on a case sensitive filesystem or
folder were found in CUETools.Codecs.TTA and ttalib-1.1
- Remove precompiled headers from:
CUETools.Codecs.TTA.vcxproj
TTALib.vcxproj
This fixes case sensitivity issues coming from different spellings of
stdafx (stdafx.cpp, Stdafx.cpp; stdafx.h, Stdafx.h). The stdafx.h
header files were empty in both cases, so remove precompiled headers
completely.
Remark: The file TTALib.vcproj was unused and therefore removed.
TTALib.vcxproj is used by CUETools and gets updated.
- Use lowercase ttalib-1.1 for includes in CUETools.Codecs.TTA.cpp,
because the name of the sub-directory, which contains the TTALib
files is lowercase:
TTALib-1.1->ttalib-1.1
- Fix lower/uppercase spelling of included headers in files of
ttalib-1.1 according to the spelling of the filenames:
bitreader.h->BitReader.h
ttareader.h->TTAReader.h
ttawriter.h->TTAWriter.h
Rename the file ttacommon.h for conformity and update the includes:
ttacommon.h->TTACommon.h
- Summary of changes to files (rename, delete):
deleted: CUETools.Codecs.TTA/Stdafx.cpp
deleted: CUETools.Codecs.TTA/Stdafx.h
deleted: ttalib-1.1/Stdafx.cpp
deleted: ttalib-1.1/Stdafx.h
renamed: ttalib-1.1/ttacommon.h -> ttalib-1.1/TTACommon.h
deleted: ttalib-1.1/TTALib.vcproj
So far, CUETools was looking for FFmpeg.AutoGen in a directory
at the same level as the cuetools.net directory. Simplify getting the
sources of FFmpeg.AutoGen by adding it as a submodule.
- Add FFmpeg.AutoGen as a submodule inside the ThirdParty subdir using:
git submodule add https://github.com/Ruslan-B/FFmpeg.AutoGen.git \
ThirdParty/FFmpeg.AutoGen
- Checkout the latest release 4.1.0.4 of FFmpeg.AutoGen,
at commit: 9bb7daad329a103e1c563f80e1d9d7b5715ccff0
cd ThirdParty/FFmpeg.AutoGen/
git checkout 4.1.0.4
- Update the path to FFmpeg.AutoGen accordingly in:
CUETools\CUETools.sln
CUETools.Codecs.ffmpeg\CUETools.Codecs.ffmpeg.csproj
- Update README.md and remove text about separately getting
sources of FFmpeg.AutoGen from GitHub
- Add FFmpeg.AutoGen to License.txt
EAC log files are encoded using UTF-16LE. Preserve this encoding in
case of EAC log files, which contain a log checksum. This way, the
copied log file stays unchanged and the checksum can still be verified
using EAC's CheckLog.exe
Up to now, entered metadata was cleared and lost, when UpdateDrive() or
UpdateDrives() was called after device change events. This happened for
example in case of a DBT_DEVNODES_CHANGE event. Typical triggers for
this event are often not even CD drive related, like insert/eject of
USB sticks, disconnection or connection of a Bluetooth mouse etc.
- In order to avoid loss of entered metadata in case of such events,
save the data first before calling the methods UpdateDrive()
or UpdateDrives().
- The entered metadata is now also saved, when a CD is ejected.
- Fixes#20
This fix concerns CDs with a CD-Extra data track.
The option 'Detailed log' has to be enabled in CUERipper. Up to now,
when there was a difference in CD-Extra data track length, only a comma
was written into the detailed *.accurip file. The following example is
from a CD with a CD-Extra data track length 00:47:50.
- Example, before:
[ CTDBID ] Status
[020a6c01] (04/21) Has no data track, Accurately ripped
[020a6c01] (04/21) , Accurately ripped
[8625f4cf] (01/21) No match
[020a6c01] (02/21) Accurately ripped
[af64186e] (01/21) , No match
- Example, fixed:
[ CTDBID ] Status
[020a6c01] (04/21) Has no data track, Accurately ripped
[020a6c01] (04/21) CD-Extra data track length 01:02:57, Accurately
ripped
[8625f4cf] (01/21) No match
[020a6c01] (02/21) Accurately ripped
[af64186e] (01/21) CD-Extra data track length 01:02:57, No match
- Up to now the info about CD-Extra data track length was only written
to the detailed log, when the CD did not contain a data track and the
last track was an audio track.
- Fixes#43
CUETools - Encode:
Up to now, when there were more than 32 images in a folder
or in sub-folders of a cue sheet, the method LoadAlbumArt()
returned and the window to select an image was not displayed.
- Increase the limit from 32 to 1000. When there are more images
than the upper limit, show a message in the progress area
and continue anyway.
- Show the progress of processed album art image files in percent.
When e.g. hundreds of image files have to be processed,
this can take a while and the user sees what's going on.
- Fixes#6
* Prevent exception on non-standard CUE sheet
In case of a CUE sheet with more than about 99 tracks, this `string`
constructor [1] threw an exception, because its repetition parameter
was negative.
Fixes Exception: 'count' must be non-negative.
* Update CDImage.cs
Shortened code by use of Math.Max()
[1] 980e63d956/CUETools.CDImage/CDImage.cs (L435)
- Remove unneeded file CUETools\hdcd.dll (32-bit) and remove
associated hdcd.dll Content entry from CUETools\CUETools.csproj
The same file is found here:
cuetools.net\ThirdParty\Win32\hdcd.dll
- Update UnRAR DLLs to v5.90.1
The previous version used by CUETools was 3.80
- This adds support for newer RAR files using RAR5 format.
Fixes the following error, when opening a RAR5 file:
Exception: File is not a valid archive.
- Use DLLs from current UnRARDLL.exe [1] and rename according to the
filenames used by CUETools so far:
UnRAR.dll -> cuetools.net\ThirdParty\Win32\unrar.dll
x64\UnRAR64.dll -> cuetools.net\ThirdParty\x64\Unrar.dll
Remark: The capital U in Unrar.dll for x64 is intentional.
- Update Unrar.cs:
New RHDF_DIRECTORY (0x20) flag in RARHeaderData and RARHeaderDataEx
structures indicates the directory entry.
Info from UnRARDLL.exe\whatsnew.txt (24 December 2012).
- Remove unneeded file CUETools\unrar.dll (32-bit, v3.80) and remove
associated unrar.dll Content entry from CUETools\CUETools.csproj
[1] https://www.rarlab.com/rar/UnRARDLL.exe
Detected FLAGS were written twice per track to the cue sheet in case of
Test & Copy and even multiple times, when ripping was repeated without
eject/load of the CD in between.
- Add a check, if gaps have already been detected and do not write
the FLAGS again.
- Fixes#41
So far, the CheckBox under Advanced Settings:
Tagging - "Overwrite CUE data" was only grayed out (enabled/disabled)
after clicking OK. The CheckBox should be enabled/disabled immediately
as soon as "Fill up missing CUE data from tags" is checked/unchecked.
- Add statement to frmSettings.Designer.cs, that wires the event to the
event handler for chkFillUpCUE_CheckedChanged()
- Remark: The event method calling EnableDisable() has already been
there before in frmSettings.cs:
private void chkFillUpCUE_CheckedChanged(object sender, EventArgs e)
{
EnableDisable();
}
A check of textBoxOffset.Text for invalid values (empty or '-' only)
is now done in a textBoxOffset_Validating() event instead of
previously textBoxOffset_TextChanged().
This avoids observed difficulties, when entering negative offsets,
where the zero could be in the way.