32 Commits

Author SHA1 Message Date
Dan Bryant
4aefb5cbdb clang-format 2020-03-04 15:26:30 +00:00
Dan Bryant
8db03e4821 ensure that when we extract the filename it won't stop on the first period encountered 2020-03-04 15:19:50 +00:00
Daniel Kamil Kozar
9670fd6b19
Remove all usages of std::wstring (#219)
This commit erases all usages of std::wstring from the face of the project and reduces wchar_t usages to the necessary minimum, mostly for interoperability with WinAPI functions. UTF-8 encoded std::strings are used in place of std::wstring objects, and code which must operate on actual characters instead of the bytes which might represent a character has been modified in order to work properly - mostly the subtitle renderer and reader classes.
2020-03-01 01:14:57 +01:00
Daniel Kamil Kozar
1bead15c8f
Don't use POSIX APIs in Windows builds (#212)
The POSIX compatibility layer provided by the Microsoft C Runtime Library
treats its string arguments as if they were passed to the A-family of WinAPI
functions, which means that they undergo conversion to the ACP before being
passed to the actual WinAPI call. Passing UTF-8 encoded strings could have
never really worked.
2020-02-27 22:20:36 +01:00
Daniel Kamil Kozar
31d39b60a7
Implement support for default audio and subtitle tracks when muxing to Blu-ray (#161)
Fixes #126.
2020-02-08 20:48:41 +01:00
Daniel Kamil Kozar
355151c7ea
Try using the active code page if conversion from UTF-8 fails (#181)
This makes the program compatible with meta files saved in ACP by older GUI
versions.
2020-02-06 22:38:54 +01:00
Daniel Kamil Kozar
92246c3367 Make the main binary a Unicode application on Windows
This commit uses "wide" (i.e. UTF-16) commandline arguments when launching the
program on Windows, and uses the "wide" Windows APIs when dealing with strings.
This makes it independent from the currently selected active code page on the
system, and hopefully fixes issues with "nonstandard" characters appearing in
file and directory paths.

Fixes #172.
2020-02-05 00:15:44 +01:00
Daniel Kamil Kozar
451ec61a50
Introduce a uniform formatting style (#131)
The repository now contains a clang-format file which should be used when committing new code. Additionally, a new workflow job is added which checks the conformance of source files to the specified formatting rules.

Fixes #47.
2020-01-14 21:56:44 +01:00
Dan Bryant
aaecc7c1d6 Merging pull request #67 2019-12-10 22:42:23 +00:00
Daniel Kamil Kozar
6bc34a6e54
Replace custom platform defines with standard ones 2019-12-08 16:31:56 +01:00
Daniel Kamil Kozar
d7994f1193
Fix MSYS2 build 2019-10-27 02:22:26 +02:00
Dan
8615976b6c
Merge pull request #22 from xavery/remove-stdafx
Remove stdafx.{cpp,h}
2019-10-26 22:52:15 +01:00
Daniel Kamil Kozar
721d5c12d9
Use std::thread in libmediation's TerminatableThread
TerminatableThread is now implemented by using std::thread. The terminate()
function provided by the base class was actually not used anywhere, and was
removed along with the base class itself.
As a bonus, the completely unused files common_win32.{cpp,h} are also removed.
2019-10-26 21:31:06 +02:00
Daniel Kamil Kozar
0fd3b37746
Remove stdafx.{cpp,h}
Precompiled headers aren't actually used by any of the compilers, so leaving
this header in the repo doesn't make much sense.
However, removing it revealed some places in the code which rely on windows.h
being included on WIN32, which was probably included via the tchar.h include.
These places have been fixed to explicitly include windows.h.
2019-10-26 21:15:03 +02:00
Dan Bryant
7550335ba3 Merge branch 'master' into enhancement-crossbuild 2019-10-25 17:08:50 +01:00
Daniel Kamil Kozar
9994ee5f44
Completely rework the CMake build system 2019-10-25 17:28:31 +02:00
Dan Bryant
4353e6a8f4 add initial MXE instructions, fix up some small issues when building on MXE 2019-10-25 13:06:29 +01:00
Dan Bryant
e909c7e028 work around exception specifier error on Windows, clean up readme 2019-10-25 11:56:08 +01:00
Dan Bryant
494a9ebf26 fix for Windows build in Docker, update CMake config to find zlib and libpng 2019-10-25 10:19:38 +01:00
Daniel Kamil Kozar
b098a6de41
Remove condvar, mutex and time from libmediation 2019-10-24 23:54:56 +02:00
Dan
a49263716f
Merge pull request #15 from justdan96/enhancement-crossbuild
Enhancement crossbuild
2019-10-24 20:13:07 +01:00
Dan Bryant
fc967d829f switch from make to cmake 2019-10-24 20:04:05 +01:00
Daniel Kamil Kozar
f5c9276e64
Translate comments from Russian to English
CVS log messages are left untouched in files which contain them, and those files
have been converted from Windows-1251 to UTF-8.
2019-10-22 00:45:41 +02:00
Dan
0345711711
Merge pull request #7 from qyot27/cmake
Add rudimentary CMake build system
2019-08-18 18:24:11 +01:00
Dan Bryant
aa0a56833c try to resolve some of the warnings in libmediation 2019-08-16 19:36:20 +01:00
Dan Bryant
5f623aae99 try to distinguish between 32-bit and 64-bit MinGW 2019-08-16 19:28:10 +01:00
Dan
1299e9689d
Merge branch 'master' into master 2019-08-16 18:50:18 +01:00
Stephen Hutchinson
309bdb210d Add rudimentary CMake build system
Currently can build tsmuxer CLI and libmediation in native 64-bit
on Linux.  Windows, Mac, and 32-bit untested (32-bit is mostly
a function of the user's CXX_FLAGS settings anyway).

As a consequence of trying to get it to build the correct files,
the textSubtitleRender{FT|Win32}.* files had to be moved to an
osdep/ subdirectory.  Some #include cases were also fixed to
point to the correct headers and directories in the source
tree or elsewhere.

Install rules need to be fleshed out for static/shared libs and
headers for libmediation, uninstall rules need to be added.

tsMuxerGUI needs to be hooked in as well.
2019-08-11 15:00:42 -04:00
Dan Bryant
c6d101b7c1 update for building with Msys2 on Windows 2019-08-11 17:10:03 +01:00
Markus Feist
b52eeca7a8 update for building on linux arm 2019-08-09 21:26:25 +02:00
Dan Bryant
00a5db41fe update for building on Windows 2019-07-28 22:49:07 +01:00
Dan Bryant
1b6abe9a0d add libmediation, update make_pair functions to be usable with C++11, update Makefile for modern systems and bring readme up-to-date 2019-07-23 23:05:20 +01:00