Commit Graph

33 Commits

Author SHA1 Message Date
Martchus 64d98f5530 Use std::string_view where it makes sense 2021-01-30 21:53:06 +01:00
Martchus 7043c3d2a9 Don't suppress IO errors when writing files
* Close or flush streams explicitely so writing is not
  deferred
    * to catch errors in the right place
    * to avoid suppressing errors completely when writing
      would be deferred to the destructor invocation
* Improve comments
2019-12-15 19:43:16 +01:00
Martchus 5ad00a083c Adapt to changes in c++utilities 2019-06-10 23:11:39 +02:00
Martchus c17db5f2f6 Apply cmake-format and clang-format 2019-05-04 21:03:09 +02:00
Martchus 3288d49d62 Support 'file://' URLs also when saving 2019-05-04 16:04:37 +02:00
Martchus 7efa7a0d5a Adapt to c++utilities v5 2019-05-04 16:04:21 +02:00
Martchus a87ad5f5ec Don't use global variable for backup directory 2018-07-12 12:34:38 +02:00
Martchus 3265e0bea4 Fix documentation which was still using the old namespace 2018-06-03 20:38:32 +02:00
Martchus 0a640c9f7f Fix warnings, mostly about implicit int conversions
This should fix all non-erros, leaving only warnings which
are indeed potential problems.

The following warnings should be safe to ignore:

* Conversions of various offsets from uint64 to
  std::streamoff/int64 are safe because such offsets have
  been obtained via tellg() and other functions
  returning std::streamoff in the first place.
* It also works vice-versa since tellg() should not
  return negative offsets with exceptions enabled.
* Conversions from char to unsigned char are also ok.
* Unused diag arguments can be ignored (those might be
  useful later).
* Annotate all intended fallthoughs.
2018-06-02 23:04:53 +02:00
Martchus d856fb4c75 Use std::numeric_limits 2018-03-21 20:40:51 +01:00
Martchus c0336ed4bb Apply clang-format 2018-03-07 01:17:50 +01:00
Martchus 0e15c74103 Move everything into namespace TagParser 2018-03-06 23:09:15 +01:00
Martchus 36511fcc13 Add progress feedback and diagnostics replacing status provider 2018-03-06 22:44:01 +01:00
Martchus 568f876b34 Improve performance when parsing big OGG files
by skipping pages in the middle (unless a full parse
is forced).

Additionally, the size of the tracks is now determined
on container-level which makes handling the skipping
easier.
2017-08-29 01:29:27 +02:00
Martchus e9c923471b Fix ambigious function call 2017-08-11 21:48:39 +02:00
Martchus b97192abd3 Use std::make_unique provided by C++14 2017-02-05 21:02:40 +01:00
Martchus 541f14039b Make use of string builder 2017-01-27 18:59:22 +01:00
Martchus 477ac9884b Use _wopen under Windows to support unicode filenames 2016-12-21 00:42:31 +01:00
Martchus 817a8e25e6 Improve documentation and consistency 2016-08-04 00:16:19 +02:00
Martchus cf5b021180 Use workaround for GCC Bug 66145 2016-06-14 22:53:43 +02:00
Martchus 53f0903c3b Add tests for FLAC files 2016-05-21 22:11:08 +02:00
Martchus a84ac37dbe Add support for raw FLAC streams 2016-05-16 20:56:53 +02:00
Martchus bbafd16dcc Support FLAC in Ogg 2016-05-14 23:20:51 +02:00
Martchus 6c6ab0e301 improved file handling
- don't override backup files
- allow saving files at a different location
- reduce code duplication for restoring backups
2016-05-01 20:02:44 +02:00
Martchus 6cce90b106 overall code cleanup 2016-04-24 22:10:45 +02:00
Martchus b8e8dcd778 fixed some OGG/Vorbis related issues 2016-03-22 22:52:36 +01:00
Martchus 899e2a97fe small improvements
- fixed some mostly ID3/MP3 related bugs
- added convenience methods/operators
2016-03-18 21:43:09 +01:00
Martchus 240e7d0b42 support Opus in OGG 2016-01-17 19:32:58 +01:00
Martchus ed10015b1a fixed reset() methods 2015-10-06 22:39:18 +02:00
Martchus aa50c2d8b3 fixed includes 2015-09-06 19:57:33 +02:00
Martchus b1eb6faba6 fixed includes 2015-09-06 15:42:18 +02:00
Martchus 8b91b41801 updated readme 2015-08-26 20:01:32 +02:00
Martchus 033e313c74 First commit 2015-04-22 19:22:01 +02:00