348 Commits

Author SHA1 Message Date
6ae1a42d90 Reorder top GUI sections 2026-04-19 00:11:42 +03:00
63aee123e7 Fix top panel layout overlap 2026-04-19 00:09:03 +03:00
1999ce3657 Make GUI layout more horizontal 2026-04-18 23:58:01 +03:00
f78a130926 Add drive analysis and offset tools to GUI 2026-04-18 23:53:27 +03:00
5baadd9dbb Fix window icon and remove duplicate log 2026-04-18 23:39:20 +03:00
997bfef893 Reduce GUI vertical footprint 2026-04-18 23:33:42 +03:00
290d650f80 Respect system GTK theme 2026-04-18 23:27:22 +03:00
05838116d0 Make GUI more EAC-like 2026-04-18 23:22:04 +03:00
7aef00e66a Improve GUI action logging 2026-04-18 23:16:35 +03:00
9564c7cf20 Fix GUI 2026-04-18 18:13:05 +03:00
56fd3a10c7 Add new features 2026-04-18 17:55:52 +03:00
992923bdc4 Add GTK GUI frontend for whipper 2026-04-18 17:24:56 +03:00
Merlijn Wajer
71251a0b86 Merge pull request #674 from lcorbasson/lcorbasson-patch-4
Fix cdrdao version detection RE
2026-02-17 23:33:18 +01:00
Merlijn Wajer
0ef96da621 Merge pull request #671 from lcorbasson/lcorbasson-patch-1
Make exception handling for cover art fetching more tolerant
2026-02-17 17:38:17 +01:00
Loïc CORBASSON
3fc930b768 Keep working if the HTOA track couldn't be ripped
Signed-off-by: Loïc CORBASSON <loic.devel@corbasson.fr>
2026-02-13 23:04:17 +01:00
Loïc CORBASSON
db36618628 Fix cdrdao version detection RE
Cuts 'Cdrdao 1.2.5 - (C) Andreas Mueller <andreas@daneb.de>' at the whitespace => '1.2.5'

Signed-off-by: Loïc CORBASSON <loic.devel@corbasson.fr>
2026-02-09 18:46:09 +01:00
Loïc Corbasson
b778b645ab Make exception handling for cover art fetching more tolerant
Use the parent class WebServiceError to cover all errors related to MusicBrainz API requests (ResponseError, NetworkError and AuthenticationError)

Signed-off-by: Loïc CORBASSON <loic.devel@corbasson.fr>
2026-02-09 17:06:02 +01:00
Merlijn Wajer
656cbe1858 Merge pull request #634 from sinofp/fix-S
Default %S to 'Unknown Artist'
2026-02-07 14:21:05 +01:00
Merlijn Wajer
bf8fe39d6b Merge pull request #660 from CommandMC/feat/multiple-catalognums
Support releases with multiple catalog numbers
2026-02-07 12:41:23 +01:00
Merlijn Wajer
6c5c119f69 Merge pull request #666 from jansol/develop
cdrdao: make version regex work with 1.2.6
2026-02-07 11:15:04 +01:00
Merlijn Wajer
1c865ded70 Merge pull request #661 from CommandMC/feat/color
Add `WHIPPER_COLOR_LOG` env var to color log output
2026-02-07 11:10:31 +01:00
Merlijn Wajer
b23d69b3c5 Merge pull request #656 from CommandMC/fix/finished-rip-detection
Only look for this rip's log file in output directory
2026-02-07 11:01:12 +01:00
Merlijn Wajer
8c70563489 Merge pull request #657 from CommandMC/fix/config
Always invoke the root command as `whipper`
2026-02-07 11:00:55 +01:00
Merlijn Wajer
e1069c084e Merge pull request #658 from CommandMC/fix/tests
Make tests more robust by mocking AccurateRip responses
2026-02-07 11:00:31 +01:00
Merlijn Wajer
4bf9d8cf8b Merge pull request #662 from CommandMC/fix/releaseid-complete
Make sure to always print out the full release id
2026-02-07 10:59:26 +01:00
Jan Solanti
98c4e957d2 cdrdao: make version regex work with 1.2.6
Signed-off-by: Jan Solanti <jhs@psonet.com>
2025-12-03 04:16:22 +02:00
Katharina Dröge
d2f1ea9d9e Make sure to always print out the full release id
Signed-off-by: Katharina Dröge <kate@commandmc.de>
2025-09-25 23:45:55 +02:00
Katharina Dröge
f319fcda9d Add WHIPPER_COLOR_LOG env var to color log output
Signed-off-by: Katharina Dröge <kate@commandmc.de>
2025-09-25 22:32:11 +02:00
Katharina Dröge
65e9439d45 Support releases with multiple catalog numbers
Signed-off-by: Katharina Dröge <kate@commandmc.de>
2025-09-25 21:09:56 +02:00
Katharina Dröge
adab25986f No longer rely on pkg_resources
Signed-off-by: Katharina Dröge <kate@commandmc.de>
2025-09-24 21:52:02 +02:00
Katharina Dröge
036fd82096 Make tests more robust by mocking AccurateRip responses
Signed-off-by: Katharina Dröge <kate@commandmc.de>
2025-09-24 17:52:47 +02:00
Katharina Dröge
86eb6a532d Always invoke the root command as whipper
Signed-off-by: Katharina Dröge <kate@commandmc.de>
2025-09-24 17:06:09 +02:00
Katharina Dröge
314660f7d1 Only look for this rip's log file in output directory
Signed-off-by: Katharina Dröge <kate@commandmc.de>
2025-09-24 17:02:40 +02:00
Merlijn Wajer
bc8b96d956 Merge pull request #549 from BioBox/prompt
Better --prompt Handling
2025-04-03 23:20:52 +02:00
sinofp
cac1fe5ed4 Default %S to 'Unknown Artist'
When metadata is absent,
the %S template variable does not have a default value set in the dictionary,
which can cause a "KeyError: 'S'" error.

