Commit Graph

675 Commits

Author SHA1 Message Date
Wolfgang Stöggl
d4dd402961 Bump copyright year to 2021
- Substitute occurrences of "-2020" with "-2021" using:
  git grep -I -l -e '-2020' -- ':(exclude)*.bak' | xargs \
  sed -b -i -e 's/-2020/-2021/g'
2021-01-14 02:18:32 +01:00
Wolfgang Stöggl
3ee5fec963 Update German translation (#68)
- 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
2021-01-05 06:00:59 +01:00
Wolfgang Stöggl
d42d3043f2 Add GitHub Action CI-windows.yml
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
2020-12-04 18:58:19 +01:00
Wolfgang Stöggl
bf67b53ef4 Support tabs for indentation in cue sheets
So far, cue sheets using tabs for indentation could not be parsed and
an error message was shown.

- Fixes #65
2020-12-01 21:10:56 +01:00
Wolfgang Stöggl
6fcd5b92d7 Fix further issues on case sensitive file systems
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
2020-07-05 06:08:35 +02:00
ipaucek4680
3afbf76fb0 Fix filename capitalization (#56) 2020-06-07 13:32:35 +02:00
422c24145c Fix case collision between FLAKE and Flake. (#52)
* Fix case collision between FLAKE and Flake.

* Keep only necessary changes of PR#52

Co-authored-by: Wolfgang Stöggl <c72578@yahoo.de>
2020-06-07 07:36:15 +02:00
Wolfgang Stöggl
978874aa05 Add FFmpeg.AutoGen as submodule under ThirdParty
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
2020-05-22 20:40:29 +02:00
Wolfgang Stöggl
28122952bb Correct filename of CUETools.FLACCL.cmd.csproj
- Add missing C to filename:
  CUETools.FLACL.cmd.csproj->CUETools.FLACCL.cmd.csproj
- Update CUETools/CUETools.sln accordingly
2020-05-04 09:50:58 +02:00
Wolfgang Stöggl
9f80400629 [CUETools] Preserve EAC log file encoding
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
2020-05-04 09:14:57 +02:00
Wolfgang Stöggl
a2b12d1d0f [CUERipper] Save metadata before UpdateDrive(s)
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
2020-05-04 09:12:54 +02:00
Wolfgang Stöggl
124b532b9e Fix CD-Extra data track info in detailed log
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
2020-04-10 10:16:34 +02:00
Wolfgang Stöggl
1d548e5f84 [CUETools] Allow more than 32 album art images
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
2020-04-10 10:15:20 +02:00
h-h-h-h
5f7b450b47 Prevent exception on non-standard CUE sheet (#22)
* 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)
2020-03-30 07:53:40 +02:00
Wolfgang Stöggl
980e63d956 Remove duplicate hdcd.dll
- 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
2020-03-30 07:41:45 +02:00
Wolfgang Stöggl
33f922e68f Update copyright info in two more files
CUETools/License.txt
CUETools/frmCUETools.cs
2020-03-23 14:31:12 +01:00
Wolfgang Stöggl
b2f8e322ae [CUETools] Update UnRAR DLLs
- 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
2020-03-23 14:24:40 +01:00
Wolfgang Stöggl
73a5c05dc2 [CUERipper] Write FLAGS only once to cue sheet
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
2020-03-23 10:48:44 +01:00
Wolfgang Stöggl
18f00da89d [CUETools] Update TabIndex (#39)
* [CUETools] Update TabIndex in frmCUETools

- Sort TabIndex entries
- Add TabStop to toolStripInput and toolStripOutput

* [CUETools] Update TabIndex in frmAbout

- Sort TabIndex entries
- Remove unneeded TabStop from the ReadOnly textBox1

* [CUETools] Update TabIndex in frmSettings

- Sort TabIndex entries in the following tab pages of frmSettings:
  CUETools, Tagging, AccurateRip, Formats, Encoders, Decoders
2020-03-11 20:36:06 +01:00
Wolfgang Stöggl
5af215b67b [CUETools] Fix gray out of setting under Tagging
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();
  }
2020-03-02 10:38:00 +01:00
Wolfgang Stöggl
cacc461c07 [CUETools] Update offset entry
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.
2020-02-28 09:50:50 +01:00
Wolfgang Stöggl
fe3cf97ef7 Fix typos found by codespell
- Typos were found by codespell v1.17.0.dev0 (commit 44fea6d)
- Command used:
  codespell -q 2 \
  -L ba,bloc,blocs,doubleclick,dur,fille,frmat,numer,optin,passtime \
  -L pres,strack,te,tim,tre,uint,whn \
  --skip="*.de-DE.resx,./Bwg*,./Freedb,./MusicBrainz,./ProgressODoom" \
  --skip="./ThirdParty"
2020-02-19 12:12:59 +01:00
Wolfgang Stöggl
66b533c284 Bump copyright year to 2020
The copyright year was last time updated in 2018. There is some cleanup
involved in this commit and the next copyright year update is supposed
to be simpler (i.e. substitute "-2020").

- Substitute occurrences of "-2018" with "-2020" using:
  git grep -I -l -e '-2018' -- ':(exclude)*.bak' | xargs \
  sed -b -i -e 's/-2018/-2020/g'

- Update special cases:
  CUEPlayer
    git grep -I -l -e 'Grigory Chudov 2010' -- | xargs \
    sed -b -i -e 's/Grigory Chudov 2010/2010-2020 Grigory Chudov/g'
  CUERipper
    git grep -I -l -e '2008-2009' -- | xargs \
    sed -b -i -e 's/2008-2009/2008-2020/g'
  CUETools, CUETools.FLACCL.cmd
    git grep -I -l -e '2008-2010' -- ':(exclude)*FlaCuda*' | xargs \
    sed -b -i -e 's/2008-2010/2008-2020/g'
    git grep -I -l -e '2010-2013' -- | xargs \
    sed -b -i -e 's/2010-2013/2010-2020/g'
  CUETools.ChaptersToCue
    git grep -I -l -e 'Grigory Chudov 2017' -- | xargs \
    sed -b -i -e 's/Grigory Chudov 2017/2017-2020 Grigory Chudov/g'
  CUETools.CTDB.EACPlugin
    git grep -I -l -e 'Grigory Chudov 2012' -- | xargs \
    sed -b -i -e 's/Grigory Chudov 2012/2012-2020 Grigory Chudov/g'
    git grep -I -l -e '2011-12' -- | xargs \
    sed -b -i -e 's/2011-12/2011-2020/g'
  CUETools.Codecs.FLACCL
    git grep -I -l -e '2009-2010' -- ':(exclude)*FlaCuda*' | xargs \
    sed -b -i -e 's/2009-2010/2009-2020/g'
  CUETools.eac3ui (BluTools)
    git grep -I -l -e '©  2018' -- | xargs \
    sed -b -i -e 's/©  2018/© 2018-2020 Grigory Chudov/g'
  CUETools.Flake
    git grep -I -l -e ' 2009-2014 Gr' -- | xargs \
    sed -b -i -e 's/ 2009-2014 Gr/ 2009-2020 Gr/g'
  CUETools.Processor
    git grep -I -l -e ' 2008-2013  Gr' -- | xargs \
    sed -b -i -e 's/ 2008-2013  Gr/ 2008-2020 Gr/g'
  CUETools.Ripper.Console
    git grep -I -l -e ' 2008-10 Gr' -- | xargs \
    sed -b -i -e 's/ 2008-10 Gr/ 2008-2020 Gr/g'
  CUETools.Ripper.Console, CUETools.Ripper.SCSI
    git grep -I -l -e ' 2008-13 Gr' -- | xargs \
    sed -b -i -e 's/ 2008-13 Gr/ 2008-2020 Gr/g'

  Single year entries: 2008, 2009, 2010, 2011, 2017, 2018
    git grep -I -l -e ' 2008 Gr' -- | xargs \
    sed -b -i -e 's/ 2008 Gr/ 2008-2020 Gr/g'
    git grep -I -l -e ' 2009 Gr' -- ':(exclude)*FlaCuda*' | xargs \
    sed -b -i -e 's/ 2009 Gr/ 2009-2020 Gr/g'
    git grep -I -l -e ' 2010 Gr' -- | xargs \
    sed -b -i -e 's/ 2010 Gr/ 2010-2020 Gr/g'
    git grep -I -l -e ' 2011 Gr' -- | xargs \
    sed -b -i -e 's/ 2011 Gr/ 2011-2020 Gr/g'
    git grep -I -l -e ' 2017 Gr' -- | xargs \
    sed -b -i -e 's/ 2017 Gr/ 2017-2020 Gr/g'
    git grep -I -l -e ' 2018 Gr' -- | xargs \
    sed -b -i -e 's/ 2018 Gr/ 2018-2020 Gr/g'

  Fix typo in copyright year of CUETools.Codecs.WMA/AudioDecoder.cs:
    Copyright (c) 20139 Grigory Chudov
    git grep -I -lw -e '20139' -- | xargs \
    sed -b -i -e 's/20139/2013-2020/g'
2020-02-04 13:35:53 +01:00
Wolfgang Stöggl
1d3261a898 Sort selected target frameworks to avoid warnings
Sort TargetFrameworks in the following projects with net20 first,
to avoid warnings from CUETools.CTDB.EACPlugin:
  CUETools.AccurateRip, CUETools.CDImage, CUETools.CTDB,
  CUETools.CTDB.Types, CUETools.Codecs, CUETools.Parity
Change order:
  <TargetFrameworks>net47;net20;netstandard2.0</TargetFrameworks>
  ->
  <TargetFrameworks>net20;net47;netstandard2.0</TargetFrameworks>

- Fixes the following warnings after opening CUETools.sln
  in Visual Studio, e.g.:
  The referenced project 'CUETools.AccurateRip' is targeting a higher
  framework version (4.7) than this project’s current target framework
  version (2.0). This may lead to build failures if types from
  assemblies outside this project’s target framework are used by any
  project in the dependency chain. Project: CUETools.CTDB.EACPlugin
2020-01-30 16:15:07 +01:00
Wolfgang Stöggl
a55ba5d552 Update README.md
Add info concerning installation of NASM, which is required for
building the 32-bit flac plugin. This concerns only 32-bit,
where x86 assembly optimizations are enabled by default.
For further details see: ThirdParty\flac\README
2020-01-29 08:31:11 +01:00
Wolfgang Stöggl
59c560c816 Fix .exe filenames in console output
Update the console output to show the current filenames:

ArCueDotNet.exe   -> CUETools.ARCUE.exe
LossyWAVSharp.exe -> CUETools.LossyWAV.exe
2020-01-25 15:05:05 +01:00
Wolfgang Stöggl
336f5f816d Update CUETools.Codecs.TTA.vcxproj to .NET v4.7
The .NET version in CUETools.Codecs.TTA.vcxproj was still at v4.0.

- Update the <TargetFrameworkVersion> from v4.0 to v4.7
- Use $(Configuration) in <HintPath> for
  <Reference Include="Newtonsoft.Json"> and update from net40 to net47.
  This fixes the following warning and subsequent errors:
  Warning MSB3274 The primary reference "Newtonsoft.Json" could not
  be resolved
2020-01-23 11:23:44 +01:00
Aaron Kaluszka
2bde92380a Replace invalid filename characters in ripped tracks 2020-01-14 12:30:34 +01:00
Wolfgang Stöggl
6d01dc106d CUETools.FLACL.cmd: print Hz after SampleRate
- Use Hz instead of kHz
- Fixes: https://github.com/gchudov/cuetools.net/issues/17
2019-04-16 06:32:47 +02:00
Wolfgang Stöggl
19aa57ee1d Update .NET sku to v4.7 in app.config files
- Use:
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/>
- Fixes: https://github.com/gchudov/cuetools.net/issues/12
- XML pretty print app.config files
2019-01-20 00:01:42 +01:00
Grigory Chudov
aa4c75caac Merge pull request #10 from c72578/2019-01-03_Add_build_instructions
Add build instructions to README.md
2019-01-12 16:21:57 -05:00
Wolfgang Stöggl
90c76bd263 Update HintPath for taglib-sharp.dll
- Use $(Configuration) instead of Release in path and add net47
- Allows straight forward initial building in Debug configuration
2019-01-12 21:50:33 +01:00
Wolfgang Stöggl
c53ef7fed1 Update OpenCLNet.dll HintPath
- Use $(Configuration) instead of Release in path
- Update from net40 to net47
- Fixes:
Error CS0246 The type or namespace name 'OpenCLNet' could not be found
(are you missing a using directive or an assembly reference?)
CUETools.FLACL.cmd cuetools.net\CUETools.FLACCL.cmd\Program.cs 359 N/A
2019-01-12 21:50:33 +01:00
Wolfgang Stöggl
a6e91e5742 Add build instructions to README.md 2019-01-03 15:24:43 +01:00
Wolfgang Stöggl
b657f869e0 Merge pull request #8 from c72578/2019-01-02_fix_LinkArea_in_frmAbout.de-DE.resx
Fix LinkArea in frmAbout.de-DE.resx
2019-01-02 14:12:25 +01:00
Wolfgang Stöggl
b640530919 Fix LinkArea in frmAbout.de-DE.resx
- Fixes: https://github.com/gchudov/cuetools.net/issues/2
2019-01-02 14:03:01 +01:00
Grigory Chudov
22935d05b9 Prevent taglib from corrupting flac files when embedded album art exceeds 16Mb 2018-11-25 15:57:12 -05:00
Grigory Chudov
da674e24fa Prevent taglib from corrupting flac files when embedded album art exceeds 16Mb 2018-11-25 15:34:37 -05:00
Grigory Chudov
3f121a8f9e Fix issues with downloaded album art. 2018-11-25 15:12:51 -05:00
Grigory Chudov
ededb2112c net40=>net47 2018-10-21 18:39:59 -04:00
Grigory Chudov
f027572220 net40 to net47 2018-10-21 18:24:39 -04:00
Grigory Chudov
e51cae3b52 Cut'n'paste metadata fields 2018-10-21 17:56:14 -04:00
Grigory Chudov
4e66625371 Merge branch 'master' of https://github.com/gchudov/cuetools.net 2018-10-21 14:12:25 -04:00
Grigory Chudov
9754a9a328 Fixed a few bugs and switched to .NET framework 4.7 2018-10-21 14:12:05 -04:00
Grigory Chudov
de71de6299 Merge branch 'master' of https://github.com/gchudov/cuetools.net 2018-07-03 20:20:33 -04:00
Grigory Chudov
dd1358f8dc Crop, rotate and trim album art 2018-07-03 19:59:19 -04:00
Grigory Chudov
53dadd858a Look for album art more thoroughly;
Fix a bug with discs that have a playstation-type data track (before music) with nonstandard pregap
2018-07-03 19:58:31 -04:00
Grigory Chudov
989ca7f793 Implement padding support for mp3 files 2018-07-03 19:56:08 -04:00
Grigory Chudov
c0836e7d31 Update .gitmodules 2018-07-02 08:36:55 -04:00
Grigory Chudov
4de0c06ba8 Update .gitmodules 2018-07-02 08:35:42 -04:00