wangqr
638f1eb99e
Detect byte order
...
Since uchardet does not do that for us
Fix wangqr/Aegisub#38
2020-04-03 22:21:00 -04:00
wangqr
c0c2a9100d
Modernize CMake (part 1)
2020-03-30 20:32:16 -04:00
wangqr
ef99ce14fd
Detect iconv type at compile time instead of project generation
2020-03-20 08:03:44 -04:00
Charlie Jiang
a2fc4bf479
🐛 Fix: lagi: Don't close iconv_t if it is iconv_invalid
...
When certain iconv_t is invalid, iconv_invalid(0xfffffffffffffffffffffff) will be returned. Passing it to iconv_close will cause a SIGSEGV.
2019-11-02 21:23:27 -04:00
wangqr
71894fd769
Fix bugs in ram audio provider
...
There was some magic bit operations to calculate the cache block offsets. This only works when both bytes_per_sample and channels are power of 2. Originally the format is assumed to be int16 mono, which satisfies this requirement. However in case we use original audio data, the channels can be something not a power of 2 (e.g. for 5.1 channel audio the number of channels is 6). This will break the calculation. We rewrite the calculation, without using those bit operations.
2019-11-02 02:26:36 -04:00
wangqr
56434c5f58
Fix bugs in separating Int16Mono and original audio
...
* A memory leak in FillBufferInt16Mono
* A now unnecessary assert
2019-11-02 00:41:14 -04:00
wangqr
309996aeb2
Remove the usage of __FILE__
...
Prepare for reproducible build
2019-11-02 00:23:44 -04:00
wangqr
0336779735
Added experimental XAudio2 audio player
...
Removed downsampling in FFMS2 and CreateConvertAudioProvider, to ensure we can get the original audio channels and data.
Fix Aegisub/Aegisub#160
2019-11-01 03:32:42 -04:00
wangqr
620033915a
Handle channel > 1 in hd & ram cache audio provider
2019-10-30 00:47:45 -04:00
wangqr
c1a4e0674b
Move the ConvertAudioProvider into GetInt16MonoAudio function
...
And use a dummy ConvertAudioProvider to keep backward compatibility.
2019-10-30 00:19:10 -04:00
wangqr
24d52bb1ee
Clearly state int16 Mono of the audio provider in function name
...
Most code assumes the audio provider is providing int16 single channel audio data, without actually checking them. In this commit, we add a new function to provide the needed int16 mono data with checking.
2019-10-29 21:45:40 -04:00
wangqr
f92abc863e
Remove exception in destructor of agi::io::Save
...
Provide Close() for error handling
Correctly parse boost error code
Handle failure in TextFileWriter
Fix wangqr/Aegisub#25
2019-10-17 03:29:59 -04:00
wangqr
f1ef3d2d2c
Fix PCM provider bugs
2019-09-15 19:46:43 -04:00
wangqr
3eff75d56e
In tagless_find_helper only tag before start should be ignored
...
The search result is irrelevant to which tag we should ignore
Fix wangqr/Aegisub#17
2019-09-11 11:29:20 -04:00
wangqr
1204a3be85
Cleanup CMake
2019-09-10 01:37:48 -04:00
wangqr
c2c44f1ad2
Fix build warnings
...
For pimpl with anonymous namespace, see https://stackoverflow.com/questions/39684438
2019-09-07 01:31:16 -04:00
wangqr
d65643ddee
Remove extra semicolon
2019-09-02 22:23:19 -04:00
wangqr
fbca222295
Add back original travis tests
2019-09-02 22:06:41 -04:00
wangqr
3225ae39f4
Fix Makefile build
...
A missing header (acconf.h) issue was introduced in 34575a9786
In 419386aadd
, some new source files have been added but not added to the file list in Makefile
2019-09-02 13:46:50 -04:00
wangqr
d6ddea0f65
Detect EBML magic number to skip encoding detection for MKV
...
MKV loads slow after f733297499
2019-06-16 19:16:31 -04:00
wangqr
f733297499
Rewrite encoding detection
...
Now feeds all data to uchardet, when uchardet is available. The file
size limit is removed.
When uchardet is not available, we look for UTF-8 BOM.
This should make loading UTF-8-BOM files faster.
Because Aegisub always save file in UTF-8-BOM, this should also
guarentee Aegisub will load large (>100MB) file saved by itself.
See Aegisub/Aegisub#110
2019-05-18 22:13:26 -04:00
wangqr
1819fc8d8b
Fix iconv ConversionFailure on long path
2019-05-16 11:04:53 -04:00
Ryan Lucia
bb2cfb1fcd
Properly ignore ASS whitespace characters in character counter
2019-05-11 20:00:49 -04:00
wangqr
34575a9786
Migrate to CMake to update packages easier
2019-05-08 16:34:39 -04:00
wangqr
841a35a6fd
Fix overflow bound
2018-12-08 01:20:08 -05:00
wangqr
ee7dc6af4e
Fix millisecond to centisecond convertion
...
Fix Aegisub/Aegisub#94
2018-12-08 01:20:08 -05:00
Thomas Goyne
2cb92a5f74
Bump _WIN32_WINNT to Vista
2018-11-23 09:22:18 -08:00
Thomas Goyne
5cfa896f98
Drop Windows XP support
2018-05-25 08:27:29 +02:00
sidneys
d4461f65be
fix(updated-macos-build): prefix icu method calls (icu::BreakIterator, icu::Locale, icu::UnicodeString)
2018-03-31 02:58:27 +02:00
therealfun
f6a2ac08a6
Makefiles: replace the use of subst macro with patsubst ( #56 )
...
$(subst .c,.o,...) replaces '.c' with '.o' everywhere in pathnames. For
example, renaming the "Aegisub" folder to "Aegisub.cool" will make the
build system generate "Aegisub.oool/.../.o" objects.
https://www.gnu.org/software/make/manual/make.html#Text-Functions
2018-03-05 09:28:29 -08:00
Martin Herkt
3594ade719
build: sort wildcard results for repeatable builds ( #44 )
2017-03-30 10:08:30 -07:00
Thomas Goyne
43f5af556d
Switch back to GetVersionEx() to avoid depending on the win8 SDK just for VersionHelpers.h
2016-04-08 11:24:07 -07:00
Thomas Goyne
893b08a19c
Add CFLAGS_PTHREAD/LIBS_PTHREAD to everything needing them
...
Closes #1903 .
2016-03-05 11:23:46 -08:00
Thomas Goyne
45315476bd
Switch to a maintained fork of universalchardet
2016-02-09 20:29:29 -08:00
Thomas Goyne
bebc024fa0
Fix overflow issues with truncated pcm files
2015-11-29 20:11:14 -08:00
Thomas Goyne
263ccbdc23
Fix misalined pointer read in the PCM audio provider
2015-11-29 20:11:14 -08:00
darealshinji
f0258cf2d9
Don't use -fPIC
...
`-fPIC` is only useful when building shared libraries.
2015-09-18 23:03:50 +02:00
Thomas Goyne
4366e59353
Update to Visual Studio 2015
2015-07-30 19:20:10 -07:00
Thomas Goyne
d5dde6cff2
Reduce error-handling bloat a bit
2015-07-28 16:22:48 -07:00
Thomas Goyne
b0f4c9f1ad
Remove agi::vfr::Framerate's explicit swap implementation
2015-07-28 14:30:03 -07:00
Thomas Goyne
fefa31eb47
Improve code coverage of tests
2015-07-28 14:30:03 -07:00
Thomas Goyne
4a3b411092
Silence a warning
2015-07-28 14:30:02 -07:00
Thomas Goyne
09b2736103
Mark a bunch of things as overriding virtual functions
2015-07-28 14:30:02 -07:00
Thomas Goyne
3c55d4fde4
Fix incorrect results for non-regex skip tags searches
...
Closes #1865 .
2015-07-27 10:29:22 -07:00
Thomas Goyne
74ac2ab1fe
Extract some more find/replace logic to libaegisub
2015-07-27 10:29:22 -07:00
Thomas Goyne
c013342caa
Catch more exceptions in lfs
2015-05-09 10:54:37 -07:00
Thomas Goyne
878fd4453b
Fix whitespace
2015-02-15 08:19:22 -08:00
Thomas Goyne
e72ab0eda8
Remove an incorrect error message
2015-02-15 08:19:17 -08:00
Thomas Goyne
879788fe83
Eliminate some gratuitous exceptions
2015-02-15 08:19:10 -08:00
Thomas Goyne
9f196adc2e
Replace boost::tokenizer with agi::Split
2015-02-08 08:11:22 -08:00