While %A defaults to 'Unknown Artist' and %S might conventionally default to 'Artist, Unknown',
defaulting %S to that is unnecessary,
because manual tagging typically follows to assign the correct name.
Therefore, I default %S to 'Unknown Artist', just like %A.

Signed-off-by: sinofp <sinofp@tuta.io>
2024-08-30 23:09:06 +01:00
Alicia Boya García
4719c74f65 New TOC CD-TEXT string decoding
This patch replaces the previous broken approach to TOC string decoding
that used `.encode().decode('unicode_escape')` with proper parsing of
the escape sequences cdrdao is known to generate.

The new parser is also lenient with invalid escape sequences, that can
occur due to improper escaping in cdrdao. See:
https://github.com/cdrdao/cdrdao/issues/32

Latin-1:

This new parsing method should work for Latin-1 strings for both old and
new versions of cdrdao, as long as those strings don't trigger the
improper escaping issues in upstream cdrdao.

This has been verified with the album Diorama from the Danish black
metal band MØL.

MS-JIS:

This new parsing method should also work for MS-JIS strings as long as
the .toc file was generated by cdrdao 1.2.5+ and the strings don't
trigger improper escaping issues in upstream cdrdao.

Unfortunately, I don't have any CD with CD-Text in MS-JIS, so I could
not verify this.

cdrdao versions before 1.2.5 will still cause whipper to produce
mojibake (garbled characters) when reading MS-JIS CD-Text, as those
versions do not encode strings in UTF-8.

Other encodings:

As far as I know, CD-Text only supports officially ASCII, Latin-1 and
MS-JIS, but I wouldn't be surprised if there are unofficial encodings
out there, given the strange strings I've seen in some bug reports.

If you have a CD with garbled CD-Text, please submit a bug report
indicating the performer, album name, language and attach the .toc file
so that the produced strings can be compared to the expected text.

Fixes https://github.com/whipper-team/whipper/issues/169

Signed-off-by: Alicia Boya García <ntrrgc@gmail.com>
2024-08-27 12:19:29 +02:00
Merlijn Wajer
a4b97422ea Merge pull request #600 from AndrewKvalheim/string-format
Correct string formatting
2024-04-01 21:05:44 +02:00
Joshua Simpson
098af47231 Save FLAC file after embedding cover art
Signed-off-by: Josh Simpson <107582704+JoshWVS@users.noreply.github.com>
2024-03-25 18:09:44 -04:00
Andrew Kvalheim
2ebe7033e0 Correct string formatting
The input to the RuntimeError constructor is not a format string.
2023-09-26 05:46:33 -07:00
JoeLametta
e0ad242795 Fix flake8 warning
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2022-07-16 16:01:35 +00:00
JoeLametta
1ab1ec982d Merge pull request #562 from arcctgx/accurip-url-strip
Fix stripping AccurateRip URL in accurip command
2022-07-16 17:54:16 +02:00
arcctgx
c47abef5a1 Fix stripping AccurateRip URL in accurip command
Using lstrip() to remove initial part of the URL results in removing too
many characters when AccurateRip identifier has hex digits a, c or e in
the beginning (e.g. e/e/d/dBAR-006-000aadee-003920f8-4d0a3d06.bin
becomes d/dBAR-006-000aadee-003920f8-4d0a3d06.bin).

Signed-off-by: arcctgx <arcctgx@o2.pl>
2022-07-09 21:13:53 +02:00
Bradley Walters
1b13013782 extern.task: replace GLib event loop with asyncio event loop
Signed-off-by: Bradley Walters <oss@walters.app>
2022-05-23 17:59:07 -06:00
Daniel J. Perry
3395c1d753 Make --prompt input case in-sensitive
Signed-off-by: Daniel J. Perry <dperry45@gatech.edu>
2021-08-01 14:29:14 -04:00
Daniel J. Perry
ebdbde4ce9 Less ambiguous prompt selection message
Signed-off-by: Daniel J. Perry <dperry45@gatech.edu>
2021-08-01 14:29:14 -04:00
Daniel J. Perry
31073c67cb Fix bug caused by unescaped globbing
Signed-off-by: Daniel J. Perry <dperry45@gatech.edu>
2021-07-26 01:45:00 -04:00
Martin Weinelt
e0942417a1 Use custom YAML subclass to be compatible with ruamel_yaml>=0.17
Signed-off-by: Martin Weinelt <hexa@darmstadt.ccc.de>
2021-07-04 16:53:09 +02:00
JoeLametta
042bf8f926 Mark suitable methods as static
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-26 10:35:58 +00:00
JoeLametta
8d6e64f58d Replace mutable default argument with None
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-26 10:35:58 +00:00
JoeLametta
06356fc40f README update, code linting changes
- PEP8 fix
- Remove useless parens
- Docstring fixes
- RegEX: remove unneeded escape character
- accuraterip-checksum: output usage to stderr in case of wrong invocation

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-26 10:35:58 +00:00