Compare commits

...

2827 Commits

Author SHA1 Message Date
odrling aa65b58889
fix version.sh when building from a git worktree
In a git worktree .git is a regular file that contains a reference to
its git directory
2024-05-31 17:04:42 +02:00
odrling 29164470e9
add missing includes
my gentoo ebuild seems to die on these includes... unlike a manual build
2024-05-31 17:04:40 +02:00
odrling d06c6f9d4f
copy all automation scripts to install dir 2024-05-31 16:56:16 +02:00
odrling 0b23b8a7d0
add automation scripts back 2024-05-31 16:56:15 +02:00
odrling 598e8f5f95
force git directory in version.sh 2024-05-31 16:56:15 +02:00
odrling 81fe447421
osx-fix-libs: log link path 2024-05-31 16:56:15 +02:00
odrling a40daa54eb
osx-fix-libs: fix relative symlinks with same name 2024-05-31 16:56:15 +02:00
odrling 6e216d60c5
force dependency on libresrc 2024-05-31 16:56:15 +02:00
odrling bdd2d0f578
don't delay audio on matroska files 2024-05-31 16:56:15 +02:00
odrling d73de0cdb4
add option to disable tests 2024-05-31 16:56:15 +02:00
odrling 155416e870
fix vfr nonzero start time test 2024-05-31 16:56:14 +02:00
odrling 8ce9372d15
[style] increase default font size 2024-05-31 16:56:14 +02:00
odrling 31a2548e73
[Karaoke] disable drag timing
disables "Left-click drag moves end marker"
2024-05-31 16:56:14 +02:00
odrling 330b98b582
[style] change default style 2024-05-31 16:56:14 +02:00
odrling 1ffef83f26
[Karaoke] Autocommit and autofocus 2024-05-31 16:56:14 +02:00
Vincent Wong 6e262080b1
Audio/timing: minor style, comment
A bit more clarification of code logic. Follow predominant if/else style
2024-05-31 16:56:14 +02:00
Vincent Wong 1185084edc
Audio/Timing: implement tap-to-time
Tap-to-time provides the user the ability to tap to the lyrics/syllables
of the song in order to time lines or karaoke. It consists of these
extra UI interactions:

- **Indicator**: tap marker: a designated marker that can be moved to
  the current audio position; indicated in:
  - the audio display by a green arrow underneath a marker
  - the karaoke display by a green-colored syllable
- **Control**: tap marker: the tap marker can be changed by selecting
  syllables on audio display in karaoke mode, or clicking the markers on
  audio display in dialogue mode
- **Control**: ctrl-right-click audio display: starts playing the audio
  from that exact position until the end of the file
- **Option**: Timing/Tap To Time: enables the tap marker indicator and
  commands
- **Button**: time_opt_tap_to_time: toggles the Timing/Tap To Time option
- **Button**: time_tap_connect (hotkey I): a command that:
  - moves the tap marker's position to the current playing audio
    position
  - sets the next marker to be the tap marker
  - if the tap marker is already the last marker AND BOTH autocommit AND
    next-line-on-commit is ON, will move onto the next line
  - if moved on to the next line, also sets the start marker to the current
    audio position, so the two lines are connected, and moves to the
    next tap marker (essentially reinvoking time_tap_connect once)
- **Button**: time_tap_no_connect (hotkey O): similar to
  time_tap_connect, except it will not set the next line's start
  position even if moved to the next line

Expected workflow:
1) User loads song lyrics
2) User splits each line into syllables
3) User turns on tap-to-time, autocommit, and next-line-on-commit
4) User plays audio from beginning, tapping time_tap_connect to each
syllable, occasionally tapping time_tap_no_connect when a break between
lines is desired
5) If user messes up a line, they can set the tap marker to where they
want to restart from, and ctrl-right-click to start the audio a few
seconds before it
6) Syllables can be split/merged at will, and adjustments to timing can
be done using normal karaoke timing controls
2024-05-31 16:56:14 +02:00
Vincent Wong 1eca2fe2f5
AudioTimingControllerKaraoke: move timing correction above MoveMarker
Having the timing correction in MoveMarker is extremely surprising
behavior if any other part of the code uses MoveMarker expecting it to
work correctly as advertised
2024-05-31 16:56:14 +02:00
Vincent Wong 3179ce418b
audio_timing: add missing param comment for OnLeftClick
Missing the alt_click param in comment
2024-05-31 16:56:13 +02:00
odrling a9ac267c1d
normalize timecodes for every formats except matroska 2024-05-31 16:56:13 +02:00
odrling d3830c7de6
shift video instead of subtitles
This is probably wrong in some cases. This is probably what we want with
matroska files.
2024-05-31 16:56:13 +02:00
odrling 9847de8ab9
fix mks file parsing 2024-05-31 16:56:13 +02:00
odrling 5bd5dc917b
fix sub timing in mkv files with video delay
Some matroska files have audio start at timestamp 0 and video later.
In this case mkvtoolnix seems to use the first block of the first
cluster to the audio track (I would assume this is only an
implementation detail and not really from the matroska specs. And also
could happen in other cases without the video being delayed, but that's
not the point). Aegisub used to read this first block and use its
timestamp as the starting point of the video track.

With this commit, Aegisub tries to read all the blocks until it can read
the first timestamp of the video track and use it for the subtitles'
timestamps. Audio tracks don't seem to be impacted by these changes.
2024-05-31 16:56:13 +02:00
Pierre Jeanjean 06706bb166
Fix charset detection and conversion issues 2024-05-31 16:56:09 +02:00
arch1t3cht 80491bacbf Merge branch 'bugfixes' into feature 2024-05-31 00:08:05 +02:00
arch1t3cht b7af9bd0d3 ci: Bump even more action versions 2024-05-31 00:07:49 +02:00
arch1t3cht b4da179146 Merge branches 'bugfixes' and 'bestsource' into feature 2024-05-30 23:17:17 +02:00
arch1t3cht eff71c27a4 Merge branch 'workarounds' into feature 2024-05-30 23:17:12 +02:00
arch1t3cht b8f0906906 bestsource: Don't set any prefer_static argument
This should no longer be needed at all
2024-05-30 23:12:28 +02:00
0tkl 0a01ecf9ce bestsource: Bump to R4 2024-05-30 23:01:09 +02:00
arch1t3cht 0c53a99b71 Fix windows compilation with c++17 2024-05-30 22:40:20 +02:00
Ryan Lucia 3dd4e637f6 Bump boost to 1.83 2024-05-30 22:32:37 +02:00
arch1t3cht 7475425dcb osx: Remove bless -openfolder
This was deprecated for a while now and removed on aarch64.
The dmg build works without it now.
2024-05-30 22:31:30 +02:00
arch1t3cht f7448a9920 Merge branches 'workarounds' and 'bestsource' into feature 2024-05-30 21:58:03 +02:00
arch1t3cht e6da4e8e10 bestsource: Remove string_view defines
These are no longer necessary after switching to c++17.
2024-05-30 21:57:12 +02:00
arch1t3cht 0e44a3488e Merge branch 'bugfixes' into feature 2024-05-21 14:02:10 +02:00
arch1t3cht d1916fc6f9 ci: Pin macos to macos-13 for now
macos-latest now runs on Apple Silicon, which fails one test
and probably still needs extra work for the packaging to work.
Until that's figured out, run on macos-13.
2024-05-21 14:01:17 +02:00
arch1t3cht a067187537 Switch to C++17
I was originally planning to eventually rebase the various feature
branches on top of TypesettingTools/Aegisub's master, which switched
to C++20 and added various bigger refactors, but that turned out to
be even more involved than expected (due to the various
interdependencies between branches and the additional commits on feature
complicating rebases). ICU now requires C++17 and BestSource was already
pinned to an old version since newer versions need C++17, so let's just
bump the standard and put off the actual rebasing for later...
2024-05-20 16:55:34 +02:00
arch1t3cht 246dbd7670 ci: Update github actions versions yet again 2024-05-20 14:30:55 +02:00
arch1t3cht a89158b5c2 ci: Try to work around yet another gh actions bug 2024-05-20 13:49:20 +02:00
arch1t3cht 628f1306ef ci: Make libdav1d a required dependency
This used to be enforced by patching the ffmpeg wrap,
but after upstream changes to the wrap this method is simpler.
2024-05-20 01:34:31 +02:00
arch1t3cht a6ba1720db Merge branch 'workarounds' into feature 2024-05-20 01:33:04 +02:00
arch1t3cht b31c2c3267 Remove patches to ffmpeg wraps
Equivalent functionality (allowing dependencies to be meson subprojects
and fixing the zlib HAVE_UNISTD_H issue) was merged upstream now
(thanks kasper), so this is no longer necessary. dav1d is now
enabled using -Dffmpeg:libdav1d=enabled.
2024-05-20 01:31:47 +02:00
arch1t3cht 49feee6b0b Merge branch 'vapoursynth' into feature 2024-05-19 21:31:48 +02:00
arch1t3cht 9b0fef1c38 vapoursynth: Fix division by zero in aegisub_vs.py progress indicator 2024-05-19 21:31:28 +02:00
arch1t3cht 1c22bb3e4e Merge branch 'bugfixes' into feature 2024-05-12 19:22:04 +02:00
arch1t3cht 551d4ff2e8 Point libass wrap to upstream libass
The meson PR was merged there now.
2024-05-12 19:21:26 +02:00
arch1t3cht fad027f026 Merge branch 'workarounds' into feature 2024-05-12 00:44:02 +02:00
arch1t3cht 972e8dd4ba Point ffms2 wrap to upstream again
My pull request with multiple seeking fixes was merged there.
2024-05-12 00:43:52 +02:00
arch1t3cht 91b198d12d Merge branches 'bugfixes', 'bestsource' and 'vapoursynth' into feature 2024-04-18 16:11:10 +02:00
arch1t3cht 6ccf67359d ci: Fix meson configure call 2024-04-18 16:10:59 +02:00
arch1t3cht 2fdd7c70aa meson: Add freetype2 wrap
This wrap file used to be part of the libass wrap but was removed
there now.
2024-04-18 15:27:54 +02:00
arch1t3cht 39314072f9 bestsource: Fix switched 'audio' and 'video' strings 2024-04-18 15:21:02 +02:00
0tkl 9683959f2e bestsource: Bump to R2
Update DLL path for win installer
2024-04-18 14:30:52 +02:00
arch1t3cht 2f300ab1d3 Merge branch 'vapoursynth' into feature 2024-04-04 12:49:52 +02:00
arch1t3cht 8bbaf75e03 vapoursynth: Update outdated comment in default script 2024-04-04 12:47:11 +02:00
arch1t3cht 9c5ba15ce9 Update some dependencies in README 2024-04-04 12:46:15 +02:00
Oneric e26fb17c95 readme: only link to CI builds from feature branch 2024-04-04 12:43:15 +02:00
arch1t3cht a455e07f13 ci: Run meson configure to get more debug output 2024-04-03 18:30:50 +02:00
arch1t3cht e1c3bb7d69 ci: install xxhash instead of jansson 2024-04-03 18:29:52 +02:00
arch1t3cht 7fa1ead157 Merge branch 'bestsource' into feature 2024-04-03 18:29:49 +02:00
arch1t3cht 900876cc7f bestsource: Bump to bestsource2
Update API usage, incorporate new features, and refactor a bit:
- Use new progress callback to show progress bar
- Use new frame info functions to get timecodes/keyframes instead of
  manually decoding
- Use new tracklist API to show track selection dialogs
- Expose option of whether to apply RFF
- Show a warning when bestsource had to revert to linear decoding
- Reuse the swscale context across frames and ensure the format
  stays constant
- Add xxhash wrap
- No longer mark the bestsource video provider as slow
2024-04-03 18:29:31 +02:00
arch1t3cht aa68c2e66b Merge branches 'misc' and 'bugfixes' into feature 2024-03-20 14:39:37 +01:00
Ryan Lucia 4b20bc7df0 ci: try to workaround github actions bug 2024-03-20 14:39:24 +01:00
moi15moi 7543060f1d Rework Windows font collector (arch1t3cht/Aegisub#107)
[src\meson.build] Add DirectWrite has dependency

[src\font_file_lister_gdi] Rework GDI FontCollector to use DirectWrite

This replaces all the logic of using the Windows registry to obtain the font path by using DirectWrite. The goal is simply to improve the quality of the code. This doesn't change any functionality

[src\meson.build] Remove Uniscribe has dependency

Uniscribe was only used for the FontCollector. Since we now use DirectWrite, we don't need it anymore.

[src\dialog_fonts_collector] Catch exceptions that FontCollector may raise

On Windows, the initialization of the FontCollector can raise an exception

[src\font_file_lister] Document the exception that GdiFontFileLister can throw

[src\font_file_lister_gdi] Correct possible memory leak when an error occur

Fix error caused by AddFontResource on Windows 10 or higher

[meson.build] Replace add_project_arguments with conf.set for HAVE_DWRITE_3

[src\dialog_fonts_collector] Update message error and optimisation

[src\font_file_lister_gdi] Correct documentation typo

[src\font_file_lister_gdi] Cosmetic nit - Initialize hfont in one line

[src\font_file_lister_gdi] Cosmetic nit - Remove if statements brace

[src\font_file_lister_gdi] Replace WCHAR param of normalizeFilePathCase to std::wstring

[src\font_file_lister_gdi] Replace WCHAR by std::wstring

[src\font_file_lister_gdi] Use IDWriteFontFace::GetSimulations to detect fake_italic/fake_bold

See this comment: https://github.com/arch1t3cht/Aegisub/pull/107#issuecomment-1975229652

[src\font_file_lister_gdi] If Win7/8 has Win 10 SDK on compile time, correctly verify if font has character(s)

With the Visual Studio 2019 toolchain on Windows 7, it installs the Windows 10 SDK by default. Because of this, ``HAVE_DWRITE_3`` is true, so the ``QueryInterface`` always fails. Now, if the ``QueryInterface`` fails, we try to verify if the font has characters with a Windows Vista SP2 compatible code.

[src\font_file_lister_gdi] Support facename that contains only whitespace AND truncated facename

Problem 1:
Previously, if a user wrote "\fn   ", it would return the font Arial, which is not what we want. This is because when we request EnumFontFamiliesEx with whitespace or an empty lfFaceName, it will enumerate all the installed fonts.

Solution 1:
To resolve this issue, let's implement a solution similar to libass to determine if the selected facename exists: 649a7c2e1f/libass/ass_directwrite.c (L737-L747)

Problem 2:
GDI truncates font names to 31 characters. See: https://github.com/libass/libass/issues/459
However, since I changed the method to determine if a facename exists, I ensured that we still support this "feature".

To test this, I used the font in: https://github.com/libass/libass/issues/710

[src\font_file_lister_gdi] Add a FIXME comment regarding the utilization of std::wstring over WCHAR

[src\font_file_lister_gdi] Add FIXME comment about charset
2024-03-20 14:38:45 +01:00
arch1t3cht 897ca32c26 Allow setting Encoding=-1 in style editor 2024-03-19 23:32:12 +01:00
arch1t3cht cd2e894634 Merge branches 'bestsource', 'vapoursynth' and 'bugfixes' into feature 2024-03-08 01:54:29 +01:00
arch1t3cht 4f8cb846cc bestsource: Bump to R1 2024-03-08 01:54:14 +01:00
arch1t3cht 86295a8d36 Install gettext on Windows CI
Apparently this is no longer installed by default.
2024-03-08 01:40:38 +01:00
arch1t3cht bf8bbb60d6 vapoursynth: Switch from bestaudiosource to BestSource
BestSource now had its first official release, so this is possible now.
2024-03-07 21:46:59 +01:00
arch1t3cht e2e3906d15 Merge branch 'vapoursynth' into feature 2024-02-27 20:40:47 +01:00
arch1t3cht deb0f19b1b vapoursynth: Ensure vscache directory is created
Match the other video providers for consistency.
2024-02-27 20:39:41 +01:00
petzku abff2365d3 vapoursynth: Recursively create directories 2024-02-27 20:36:21 +01:00
arch1t3cht dcca721543 Merge branches 'lua_api' and 'misc' into feature 2024-02-20 15:04:04 +01:00
arch1t3cht f52b699493 lua: Add function to get raw frame data
This can be useful when scripts want to read the entire frame
and pass it on somewhere else (say, write it to a file or use some
library function on it).
2024-02-20 15:02:59 +01:00
arch1t3cht 1515c77438 Fix widths of time columns for fonts with proportional figures
This still breaks when the 0 digit is narrower than some other
digit, but that's unlikely and the current behavior now matches
the original behavior when all times are < 10h.

Fixes arch1t3cht/Aegisub#111 .
2024-02-19 14:22:27 +01:00
arch1t3cht 63bbdc32d3 lua: Make frame:getPixel return three values
This is what users will want in the majority of cases, and switching
to this makes using this function much easier.

However, this does break backwards compatibility. Luckily to my
knowledge this function is not actually used in any existing published
script (all scripts using get_frame just use getPixelFormatted instead)
so the damage shouldn't be too large. But this is also why I'd rather
rip off the band-aid of breaking backwards compatibility now than later.
2024-02-18 02:34:18 +01:00
arch1t3cht c11f17b9e6 lua: Correct refcount handling in get_frame
When destroying a frame handle, the previous logic would copy the
shared_ptr in the userdata and then free it twice (once explicitly
and once at the end of the function), which is actually UB, even
if if worked fine so far. This commit now ensures that it's the
actual userdata's shared_ptr that's freed in the gc function.
2024-02-18 02:34:18 +01:00
arch1t3cht 48855787a1 lua: Fix FrameDestroy function name 2024-02-18 02:34:18 +01:00
arch1t3cht ba9f48a0e5 Merge branch 'misc' into feature 2024-02-08 21:26:04 +01:00
arch1t3cht eaf09b2850 Fix widths of time columns for times >10h
An unfortunate consequence of this is that the grid widths have to
be computed on every change to line timing, which will probably
have an impact on timing performance when autocommit is enabled.
It's probably not a huge impact but it's worth keeping an eye on.
2024-02-08 21:22:35 +01:00
arch1t3cht e67fe10c4b Merge branch 'misc' into feature 2024-02-08 20:43:59 +01:00
Oneric 8fcb7c61e8 Stop truncating parsed times to <10h
All current renderers and muxers have no issues with longer timestamps.
However, classic VSFilter keeping track of time with a 32-bit int,
leads to a more meaningful limit at 596h, so enforce that instead.

Since the stringification code for SRT and ASS (but not SMPTE) relied on
hours being single digit, replace them with a simple format string.

GUI inputs are still limited to <10h, but at least
pre-existing timestamps no longer get mangled.
2024-02-08 20:43:32 +01:00
arch1t3cht 069cd48cac Merge branch 'bugfixes' into feature 2024-01-20 00:13:37 +01:00
arch1t3cht 7e24a5f3a5 Fix compilation error for assdraw command
This broke on wxWidgets master.
Really this command could just be removed entirely but I'll keep it
around for now.
2024-01-20 00:12:43 +01:00
arch1t3cht 6af7c6bddf Merge branches 'workarounds' and 'bestsource' into feature 2023-12-27 06:53:22 +01:00
0tkl 167b4add50 bestsource: Update ffmpeg API usage for keyframes 2023-12-27 06:52:56 +01:00
0tkl 29c8054b50 Update ffmpeg wrap to 6.1 2023-12-27 06:50:37 +01:00
arch1t3cht b0c77beef6 Merge branch 'bugfixes' into feature 2023-12-26 16:54:47 +01:00
arch1t3cht 8650e12364 Download hunspell dictionaries from GH repo
Since the download from SourceForge frequently fails,
the English dictionaries are now hosted in a TypesettingTools
repository.
2023-12-26 16:53:32 +01:00
arch1t3cht eca52e4166 Merge branch 'workarounds' into feature 2023-12-26 16:20:07 +01:00
arch1t3cht 8e60a46c01 Work around double buffering issue in wx master
See https://github.com/wxWidgets/wxWidgets/issues/23585 .
This patch reverts commit fb4f0b590c42a66263debf926617c00b157c9a in
wxWidgets.
2023-12-26 16:16:12 +01:00
arch1t3cht 1eea4ca69c Remove stray BOM in dav1d patch 2023-12-26 16:15:39 +01:00
arch1t3cht 7f928e8d6d Merge branch 'bugfixes' into feature 2023-12-02 18:08:47 +01:00
arch1t3cht 592bd993d7 Remove iconv's stdbool.h
This was breaking things (libass) and doesn't seem to be
needed any more.
2023-12-02 18:08:36 +01:00
arch1t3cht 160cf46b98 Merge branch 'bugfixes' into feature 2023-12-02 17:27:55 +01:00
arch1t3cht df9d442102 Fix AviSynth paths for portable build (again) 2023-12-02 17:26:00 +01:00
arch1t3cht ce557d98e4 Use crash_writer_minidump on Windows
This was done in Aegisub/Aegisub.
2023-12-02 17:21:11 +01:00
arch1t3cht 786f082673 Merge branch 'workarounds' into feature 2023-11-24 23:10:07 +01:00
arch1t3cht ffb95f1375 Bump wxWidgets wrap back down to 3.1.4
Fixes arch1t3cht/Aegisub#99 .
Of course one day icon scaling should be sorted out properly,
but for now let's just revert.
2023-11-24 23:08:49 +01:00
arch1t3cht 8947e20dbb Merge branch 'bugfixes' into feature 2023-11-24 21:02:09 +01:00
arch1t3cht 18d088c479 Fix hunspell include and wrap 2023-11-24 20:53:07 +01:00
arch1t3cht 20caaabc07 Merge branch 'vapoursynth' into feature 2023-11-23 11:32:41 +01:00
arch1t3cht 928a2d4c6c vapoursynth: Fix lwindex parsing when video is not the first stream
SubKt my beloved...
This was broken in 0d281af269 and is fixed
in a more robust way in this commit.
2023-11-23 10:00:11 +01:00
arch1t3cht 07fa563fa6 vapoursynth: Ignore __aegi_timecodes on single-frame clips
The vfr class (understandably) does not like timecode lists with only
one element, so the current default script breaks when opening images.
So to not bloat the default script too much we just ignore
__aegi_timecodes in the provider in these cases.
2023-11-23 09:40:04 +01:00
arch1t3cht 5ceaa45f3a Merge branch 'bugfixes' into feature 2023-11-21 21:20:52 +01:00
arch1t3cht 4576ac0638 luajit: Remove checkdef for SSE
This isn't actually set in luajit's Makefile. Maybe it was at some
point in the past, but there's no trace of it now.

Fixes arch1t3cht/Aegisub#98 .
2023-11-21 21:19:06 +01:00
arch1t3cht 693959801f ci: Add manual trigger option 2023-11-15 19:04:50 +01:00
arch1t3cht 752a14cc25 Merge branch 'bugfixes' into feature 2023-11-06 22:45:06 +01:00
arch1t3cht 24c8144e91 meson: luajit: Set correct LUAJIT_TARGET for buildvm
On native builds this is derived automatically, but on cross builds
it needs to be set explicitly.
2023-11-06 22:44:18 +01:00
arch1t3cht 1ba7979ff4 meson: luajit: Remove unused readline dependency 2023-11-06 22:44:03 +01:00
arch1t3cht d728ce0e78 meson: Don't run tests on cross builds
This can be made into an option or whatever when cross builds that
can/need to run tests show up, but for now this is enough.
2023-11-06 22:12:30 +01:00
arch1t3cht fd753c58a5 Merge branch 'vapoursynth' into feature 2023-11-03 02:27:20 +01:00
Setsugennoao 568597bddc vapoursynth: Fix VSScript DLL loading
We do this by first trying to fetch its location from the registry, then PATH
2023-11-03 02:24:46 +01:00
arch1t3cht 95500b84fd Merge branch 'vapoursynth' into feature 2023-11-01 20:35:21 +01:00
arch1t3cht 0d281af269 vapoursynth: Fix lwindex parsing for files with multiple video streams 2023-11-01 20:32:32 +01:00
arch1t3cht fac664ad10 Merge branch 'workarounds' into feature 2023-10-27 16:41:40 +02:00
arch1t3cht 6dda04da9f Revert "Parially revert fffb138b8175b4838b6a063863756b7c6b2db547"
This reverts commit c487dd2bdb.

Revert the commit that
partially reverted fffb138b81 ...
It turns out that this very much did break IME input, so reverting
this for now. This does make Aegisub use private symbols in wx again,
but the CI builds build wx from the wrap now. Still, this is why
this is on the workarounds branch. If this breaks for too many
people this could either go behind a meson option or be fixed in
some better magical way that I have yet to find.

Fixes arch1t3cht/Aegisub#90
Fixes arch1t3cht/Aegisub#91
2023-10-27 16:40:21 +02:00
arch1t3cht dd303b1c9d Merge branch 'misc' into feature 2023-10-25 20:20:55 +02:00
arch1t3cht 2ac3bdf870 Allow reading compressed subtitles from mkv
The error handling inside of read_subtitles is a bit clumsy here,
but it's probably the best we can get without bigger refactors.
2023-10-25 20:20:04 +02:00
arch1t3cht 795dffc072 Merge branch 'bugfixes' into feature 2023-10-18 23:30:11 +02:00
arch1t3cht 45fdaecd72 ci: Install setuptools
After Python 3.12 released, meson doesn't seem to like the python
installed by actions/setup-python any more.
2023-10-18 23:29:20 +02:00
arch1t3cht 4a939d1954 Merge branches 'vapoursynth' and 'fixes' into feature 2023-10-18 21:22:54 +02:00
arch1t3cht 47b10e5ffc Fix progress dialog when switching from indeterminate to setting progress 2023-10-18 21:21:37 +02:00
arch1t3cht 2dbee37ad8 vapoursynth: Copy aegisub_vs.py to build folder for testing 2023-10-18 14:51:28 +02:00
arch1t3cht a1b3e0d9f1 vapoursynth: Allow scripts to control the progress dialog
This happens via VapourSynth's message logger.
Also add wrapper functions for this to aegisub_vs.py and add progress
updates everywhere - both to improve UX and to help with debugging for
when scripts get stuck somewhere.
2023-10-18 14:51:28 +02:00
arch1t3cht 79b3f4ccb0 vapoursynth: Add option to enable/disable user plugin loading
On Windows, plugins are shipped with Aegisub now and loaded from
aegisub_vs.py, so user plugins installed out of Aegisub are more
likely to just interfere with that (like when the user has an
old version of libvslsmashsource installed).
So this option defaults to off on Windows, but to on everywhere else
since VS plugins aren't shipped with Aegisub there.

Note that this option only disables autoloading of user plugins.
VapourSynth loads system plugins no matter what.
2023-10-18 13:31:47 +02:00
arch1t3cht 4ebdc2b82c Merge branches 'bugfixes', 'video_provider_rework' and 'avisynth' into feature 2023-10-17 18:31:11 +02:00
arch1t3cht fabc6e436f osx: Sign executable and libraries after bundling 2023-10-17 18:26:49 +02:00
arch1t3cht 858f4acf35 avisynth: Decrease refcount again when constructor fails
Proper fix to the issue that f5a730fa45
was trying to fix.

Fixes arch1t3cht/Aegisub#61 .
2023-10-15 23:08:39 +02:00
arch1t3cht a9eed184c2 Revert "avisynth: Only increase refcount when fully initialized"
This reverts commit f5a730fa45.
2023-10-15 22:58:23 +02:00
arch1t3cht dd3016a89d Further fixes to audio/video provider selection
- Fix selection not aborting when the preferred provider returns null
- Fix the default video provider being "ffmpegsource" (lowercase)
  instead of "FFmpegSource", which would trip up provider selection
- More generally, make sure the preferred video provider actually exists
  and fall back to the default (FFmpegSource) if not.

Fixes arch1t3cht/Aegisub#23 .
Fixes arch1t3cht/Aegisub#61 .
Fixes arch1t3cht/Aegisub#83 .
2023-10-15 22:27:21 +02:00
arch1t3cht 07c4f26a8e ci: Install nasm for Ubuntu AppImage build
Ubuntu doesn't have ffmpeg 6.0 yet, but we want to bundle ffms2 master
since the distro version still has seeking issues. Compiling the ffmpeg
wrap needs nasm.
2023-10-14 00:51:32 +02:00
arch1t3cht b3eb182259 Merge branch 'bugfixes' into feature 2023-10-13 23:56:15 +02:00
arch1t3cht ee247419b6 Merge branch 'workarounds' into feature 2023-10-13 23:55:52 +02:00
arch1t3cht b8f4c98c4c Move iconv include to charset_conv.h
On newer mac sdks iconv_t is defined differently, so it's harder to
just have a typedef for it.
2023-10-13 23:52:26 +02:00
arch1t3cht c67ba9f70c Update ffmpeg wrap to 6.0 following ffms2 updates
Also bump libdav1d and turn the wrap patches into diffs. This requires
bumping the minimum meson version to 0.63, but meson 1.0 is available
pretty much everywhere now so this should be fine.
2023-10-13 23:46:11 +02:00
arch1t3cht 9bc3cad79e Add remaining dasm flags in luajit wrap
This now matches the makefile. Also stop hardcoding the flags
for MSVC, since cc.get_define seems to work properly there now.
2023-10-13 23:26:01 +02:00
arch1t3cht 82b7e96cea Merge branches 'bugfixes' and 'fixes' into feature 2023-10-13 00:36:09 +02:00
arch1t3cht a631bf192c lua: Fix dialog dropdowns that are empty by default on Mac 2023-10-13 00:32:36 +02:00
arch1t3cht ad92ccf01a Fix cleantags with \k tags with noninteger durations
Fixes arch1t3cht/Aegisub#92 .
2023-10-13 00:26:26 +02:00
arch1t3cht 4e6af75db4 Add proper endianness flag for dasm in luajit wrap
Fixes luajit almost completely breaking on aarch64 and probably
other non-x86 architectures.
2023-10-12 23:04:22 +02:00
arch1t3cht 61ec2bc3e7 Merge branch 'fixes' into feature 2023-09-17 18:49:10 +02:00
arch1t3cht edae653584 Deduplicate automation autoload path, for real this time
Replaces the incorrect fix in 642251b
Fixes arch1t3cht/Aegisub#15
2023-09-17 18:47:42 +02:00
arch1t3cht 8fb8e90006 Merge branches 'bugfixes' and 'workarounds' into feature 2023-09-12 16:18:00 +02:00
arch1t3cht 49139f0a22 Fix OSX library wrangling when libs use @rpath or @loader_path
Fixes arch1t3cht/Aegisub#77
2023-09-12 16:16:40 +02:00
arch1t3cht d10ffebe35 Fix dictionary download on mac when osx-bundle is run more than once 2023-09-12 14:57:42 +02:00
arch1t3cht 9acb673457 Also add Dark Mode option on OSX
While it's not actually exposed there, it's used internally in various
GUI code.
2023-09-12 14:55:21 +02:00
arch1t3cht 1fde843630 Merge branches 'fixes' and 'bugfixes' into feature 2023-09-10 14:04:30 +02:00
arch1t3cht 4a97bb0dd2 meson: Update luajit wrap for luajit's rolling releases 2023-09-10 14:04:04 +02:00
Alex James 4f67db8dd7 libaegisub: Avoid calling iconv_close(iconv_invalid)
IsConversionSupported unconditionally calls iconv_close on the
descriptor returned by iconv_open. This may result in crashes if
iconv_open returns iconv_invalid.
2023-09-07 19:38:59 +02:00
arch1t3cht 41ef3fa56a vapoursynth: Remove old and incorrect docstring sentence 2023-09-05 00:21:11 +02:00
arch1t3cht 11fece4c03 Merge branch 'vapoursynth' into feature 2023-08-15 16:05:01 +02:00
arch1t3cht b2ee8ac036 vapoursynth: Make loading error messages a bit more helpful 2023-08-15 16:04:53 +02:00
arch1t3cht a867f0cc30 Merge branch 'workarounds' into feature 2023-08-09 18:30:51 +02:00
arch1t3cht 418514456e Disable sunken or raised borders for dark mode
Co-authored-by: arch1t3cht <arch1t3cht@gmail.com>
2023-08-09 18:29:04 +02:00
sepro 061a860e2e Add option to enable experimental dark mode 2023-08-09 18:07:52 +02:00
sepro 5944d7999c Add option to build on wxWidgets master 2023-08-09 18:07:13 +02:00
sepro 0f897ba0eb Add nasm fallback url 2023-08-09 18:03:11 +02:00
arch1t3cht 4659bb2802 Merge branch 'bugfixes' into feature 2023-08-09 18:02:46 +02:00
sepro 0637bcdc7f Add nasm fallback url 2023-08-09 18:01:09 +02:00
arch1t3cht 0b7ea58cd6 meson: Add libresrc headers as dependencies
These are included in the Aegisub source files, so they need to be
generated before compiling.
2023-08-01 14:07:56 +02:00
arch1t3cht 239d585512 Merge branches 'vapoursynth' and 'fixes' into feature 2023-07-31 23:55:51 +02:00
arch1t3cht c61f149a37 Merge branch 'fixes' into feature 2023-07-31 23:48:14 +02:00
arch1t3cht 47c923d4ed unicode-monkeypatch: use tostring() in io.open error handling
msg can be nil, which would previously error out when trying to print it.
2023-07-31 23:41:43 +02:00
arch1t3cht 263c2b9189 vapoursynth: Make askyesno method configurable
In particular, don't always import tkinter.messagebox since not all
Python distributions include tkinter.
2023-07-29 20:08:54 +02:00
arch1t3cht 66127f8c40 Merge branch 'bugfixes' into feature 2023-07-18 16:02:24 +02:00
0tkl 0fd12795da fix typo in meson wrap file 2023-07-18 16:01:59 +02:00
arch1t3cht a957af9a12 Merge branch 'bugfixes' into feature 2023-07-16 19:51:16 +02:00
arch1t3cht 6754ff8775 installer: Update paths to Avisynth libraries 2023-07-16 19:51:05 +02:00
arch1t3cht f9be4a854f Merge branches 'workarounds' and 'video_provider_rework' into feature 2023-07-16 17:57:09 +02:00
arch1t3cht d97c16cb7c Disable icu subproject in harfbuzz
Harfbuzz updated its ICU detection, which now picks up our subproject,
but isn't actually compatible with it.
2023-07-16 17:56:23 +02:00
arch1t3cht d3325eef6c Revert "meson: revert icu detection in harfbuzz"
This reverts commit 36a18e5ba3.
2023-07-16 17:55:32 +02:00
arch1t3cht dbe30b4da5 Revert "Point Yutils to fixed fork"
This reverts commit 12a5050365.
2023-07-16 17:55:19 +02:00
arch1t3cht 02567c2265 Rework the audio/video provider system
This became necessary now that more providers were added. Providers can
be proritized for certain file types (e.g. .vpy files will always be
opened with VapourSynth), and when the default provider fails on a file,
the user will be notified and be asked to pick an alternative provider.
2023-07-16 17:52:21 +02:00
arch1t3cht 7ca8b4c008 Merge branch 'misc' into feature 2023-07-14 00:06:52 +02:00
arch1t3cht 644a4ca9f7 Allow fractional frame rates in dummy video
The validation code for the dummy video dialog is kind of dirty but I've
had this lying around for months and just want to get it done...
2023-07-14 00:05:46 +02:00
arch1t3cht 96123cb6da Merge branch 'xa2-ds' into feature 2023-07-12 02:52:58 +02:00
arch1t3cht 42c71c4775 Add XAudio2 redistributable DLL for older Windows versions
The CI builds link against XAudio2_9, which isn't available on Windows 8
and lower. As a quick and dirty workaround, this commit ships the
XAudio2 redistributable on those older Windows versions. Simply renaming
the redistributable to XAudio2_9.dll isn't strictly allowed by the
documentation, but it works and is probably an acceptable hack to
support an outdated operating system...

Fixes arch1t3cht/Aegisub#16 .
2023-07-12 02:49:09 +02:00
arch1t3cht 0479b310e8 Merge branch 'video_panning_option' into feature 2023-06-27 02:15:54 +02:00
arch1t3cht 3f017bc29c video zoom: Add pan_reset command to video context menu 2023-06-27 02:15:18 +02:00
arch1t3cht eb6f31c077 Merge branch 'lua_api' into feature 2023-06-21 21:31:03 +02:00
arch1t3cht e483c5e48f lua: Fix crash after 79050df
Replacing all uses of LuaToAssEntry with LuaToTrackedAssEntry
also replaced its use in LuaParseKaraokeData, which would cause a double
free when canceling a script after calling parse_karaoke_data.
2023-06-21 21:29:23 +02:00
arch1t3cht 9e8ac83998 Merge branches 'vapoursynth' and 'info' into feature 2023-06-11 01:22:14 +02:00
arch1t3cht 1f6684823c vapoursynth: Add "ask" mode for get_keyframe 2023-06-11 01:22:06 +02:00
arch1t3cht fd401f059a README: Clarify where to find builds and some other updates 2023-06-10 02:08:45 +02:00
arch1t3cht d06a31968d vapoursynth: Add buttons to set default scripts to default 2023-06-08 18:41:12 +02:00
arch1t3cht 7bc18fec26 Merge branch 'folding' into feature 2023-06-01 23:35:39 +02:00
arch1t3cht b41f6bde71 Don't immediately delete unused extradata entries
Instead, count how many consecutive times the entry has been found to be
unused and delete it once that count exceeds a limit. This will prevent
excessive reallocating of extradata ID's in applications like folding.
2023-06-01 23:35:26 +02:00
arch1t3cht 58d6ab520b folding: Also update counterpart for fold operations
This wasn't necessary before since the internal representation of
folds is be checked for consistency after each commit, but after the
switch to extradata fold operations would leave the extradata in an
invalid state. This isn't technically a problem, but it does leave more
extradata entries lying around than necessary, and it can trip up
automation scripts that aren't prepared for inconsistent fold state.
2023-06-01 23:01:32 +02:00
arch1t3cht 58c0130d81 Fix default hotkeys commands for splitting lines
These commands were revamped in 0ef9963 but the default hotkeys were
never updated. The hotkeys were automatically migrated, but resetting
the settings back to defaults would still set invalid settings.
2023-05-30 01:45:53 +02:00
arch1t3cht dba4f4924e Merge branches 'lua_api' and 'bugfixes' into feature 2023-05-29 14:52:31 +02:00
arch1t3cht f3d6eea3b9 Fix AppImage build on CI 2023-05-29 14:43:34 +02:00
wangqr 055c87cd21 Reallocate static ranges for wxMenuItem
Previously different menus may use conflict ids in range 10000~.

Fix TypesettingTools/Aegisub#53
See also Aegisub/Aegisub#131
2023-05-25 23:13:05 +02:00
arch1t3cht 42f7e53e92 lua: Don't check_stack in LuaCheckStack destructor
This would cause an assertion failure in functions like lua_for_each
when the given closure throws an error and thus leaves some  values on
the stack. This can make Aegisub crash entirely instead of just catching
and reporting the error. Instead, these stack_checks can be done
manually.
2023-05-22 09:23:22 +02:00
arch1t3cht 79050dfdfb lua: Fix memory leak on aegisub.cancel() 2023-05-21 20:26:33 +02:00
arch1t3cht 64b92a95ac folding: Simplify fold operation code 2023-05-19 18:45:40 +02:00
arch1t3cht 5e51c59e8e Merge branch 'vector_clip_actions' into feature 2023-05-18 23:40:56 +02:00
arch1t3cht c8f8e8ac42 visual tools: Add setting for shape handle size 2023-05-18 23:39:00 +02:00
arch1t3cht 4365b16524 Merge branch 'pr_at_po-de' into feature 2023-05-01 17:33:48 +02:00
arch1t3cht b150b6bfc7 po/de: Add missing space 2023-05-01 17:08:33 +02:00
Oneric a6cf70ba59 po/make_pot: also update PO files
While meson already provides the aegisub-update-po target
for this exact purpose, it insists on also running meson’s
aegisub-pot target first, leading to missing translation strings.
2023-04-30 18:09:48 +02:00
Ananji Peixoto da Costa 0e9dd4b311 po/pt_BR: fix antes/depois confusion
pt_PT already uses the correct translation.
Cherry-picked-from: d771fb21af
2023-04-30 17:56:05 +02:00
Oneric 2f4258a8b4 po/de: add some trivial translations 2023-04-30 17:56:05 +02:00
Oneric 5b66d473d2 po/de: fix a few errors
Implements suggestions by arch1t3cht.
2023-04-30 17:56:05 +02:00
Oneric da9842b70c po/de: import German translation from wangqr’s fork
This fixes a bunch of misspellings, borked C format strings and
increases translation coverage from 1288/1612 to 1516/1612
where still missing strings mostly don’t exists in wangqr’s build.

Original commit:
98abe53b15
2023-04-30 17:56:05 +02:00
Oneric 6b3cb7ec63 po: regenerate pot and po files
Using make_pot.sh and
  msgmerge --no-fuzzy-matching --sort-by-file $i.po aegisub.pot
since meson’s aegisub-pot target are still not covering all
translatable strings yet.
2023-04-30 17:56:05 +02:00
Oneric bc3358fcfe po/make_pot: increase portability across shells
Base POSIX leaves the handling of backslahes in the operand
implementation defined. The XSI extension specifies several
escape sequences, like e.g. \n, which shall be transformed
upon printing.
Current make_pot.sh expects XSI behaviour and indeed e.g.
dash’s echo builtin implements this. echo builtins of other common
shells such as bash however, do not (by default). Avoid this portability
pitfall by just using printf at all relevant places. See:
  https://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html
  https://pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html

This also allows us to stop substituting each backslash with four
backslashes before piping to maybe_append. This substituion existed
to safely pass backslahes through maybe_append’s two layers of echo.

Also improve quoting. For consistency prefer single-quote quoting over
shell backslash escapes. QUote the unguarded *.lua to ensure it will
continue to work if there happen to be any lua files in the scripts
working directory.

This supersedes commits from wangqr/Aegisub which adjusted quoting and
echo usage to work with different shells. This is more throughout and
doesn't introduce semi-broken intermediate states.
  0fbcaea871
  4aee271d03
  940181c7bc
(Note the second commit actually didn't manage to achieve the intended
portability, since several echo usages remained and it forgot to adjust
the backslash substitution, which was then fixed in the third commit.)
2023-04-30 17:46:20 +02:00
Oneric f417f6f1ad po/Make_pot: replace xmlstarelet+jq with gettext
gettext can deal with AppData (and other XML files)
since version 0.19.6 (2015). We already depend on gettext anyway so
let’s utilise this, to get rid of two build dependencies and simplify
the extraction logic.
This depends on the removal of underscore prefixes
as done in a prior commit.

After this the developer name "Aegisub Group"
is now also treated as a translateable string.
2023-04-30 17:40:55 +02:00
Oneric 6d9901ee3c po/make_pot: use gettext to process desktop file
gettext understands desktop files since 0.19 (2014),
so there’s no need for custom grep logic. This change
matches meson’s i18n which also uses gettext for this.

As a side efffect of this some long strings now get
broken into multiple lines (cosmetic only) and some
blank line gaps are normalised by gettext.

Cherry picks: 0e29c8d0e4
With fixups from: e98b7292f1
2023-04-30 17:38:28 +02:00
Oneric afa290ecfb po/make_pot: don't silently omit strings if utilities are missing
Instead abort the script on any errors, which
also helps detecting other unexpected errors.

Adopts parts of: 940181c7bc
  and 4aee271d03
2023-04-30 17:10:27 +02:00
Oneric 87d810254c po/make_pot: sort lua files in POT
find may output matching files in any order.
To avoid unnecessary changes between regeneration
sort its output. For C++ sources xgettext’s --sort-by-file
already has an equivalent effect. All other files are already
statically listed in a fixed order.

Adopts part of: 4aee271d03
2023-04-30 17:10:27 +02:00
Oneric 5c00368e85 build: consider all translation keywords for C++
And document which aprts are still missing.
The keyword list is are copied from make_pot.sh.
Sorting by file helps keeping future PO(T) update diffs small'ish
and is also done in wangqr’s PO-file update procedure. (POT file
generation also sorts, but by preapplying `LC_ALL=C sort` to the
file list instead of using xgettext’s sorting option.)

Without this, meson’s aegisub-pot missed the majority of translatable
strings from C++ sources. While this brings the target much closerto
make_pot.sh, the remaining strings aren't straigthforward to integrate
unfortunately. At the time of writing meson has no support for iss files
and make_pot.sh uses custom logic to select only specific strings
from Lua and JSON files.

Even after this commit, POT updates should
thus still continue to use make_pot.sh.
2023-04-30 17:10:24 +02:00
Oneric 8c35b1d642 Integrate appdata.xml into meson build
It used to be genrated and installed by the old custom build system,
but apparently got lost in switching to meson.

Rename to .in.in instead of .template.in, since i18n otherwise gets
utterly confused failing to recognise the file type and both erroring
out with "no ITS rules found" during merge_file and failing to extract
any translatable strings.
Also drop underscores which were previously processed by intltool.

This doesn't yet automatically replace the release version and date
in the appdata file, but neither did the old build.

Note: while this slightly improves the situation, meson’s aegisub-pot
target is still missing many strings. make_pot.sh should be used.
2023-04-30 03:09:56 +02:00
Oneric 2b33e45f23 Update links in appdata.xml 2023-04-30 03:09:56 +02:00
Oneric 66efa84eed Integrate desktop file translation into meson
meson’s i18n module get’s confused by .template and fails
to extract translatable strings, thus rename to in.in.

Note: while this slightly improves the situation, meson’s aegisub-pot
target is still missing many strings. make_pot.sh should be used.
2023-04-30 03:09:56 +02:00
Oneric 429455263f Fix generation and translation of desktop file
a91c4f70c3 switched processing of the
desktop file from intltool to gettext-backed i18n.merge_file and dropped
leading underscores which used to be processed by intltool.

However, this commit omitted dropping the underscore from Keywords,
resulting in this field being stripped from the installed version.

Furthermore, make_pot.sh was broken since it too relied on the
underscore meaning POT regeneration will now remove the desktop files
strings from translation files.
Since it was not added to po/POTFILES meson’s native aegisub-pot target
also doesn't add desktop file strings to the translation pool. Though,
this target still misses a lot of other strings as well and shouldn't be
used yet anyway.

This commit removes leftover underscores and reintegrates desktop file
strings into both make_pot.sh. Integration into aegisub-pot is done in a
follow-up commit.
2023-04-30 03:09:56 +02:00
arch1t3cht db0e79323f Merge branch 'vapoursynth' into feature 2023-04-29 21:28:36 +02:00
arch1t3cht 3d278547fe vapoursynth: Add Mac support 2023-04-29 21:24:14 +02:00
arch1t3cht ff20805ae6 Merge branch 'vector_clip_actions' into feature 2023-04-29 01:16:08 +02:00
arch1t3cht 20cc0b8077 perspective tool: Support drawings
This will not work in more complex cases like lines containing both text
and drawings, but it's correct in simpler ones.
2023-04-29 01:11:38 +02:00
arch1t3cht 9c2d6169c6 perspective tool: Fix uninitialized variable 2023-04-29 01:11:15 +02:00
arch1t3cht 82dffcb9f9 Disallow negative spacing in style editor again
Since it turns out that this is not supported by the renderer anyway,
see arch1t3cht/Aegisub#48 .
2023-04-27 16:02:26 +02:00
arch1t3cht 00e241d74b Merge branches 'video_panning_option' and 'bestsource' into feature 2023-04-23 15:39:41 +02:00
arch1t3cht 0c057ebddb bestsource: Unify some messages with ffms2's 2023-04-23 15:39:11 +02:00
arch1t3cht 0f13a75a42 video zoom: Fix reset command capitalization 2023-04-21 22:59:02 +02:00
arch1t3cht 18fd966bd9 Merge branch 'bugfixes' into feature 2023-04-21 16:38:55 +02:00
arch1t3cht 165cb14879 Add AppImage build on linux
This consists of a meson option that
- sets a flag to make Aegisub read paths relative to the executable
- makes meson set up the symlinks like AppRun and .DirIcon as following
  the AppDir format

and a CI workflow that builds with this option, installs to an AppDir
directory, and bundles it as an AppImage.

Modified from arch1t3cht/Aegisub#12 .

Co-authored-by: Fred Brennan <copypaste@kittens.ph>
2023-04-21 16:23:01 +02:00
arch1t3cht 43d65b906b Also detect fonts used in drawings in font collector 2023-04-07 18:49:09 +02:00
arch1t3cht 26a5f00c8a Merge branch 'bugfixes' into feature 2023-03-28 08:40:58 +02:00
arch1t3cht 8633e2c4ae mac: Statically link ffms2
This is to make sure we're building the git version that fixes the
PAFF seeking regression and contains the workarounds for VPX/AV1.
2023-03-28 08:39:04 +02:00
arch1t3cht 1de8d04a43 Merge branches 'bugfixes' and 'vapoursynth' into feature 2023-03-24 20:31:07 +01:00
arch1t3cht 883a1b2a73 installer and ci: Throw more errors on failure
This makes it easier to notice when installer generation failed.
2023-03-24 20:30:17 +01:00
arch1t3cht 0d5063bf79 Ship en_US hunspell dictionaries on Windows and OSX
For now, this uses the same OpenOffice dictionaries that were used in
previous official releases, downloaded from
https://sourceforge.net/projects/openofficeorg.mirror/files/contrib/dictionaries/
In the future this could be updated to some newer dictionary like
SCOWL's.

Fixes arch1t3cht/Aegisub#21.
2023-03-24 20:30:17 +01:00
LightArrowsEXE 178551071e make_keyframes: Set default format to GRAY8
This will allow clips with non-standard resolutions to be downscaled without any concerns.
2023-03-24 01:01:29 +01:00
arch1t3cht 9a7314015f vapoursynth: Unify capitalization 2023-03-24 01:01:29 +01:00
arch1t3cht af9d659c93 vapoursynth: Add try_get_keyframes function to aegisub_vs.py 2023-03-24 01:01:29 +01:00
LightArrowsEXE 84d67c73b0 make_keyframes: Set default format to GRAY8
This will allow clips with non-standard resolutions to be downscaled without any concerns.
2023-03-16 15:14:08 +01:00
arch1t3cht 256ddab369 vapoursynth: Ship plugins on windows and add ensure_plugin function 2023-03-16 02:26:10 +01:00
arch1t3cht 61b8a16cd8 vapoursynth: Unify capitalization 2023-03-16 02:26:10 +01:00
arch1t3cht 041e9fc70c vapoursynth: Add try_get_keyframes function to aegisub_vs.py 2023-03-16 02:26:10 +01:00
arch1t3cht e7e56ef5e0 Fix validation for perspective/lock_outer 2023-03-04 13:32:55 +01:00
arch1t3cht 5050bad8ac lua: Scroll large dialogs automatically 2023-03-04 12:52:46 +01:00
arch1t3cht d2c46f5dca bestsource: Forward error messages 2023-02-28 15:17:11 +01:00
arch1t3cht 798262ff1c Merge branch 'fixes' into feature 2023-02-25 12:33:15 +01:00
arch1t3cht 15d215f36d lua: Interact with clipboard on main gui thread
Fixes arch1t3cht/Aegisub#22 .
2023-02-25 12:31:27 +01:00
arch1t3cht fde3dd0dbf Merge branch 'fixes' into feature 2023-02-25 02:24:28 +01:00
arch1t3cht 7f52346f06 lua: Handle file dialogs completely on main gui thread
wx doesn't seem to like the dialogs being created on some other worker
thread, which makes file dialogs opened by lua scripts crash in various
ways on Linux. Doing everything on the main thread hopefully fixes this.

Fixes TypesettingTools/Aegisub#51 .
2023-02-25 02:22:13 +01:00
arch1t3cht 6f073c6a31 Merge branch 'vapoursynth' into feature 2023-02-24 01:42:58 +01:00
arch1t3cht 1f2eaaf6e4 vapoursynth: Show logged messages in progress window 2023-02-24 01:42:30 +01:00
arch1t3cht 097a0f45be vapoursynth: Remove file access checks
These are broken in some edge cases, such as smb mounts on Windows.
Paired with d96fc1f70d.
2023-02-24 01:42:30 +01:00
arch1t3cht 628d740108 vapoursynth: Add status dialog when running script 2023-02-24 01:42:30 +01:00
arch1t3cht ad38400ab9 vapoursynth: Improve default scripts and add utility functions
Add a utility library that wraps LWLibavSource and can parse its .lwi
file to obtain timecodes and keyframes. It also contains a function to
generate and save keyframes using WWXD or Scxvid. Update the default
scripts to use these functions.
2023-02-24 01:42:30 +01:00
arch1t3cht b5a646de66 Merge branch 'vapoursynth' (early part) into feature 2023-02-24 00:30:21 +01:00
arch1t3cht 8b605c8fb5 Merge branches 'workarounds', 'bestsource', 'misc', 'info', 'wangqr_gui', 'fixes' and 'avisynth' into feature 2023-02-24 00:29:28 +01:00
wangqr bf240c9770 Add Apply button to select lines dialog
Allow modifying selection without closing dialog.

Fix wangqr/Aegisub#49
2023-02-24 00:13:22 +01:00
wangqr c7d757b91e Save state of "show original"
Fix wangqr/Aegisub#41
2023-02-24 00:11:12 +01:00
arch1t3cht e425ce4d9e vapoursynth: Allow __aegi_timecodes to be a path to a timecodes file 2023-02-23 23:55:00 +01:00
arch1t3cht 29ba61e55d vapoursynth: Allow __aegi_keyframes to be a path to a keyframes file 2023-02-23 23:55:00 +01:00
arch1t3cht 384fc69208 vapoursynth: Allow script to supply timecodes, keyframes, and audio flag
These are read from the __aegi_timecodes, __aegi_keyframes, and
__aegi_hasaudio variables respectively.
2023-02-23 23:54:56 +01:00
arch1t3cht e994934e24 Link ffmpeg with dav1d to enable AV1 support.
The patched meson.build for dav1d just changes the include_directories
from 'include/dav1d' to 'include' and, while we're at it, removes the
pkg_config stuff to avoid a deprecation warning.

AV1 decoding is pretty broken in upstream ffms2, so point the wrap to a
fork that has some hack patches for it. BestSource works fine out of the
box, though.
2023-02-20 17:16:23 +01:00
arch1t3cht d399e44061 bestsource: Always get exact duration
Fixes arch1t3cht/Aegisub#27.
2023-02-13 17:05:05 +01:00
arch1t3cht 7485ae46a1 bestsource: Fix timecode computation
(derp.)

Fixes arch1t3cht/Aegisub#27.
2023-02-13 13:34:08 +01:00
arch1t3cht 1734f00d8a Don't assume a max length in fs::ShortName 2023-02-12 15:05:21 +01:00
arch1t3cht 6874419564 Make touch pad scroll in the subtitle grid smoother 2023-02-10 00:55:44 +01:00
arch1t3cht 9a9cc66b27 README: Add required vapoursynth plugins for default script 2023-02-09 12:50:49 +01:00
arch1t3cht d7e7c3a7f0 Set longPathAware in manifest 2023-02-09 02:36:39 +01:00
arch1t3cht 464c4f9f4e Add manifest as regen dependency 2023-02-09 02:36:39 +01:00
arch1t3cht 6704a8e57d avisynth: Remove file access checks
These are broken in some edge cases, such as smb mounts on Windows.
Paired with d96fc1f70d.
2023-02-08 17:41:31 +01:00
arch1t3cht d96fc1f70d Don't try other providers after FileNotFound error
Otherwise this can cause confusing error messages from unrelated
providers when simply opening an invalid path.
2023-02-08 17:37:44 +01:00
wangqr e4f0a9a510 Fix initial state of AudioTimingControllerDialogue
It should not be in alt-dragging mode by default.

Fix TypesettingTools/Aegisub#32
2023-02-08 00:50:48 +01:00
arch1t3cht c348f8582a vapoursynth: Add a preferred cache directory and clean it when necessary 2023-02-05 02:32:57 +01:00
arch1t3cht 32aaf6372c vapoursynth: Set path variables and import path in python 2023-02-05 02:28:06 +01:00
arch1t3cht 15f4da61d3 bestsource: Clean index cache when necessary 2023-01-31 02:47:02 +01:00
arch1t3cht 5dfa94d22d Fix missing comma in videoList
... ever wondered why you can't drag .webm files into Aegisub?
This is why.
2023-01-31 02:06:54 +01:00
arch1t3cht e2fb3a7e43 bestsource: Pin wrap
This is to fix upstream not compiling against ffmpeg 4.4 anymore.
2023-01-30 17:22:43 +01:00
arch1t3cht 66c90b7ed8 vfr: Ensure nonzero denominator 2023-01-30 01:56:52 +01:00
arch1t3cht 88867d402c vapoursynth: Default to 25fps when no clip fps set
This matches the behavior of the FFMS video provider.
2023-01-30 01:55:22 +01:00
arch1t3cht 79a0655eb8 Merge branch 'folding' into feature 2023-01-27 02:55:50 +01:00
arch1t3cht 57572e5686 Merge branch 'vector_clip_actions' into feature 2023-01-26 23:34:27 +01:00
arch1t3cht a632f5f7ee Revert "Merge branch 'vector_clip_actions' into feature"
This reverts commit bd4e79fdf9, reversing
changes made to 9d4a67b523.
2023-01-26 23:34:14 +01:00
arch1t3cht c6b901dfbe Merge branches 'bugfixes', 'workarounds', 'fixes', 'gui', 'xa2-ds', 'avisynth', 'vapoursynth' and 'video_panning_option' into feature 2023-01-26 23:12:07 +01:00
arch1t3cht 86dfadb852 Merge branch 'misc' into feature 2023-01-26 23:11:37 +01:00
arch1t3cht cd8169bdf2 Merge branch 'cibuilds' into feature 2023-01-26 23:05:17 +01:00
arch1t3cht 0485c1aaf0 ci: Run on every push
There's no monthly time limit anymore, so there's no harm in just
building on feature.
2023-01-26 23:02:49 +01:00
arch1t3cht 12a5050365 Point Yutils to fixed fork 2023-01-26 23:02:11 +01:00
arch1t3cht d860c710c0 Throw shit at the wall until it builds with boost 1.81
This is nothing more than duct tape, do not pull.
In the long run boost::filesystem should just be replaced with
std::filesystem (as done in tgoyne/Aegisub:cmake), but this would
complicate the history and cause merge conflicts for a bunch of pulls.
Hence this horrible temporary solution.
2023-01-26 22:56:53 +01:00
arch1t3cht 0d16753d0a Patch ffmpeg wrap to make it find the zlib subproject 2023-01-26 22:56:53 +01:00
arch1t3cht 5c065dc74e Revert "Patch ffmpeg wrap to compile with simd extensions"
Support for these has been added upstream now.
This reverts commit 77cc1a6b22.
2023-01-26 22:56:53 +01:00
arch1t3cht 5dd001388b Revert "ffmpeg wrap: pin version"
This reverts commit 74d75a568e.
2023-01-26 22:56:53 +01:00
arch1t3cht f6954ab903 Point ffi-experiments to fixed fork 2023-01-26 22:56:53 +01:00
arch1t3cht 36a18e5ba3 meson: revert icu detection in harfbuzz 2023-01-26 22:56:53 +01:00
arch1t3cht 60897b2327 meson: Set NDEBUG on release builds
The old MSVC build system also set this:
6f546951b4/build/standard-settings.props (L62)
2023-01-26 21:04:04 +01:00
arch1t3cht 642251b2dd Deduplicate automation autoload path
Fixes TypesettingTools/Aegisub#168
Fixes arch1t3cht/Aegisub#15
2023-01-26 20:52:20 +01:00
arch1t3cht 36e5275418 visual tools: Add perspective tool 2023-01-25 23:24:11 +01:00
arch1t3cht 352e41f19b video zoom: Fix zoom when script_res != video_res 2023-01-20 00:18:51 +01:00
arch1t3cht 4c2b47d5de visual tools: Fix grid in RotateXY tool
Fix the grid scaling when the video is not at 100% zoom, and scale the
grid with \fscx / \fscy .
2023-01-14 14:20:24 +01:00
arch1t3cht ddfd4501f0 visual tools: Add more tag get functions
Add getters for alignment, outline, shadow, font size, and the raw
extents of the text. Also handle overriding \xbord and \ybord correctly.
2023-01-14 14:18:04 +01:00
arch1t3cht 9cfc72bd83 visual tools: Add RemoveOverride function 2023-01-14 14:16:05 +01:00
arch1t3cht 8b142a05e5 visual tools: Add EndDrag and EndHold hooks 2023-01-14 14:14:42 +01:00
arch1t3cht bfdf01df9a visual tools: Add general interface for setting subtools 2023-01-14 13:56:21 +01:00
arch1t3cht f5a730fa45 avisynth: Only increase refcount when fully initialized
When Avisynth is not installed or not functional, this would otherwise
cause a crash when trying to initialize Avisynth more than once, since
after the first time the refcount would have been incrased anyway.
2023-01-14 00:13:47 +01:00
arch1t3cht 0d0ed49546 vapoursynth: Only set loaded when fully initialized 2023-01-13 23:52:27 +01:00
arch1t3cht 8fc301fad4 ci: Use GITHUB_TOKEN if available 2023-01-12 13:36:39 +01:00
arch1t3cht d08726606f meson: Also add regen dependencies for bitmaps 2023-01-10 21:47:29 +01:00
arch1t3cht c0f337a992 Allow '+' and 'E' in numbers when tokenizing drawings 2023-01-07 14:42:52 +01:00
arch1t3cht 74b9353038 Allow higher decimal precision in style editor
Also, allow negative fsp.
This doesn't change the behaviour of the SpinCtrl increment/decrement
buttons, just the precision that can manually be set. Small values of
fsp can be useful as a hack to disable all ligatures. Precise values of
fscx/fscy can be useful to compensate for anamorphic resolutions. The
other fields were made more precise for consistency.
2023-01-07 14:42:52 +01:00
arch1t3cht 15cca59679 Validate wxVariant type in hotkey CommandRenderer
This fixes a crash on Windows when double-clicking the draggable
separator between the column headers "Command" and "Description" in the
hotkey configuration dialog.
2023-01-02 15:29:00 +01:00
arch1t3cht 1bd426f69a folding: Switch to extradata for storage
This makes the internal juggling of fold data even more complicated, but
it has a number of advantages:
- Folds will preserved even when opening the file with Aegisub builds
  that don't know about folding.
- Folds will be preserved by automation scripts that re-insert every
  line.
- Folds do not break when adding or deleting lines in a text editor or
  some other editor, as long as the lines involving folds aren't
  touched.
- In particular, merging changes using tools like git will not break
  folds.
- Copy/pasting folds also keeps the folds to some extent. This is
  impossible to solve in full generality, but simple cases like
  cut/pasting a folded section somewhere else work, as long as the file
  isn't saved in between.
- This will give automation scripts full access to folding without
  needing to set up any additional API functions.
2023-01-02 02:40:19 +01:00
arch1t3cht 3b02a199f0 vapoursynth: Fix default argument for color range
Unlike the other arguments for the resize function, "range_in" does not
use the same format as in the frame props. A frame prop _Range=1 means
limited, while an argument range_in=1 means full range.
2023-01-02 02:13:04 +01:00
arch1t3cht abe2a81c99 folding: Fix crash when clicking fold column header 2022-12-11 18:53:36 +01:00
arch1t3cht 6d83aa9101 Update CI actions versions 2022-12-01 21:36:09 +01:00
arch1t3cht 74d75a568e ffmpeg wrap: pin version 2022-11-30 22:58:08 +01:00
arch1t3cht 3b7cb30e1f Raise size limit of dummy video in config dialog
This is to facilitate some tricks with tracing rendered subtitles in
programs like GIMP with higher accuracy. Use at your own risk.
2022-11-30 22:35:27 +01:00
arch1t3cht cba8d3644f Remove "Video Panning" option
It's probably stable enough at this point, and hiding it behind an
option just creates more confusion than it prevents.
2022-11-17 17:29:18 +01:00
arch1t3cht b3b4b96238 Fix HDD audio cache provider when channels > 1 2022-11-15 18:31:19 +01:00
arch1t3cht c0edbb2710 Fix syntax highlighting with empty clip 2022-11-09 09:36:45 +01:00
arch1t3cht c8ff1bc960 Clear column width cache after updating grid style
Fixes arch1t3cht/Aegisub#11
2022-11-08 00:49:42 +01:00
arch1t3cht fca902b0a1 CI-Build 2022-11-04 2022-11-04 00:48:42 +01:00
arch1t3cht bd4e79fdf9 Merge branch 'vector_clip_actions' into feature 2022-11-04 00:46:15 +01:00
arch1t3cht b1a9867f16 Visual perspective tool: First functioning version 2022-11-04 00:45:32 +01:00
arch1t3cht 277d1e15cd CI-Build 2022-11-02 2022-11-03 00:03:36 +01:00
arch1t3cht 9d4a67b523 Merge branches 'info', 'video_panning_option', 'fixes', 'misc', 'vapoursynth' and 'wangqr_gui' into feature 2022-11-03 00:03:23 +01:00
arch1t3cht 7ddfef7517 Add syntax highlighting for drawings and vector clips
The highlighting distinguishes drawing commands from coordinates, and
colors x and y coordinates in different colors to make coordinates
easier to visually parse. Furthermore, in cubic Bezier curves, it
underlines the coordinates which corresponds to endpoints of the curves.
2022-11-02 23:58:01 +01:00
arch1t3cht b7f3e19e00 vapoursynth: Don't update script colorspace if colorspace unknown
Aegisub will automatically override the YCbCr Matrix field of the
current file's Script Properties with the video's reported color space.
The FFMS2 provider guesses a color space for all videos, but we don't
do this for Vapoursynth. Thus, we now disable this overriding whenever
the colorspace isn't known.
2022-11-02 23:51:15 +01:00
arch1t3cht a3b131a312 vapoursynth: Reset locale after initializing
On Windows, Python changes the application's locale upon being called,
which will break wxwidgets, causing various assertion error dialogs or
even crashes (for example when interacting with any sort of float edit
control). Saving the locale and restoring it afterwards seems to be
the only really possible way to remedy this.
2022-11-02 23:51:10 +01:00
arch1t3cht 399042e9e9 Revert "fix"
This was a test commit I never meant to push...

This reverts commit cc9d13d21a.
2022-11-02 23:48:59 +01:00
arch1t3cht 4edd619229 README: Typo fix 2022-11-02 23:08:36 +01:00
arch1t3cht 28db5d31ce video zoom: Fix crash on windows when making detached video too small 2022-11-02 23:07:55 +01:00
arch1t3cht 6cc22750c1 Revert "video zoom: Fix crash on windows when making detached video too small"
This reverts commit b38493ee68.
2022-11-02 23:07:03 +01:00
arch1t3cht 2ee6f6e904 Fix overscan mask being half as thick as it should be
The percent values used for the overscan masks follow the BBC's
guidelines, as in
https://en.wikipedia.org/wiki/Overscan#Overscan_amounts .
However, these measure the per-side width as opposed to the total
percentage of width/height being cut off. Thus, they should not be
divided by two when drawing the mask.
2022-11-02 21:57:57 +01:00
arch1t3cht 04ccc15fd4 Fix overscan mask with DPI scaling 2022-11-02 21:57:57 +01:00
arch1t3cht a0d381019f README: wangqr_gui and some general info 2022-11-02 19:50:25 +01:00
arch1t3cht 245cc68afa Fix FrameAtTime computation for CFR
The new formula is just the inverse function of the CFR part of
the TimeAtFrame function.

To see how the previous implementation was faulty, see either the added
tests, or
- In Aegisub, open a dummy video with a frame rate of 23.976
- Make a subtitle event with start time 04:44.41
- Double-click the line to (supposedly) seek to its first frame
- This will seek one frame earlier than it should, and the event will
  not be displayed on the resulting frame.
2022-11-02 02:19:38 +01:00
arch1t3cht 3583e57ddc vapoursynth: use exact fraction for frame rate 2022-11-02 02:18:52 +01:00
arch1t3cht 962295cf1e vapoursynth: Fix offset in audio block's first frame 2022-11-02 02:18:52 +01:00
arch1t3cht a5aa4eca29 vapoursynth: Properly pass through script errors 2022-11-02 02:18:52 +01:00
arch1t3cht 231706239f CI-Build 2022-10-11 2022-10-11 19:09:43 +02:00
arch1t3cht 2bcf0c7555 Merge branch 'video_panning_option' into feature 2022-10-11 18:55:11 +02:00
arch1t3cht b38493ee68 video zoom: Fix crash on windows when making detached video too small 2022-10-11 18:54:55 +02:00
arch1t3cht 0e89f32cfb video zoom: Fix detached video with DPI scaling 2022-10-11 18:31:46 +02:00
arch1t3cht 17831ca0f4 video zoom: Fix visual tools with DPI scaling 2022-10-11 15:15:40 +02:00
arch1t3cht b8b85eb580 Merge branch 'wangqr_gui' into feature 2022-10-10 01:43:27 +02:00
IbarakiKasen 049c1c08d1 Fix wxFlexGridSizer flex grow
Fix wangqr/Aegisub#143
2022-10-10 01:17:35 +02:00
wangqr e69c4e9a86 Expand all widgets in SubsEditBox to get a consistent height 2022-10-10 01:17:35 +02:00
wangqr 53cc316e6f Expand layer SpinCtrl a little
to compensate wxMac bug with GetSizeFromText
2022-10-10 01:17:35 +02:00
wangqr d55922d3cf Don't shrink the size of layer SpinCtrl on GTK3 2022-10-10 01:17:35 +02:00
wangqr 7fe4382d38 Remove hardcoded height of the slider
Before this the slider is only partially displayed
2022-10-10 01:17:35 +02:00
wangqr ed15252d69 Add workaround for wrong initial wxTextCtrl size in about dialog
See https://trac.wxwidgets.org/ticket/18507

Fix wangqr/Aegisub#19
2022-10-10 01:17:35 +02:00
wangqr af7cbb7730 Set the height of sub box to the same as secondary_editor
The secondary_editor is a wxTextCtrl, whose height is calculated from 2 rows of text. Using this height gives better consistency on screens with different DPIs, instead of using hard coded value like 50px
2022-10-10 01:17:35 +02:00
wangqr 0e0e04c943 Set the height of sub box back to 50px
Revert the change made in ad15c53fb1.
As a temporary solution for wangqr/Aegisub#4.
2022-10-10 01:17:35 +02:00
wangqr 6cb1a49943 Fix High DPI issue on GTK
* Use icon size in the config
2022-10-10 01:17:35 +02:00
wangqr 5f3757525a Add DPI awareness
* Removed most hard coded wxSize
* Sub edit box now have DPI aware icons

Co-authored-by: sepro <4618135+seproDev@users.noreply.github.com>
2022-10-10 01:17:34 +02:00
sepro e2ef1eb77f windows: enable DPI awareness in manifest 2022-10-10 01:17:34 +02:00
arch1t3cht cc9d13d21a fix 2022-10-10 01:17:34 +02:00
sepro 1469f1499b meson: apply custom manifest on windows
Co-authored-by: arch1t3cht <arch1t3cht@gmail.com>
2022-10-09 01:30:39 +02:00
arch1t3cht 2f31bfc565 CI-Build 2022-09-27 2022-09-27 23:50:14 +02:00
arch1t3cht ccc5f44a5f Merge branches 'info', 'bugfixes', 'workarounds', 'fixes', 'folding', 'bestsource', 'avisynth' and 'vapoursynth' into feature 2022-09-27 23:37:18 +02:00
arch1t3cht 40a9344d44 vapoursynth: Check if file exists before creating provider
Since FileNotFound exceptions don't abort the provider search, opening
an invalid path would show errors such as "vapoursynth not found" when
VapourSynth wasn't installed, even if VapourSynth wasn't selected as the
default video provider.
2022-09-27 23:17:54 +02:00
arch1t3cht febce3ecdc vapoursynth: Add configurable default script
This default script will be executed to load any file whose file name
extension is not .py or .vpy .

The gui code for setting the default script is still a bit wonky as it
doesn't fit the rest of the preferences pages nicely, but it works for
now.
2022-09-27 23:14:30 +02:00
arch1t3cht fe77a1a0b8 avisynth: Check if file exists before creating provider
Since FileNotFound exceptions don't abort the provider search, opening
an invalid path would show errors such as "avisynth not found" when
Avisynth wasn't installed, even if Avisynth wasn't selected as the video
provider.
2022-09-27 22:59:01 +02:00
arch1t3cht 961b3dfbee README: workarounds branch 2022-09-27 22:40:04 +02:00
arch1t3cht 22fb4c6e8c Move luabins back to vendor
Workaround for TypesettingTools/Aegisub#162
2022-09-27 16:54:15 +02:00
arch1t3cht 38efde92e3 folding: Fix selections jumping around 2022-09-14 11:31:50 +02:00
arch1t3cht a394aefd1a Fix crash when cancelling automation scripts
When cancelling an automation macro from the progress dialog, the dialog
throws a UserCancelException. If the macro still runs to the end
afterwards (instead of calling aegisub.cancel or causing an exception),
the two return values are left on the stack. This causes assertion errors
due to check_stack when those are enabled.
2022-09-13 22:41:18 +02:00
arch1t3cht 7ea1d650a9 bestsource: Fixes to fps and colorspace conversion
Some of these got lost in the process before.
For now, default to 709 if the colorspace is unkown. More detailed
colorspace guessing can be added in the future.
2022-08-29 11:11:05 +02:00
arch1t3cht 3fedc88641 Include strings.rc as resource file on Windows
This was included here:
6f546951b4/build/Aegisub/Aegisub.vcxproj.filters (L1094)
in the MSVC build.
2022-08-28 01:38:41 +02:00
arch1t3cht fb7f4bdd9a installer: Bump VCRedist to 17 (2015 - 2022)
The windows-latest platform in the CI already uses VS2022, so let's bump
the VCRedist to match.
2022-08-28 00:36:51 +02:00
arch1t3cht 7721ae689f Fix Avisynth paths for portable build
Also apply the change in 75db50b to the portable build.
The .mo files, on the other hand, already work as they are.
2022-08-26 15:17:59 +02:00
arch1t3cht 0dddddf96b CI-Build 2022-08-23 2022-08-23 20:21:29 +02:00
arch1t3cht bb16cdf7fe Merge branches 'folding', 'misc' and 'bestsource' into feature 2022-08-23 20:16:55 +02:00
arch1t3cht 9ea7808a30 bestsource: Mark video provider as slow
Looks like this wasn't clear enough, so let's make it clear to users
that BestVideoSource should only be used if absolutely necessary.
2022-08-23 20:13:45 +02:00
arch1t3cht 6b43e643cb Merge branch 'wangqr_time_video' into feature 2022-08-23 19:59:24 +02:00
arch1t3cht c7c874acc4 Add commands to reload audio or video
This is mostly useful for reloading Avisyth or VapourSynth scripts.
2022-08-23 19:53:40 +02:00
arch1t3cht b2fbc84335 AlignToVideo: Reexport the new icon files
Some metadata of these files was triggering the assertion errors in #6 .
Reexporting the icons using ffmpeg fixed this.

Fixes #6 .
2022-08-23 19:30:41 +02:00
arch1t3cht c8d4df1355 Add option to sort subtitles by text 2022-08-23 16:11:23 +02:00
arch1t3cht 9b920c7892 folding: Always write fold data to file 2022-08-23 15:55:26 +02:00
arch1t3cht ec23330b09 CI-Build 2022-08-22 2022-08-23 04:54:35 +02:00
arch1t3cht 2e78b9cfde Merge branch 'video_panning_option' into feature 2022-08-23 04:51:41 +02:00
arch1t3cht 98d476102e video zoom: Fix aspect ratio forcing
Do this by partially reverting the changes to UpdateSize in favor of
just multiplying by videoZoomValue *after* setting all the window sizes.
2022-08-23 04:48:33 +02:00
arch1t3cht 1d1a1d2ad7 CI-Build 2022-08-22 2022-08-22 02:26:38 +02:00
arch1t3cht 1dbd3b3cc7 Merge branches 'fixes' and 'ffmpeg_build' into feature 2022-08-22 02:26:03 +02:00
arch1t3cht 77cc1a6b22 Patch ffmpeg wrap to compile with simd extensions
This is very hacky and only intended to get these extensions working on
the Windows CI builds.
2022-08-22 02:25:25 +02:00
arch1t3cht 5a0bfdd775 Remove unnecessary flags in SelectedChoices dialog
These alignment flags would cause an assertion error
"Horizontal alignment flags are ignored in horizontal sizers"
when opening the dialog (mainly when importing styles from another
script).
As the assertion error says, the flags are ignored anyway, so they're
safe to remove.
2022-08-21 02:31:33 +02:00
arch1t3cht 7f7f5c8385 Merge branch 'misc' into feature 2022-08-19 21:18:48 +02:00
arch1t3cht 732c5c7654 Copy subitles: Fix wxBitmap usage
UseAlpha turned out to be unnecessary and doesn't even exist in some
wxWidgets ports.
2022-08-19 21:17:29 +02:00
arch1t3cht b52d1d0973 CI-Build 2022-08-19 v2 2022-08-19 02:35:05 +02:00
arch1t3cht 3b8cc6deb1 Merge branches 'misc', 'xa2-ds' and 'info' into feature 2022-08-19 02:31:59 +02:00
arch1t3cht 918c1e23a3 README: misc branch and compile instructions 2022-08-19 02:28:27 +02:00
arch1t3cht aadf6b32b9 Add option to copy or save subtitles with transparent background 2022-08-19 01:46:19 +02:00
arch1t3cht 819d90e9b0 Stereo playback on Linux audio players
After the audio provider rework, adjust the audio players to not
use the int16 mono downmixed audio unless necessary. Furthermore,
the pulseaudio-based player now controls the volume directly through
pulseaudio instead of by modifying the buffer. This also reduces latency
when changing the volume.

The entire set of GetAudio functions is quite messy now. After wangqr's
audio rework, it was split into GetAudio and GetInt16MonoAudio
functions, but now volume scaling is also necessary. Really, this should
go back to a type constructor based system with audio players being
allowed to choose what properties out of mono / 16 bytes / int samples /
volume they need.
2022-08-18 22:48:40 +02:00
arch1t3cht 34d339c187 CI-Build 2022-08-18 2022-08-18 18:12:06 +02:00
arch1t3cht 8169f0c6dc Merge branch 'xa2-ds' into feature 2022-08-18 18:10:26 +02:00
arch1t3cht 144860eb59 Remove format assertion after audio rework 2022-08-18 18:09:32 +02:00
arch1t3cht 00ee2b1ab8 CI-Build 2022-08-16 v2 2022-08-17 03:12:56 +02:00
arch1t3cht 50fb12d433 Merge branches 'fixes' and 'info' into feature 2022-08-17 03:09:39 +02:00
arch1t3cht 1e958cd1a1 Typo fix 2022-08-17 02:59:15 +02:00
arch1t3cht b697ad6ca0 Remove access checks in windows fs operations
These were giving false negatives on samba shares, which broke the font
collector. Windows also recommends to not use access checks in these
cases, and instead just see if the operations succeeds or not.
2022-08-17 02:54:09 +02:00
arch1t3cht 860a090de8 CI-Build 2022-08-16 2022-08-16 21:10:03 +02:00
arch1t3cht 3e5b985c7b Merge branch 'info' into feature 2022-08-16 21:04:46 +02:00
arch1t3cht e7e87f5584 Merge branch 'xa2-ds' into feature 2022-08-16 21:04:44 +02:00
arch1t3cht 0b8f5ad8fa XAudio PR: Revert some changes and fix on linux
Mostly synchronizing with the updates made to the ffmpeg audio provider
and removing the CMakeLists.txt
2022-08-16 21:03:59 +02:00
arch1t3cht afbd626e40 README: New audio+video interfaces 2022-08-16 20:54:49 +02:00
arch1t3cht 17d827c88a Merge branch 'misc_dc' into feature 2022-08-16 19:59:42 +02:00
arch1t3cht 6cdf360e76 Add downmix option on OSX
This fixes wangqr's commit dabd9f that adds an option to enable or
disable downmixing
2022-08-16 19:58:11 +02:00
arch1t3cht 24ac0647ac Merge branch 'vapoursynth' into feature 2022-08-16 19:57:22 +02:00
arch1t3cht ff43f3d601 vapoursynth: Add audio source 2022-08-16 19:22:54 +02:00
arch1t3cht 4a5a212f35 bestsource: Switch to GetPackedAudio()
After vapoursynth/bestsource#7 , BestSource now has a function to
get the packed audio instead, so we just use that directly.
2022-08-16 19:22:54 +02:00
arch1t3cht 3f298bf03a Add vapoursynth video provider 2022-08-16 19:22:54 +02:00
arch1t3cht 6af0b41f47 bestsource: Add audio provider 2022-08-16 19:22:54 +02:00
arch1t3cht 70fd08aabe bestsource: Expose some options 2022-08-16 19:22:54 +02:00
arch1t3cht e41647c78c bestsource: Detect audio and color space 2022-08-16 19:22:54 +02:00
arch1t3cht 4c6e3527d4 bestsource: Switch to manual sws_scale
This was to work with ffmpeg 4.4, but it also saves one frame copy
operation. It does, however, lose the slice threading.
2022-08-16 19:22:54 +02:00
arch1t3cht e4261faf73 bestsource: Add jannson wrap 2022-08-16 19:22:54 +02:00
arch1t3cht 33b9a6e395 Add bestsource video provider
Co-authored-by: Asada shinon <joshwoo71@gmail.com>
2022-08-16 19:22:54 +02:00
arch1t3cht 44888d9b70 Merge branch 'color_picker_fix2' into feature 2022-08-16 16:09:13 +02:00
arch1t3cht 25bd040494 Fix color picker option 2022-08-16 16:07:25 +02:00
arch1t3cht 64ecc490be Merge branch 'fixes' into feature 2022-08-16 15:51:37 +02:00
arch1t3cht fb24bcda6d Delete CMakeLists
The file was mistakenly added when pulling wangqr's "time to video"
feature. I fixed the branch, but instead of merging the whole branch
again, let's just delete the file here.
2022-08-15 21:23:42 +02:00
wangqr d75e49653a Fix syntax error in e2ea84541f 2022-08-15 21:01:09 +02:00
Oneric 57841a0a34 AlignToVideo: Handle tolerance = 0 correctly
Checking if the diff is '>' instead of '>=' will always fail if
tolerance=0, even if the colours are identical. This will cause the line
to get a startime greter than its end time, which is not desireable.

Rounding errors and limits of floating type precision might still affect
the comparison. An additional sanity check before calculation is added
to ensure the selected position and colour match within tolerance.
This allows us to refactor the search code to never check the starting
frame and guanrantees valid timings with start<end even with
rounding errors.
2022-08-15 21:01:09 +02:00
Oneric f1cfd480c4 AlignToVideo: Improve rgb->lab precision 2022-08-15 21:01:09 +02:00
Oneric 2300988613 dialog_align: Remove point at the end of the tooltips
No other tooltips end with points, even if they're a sentence.These
ones aren't even sentences.
Also updates all *.po files accordingly, with an hacked in
POT-Creation-Date due to issues with make_pot.sh.
2022-08-15 21:01:09 +02:00
wangqr b2ba1feb28 Submit "align to video" on double click
Fix wangqr/Aegisub#34
2022-08-15 21:01:09 +02:00
wangqr 60dcc35830 Remove the trailing period in help text of time/align
Fix wangqr/Aegisub#7
2022-08-15 21:01:09 +02:00
wangqr 2b3df72c75 Fix missing config option for Align on macOS 2022-08-15 21:01:09 +02:00
wangqr 37380658bb Fix errors in AlignToVideo
* Call TimeAtFrame with correct parameter
* Fix syntax error
2022-08-15 21:01:09 +02:00
Charlie Jiang cc8e857849 Merge remote-tracking branch 'origind-dev/master'
Add align to video function
2022-08-15 21:01:09 +02:00
arch1t3cht 9ebe154964 Fix width of lua float edits
Float edits with a spinner are by default sized to fit their full
min-max range of possible values, so this makes min and max default to 0
and 100 (like it'd done internally in wx) instead of -DOUBLE_MAX and
DOUBLE_MAX.

Note that this does change the behavior of lua dialogs, but does not
contradict existing documentation or specification. It should only
affect scripts who either disobey the specification by specifying only
one value out of max/min, or scripts displaying these large float edits
by specifing a step, but no max or min.
2022-08-14 16:24:50 +02:00
arch1t3cht 3fb2eacf95 CI-Build 2022-08-13 2022-08-13 23:04:01 +02:00
arch1t3cht 53466be0ca Merge branch 'avisynth' into feature 2022-08-13 23:03:33 +02:00
arch1t3cht ad443dd118 avisynth: Properly destruct the IScriptEnvironment
Starting with AVISYNTH_INTERFACE_VERSION=5, this is how script
environments should be deleted. The previous code was causing crashes
when unloading AviSynth in certain scenarios, such as when failing to
open a file due to an incorrect path.
2022-08-13 22:53:58 +02:00
arch1t3cht 95bd0edbdd Merge branch 'lua_api' into feature 2022-08-13 21:00:21 +02:00
arch1t3cht 0376c56a95 Lua docs: Typo fix 2022-08-13 21:00:13 +02:00
arch1t3cht ce1b3a0158 avisynth: Validate downmix option
Because... let's maybe not let users make Aegisub call arbitrary
symbols in avisynth.dll/so just by editing the config.json.
2022-08-13 01:06:24 +02:00
arch1t3cht fe285678a3 avisynth: Allow compilation on Linux
Co-authored-by: wangqr <wangqr@wangqr.tk>
2022-08-13 01:06:24 +02:00
Ristellise 6906b6e5d7 [Shinon] Enable Directsound2 player to use more than 1 channel audio.
- DS2 Player has a similar structure to XAudio, so I don't see any reason why not to enable 1 channel+ audio.
 - Haven't tried with 5.1 channel sources but I believe it should be the same as 2 channel (As in, Directsound will downmix the audio to 2 channel)
 - Moved the volume setting to using the player directly and from some quick audio tests, -10000 is too soft. I tried with -5000 instead which seems to be alright.
2022-08-11 12:28:35 +08:00
Ristellise 994e50048a Finish up XAudio with a round of bugfixes 2022-08-10 21:23:56 +08:00
Ristellise fd28458ed8 Implement wangqr Audio Changes:
- To allow for XAudio2 to work properly, we need to rework how does provider work since they only are used to be able to take in mono audio.
 - Other providers have been dumbed down to accept single channel audio since originally aegisub only accepted 1 channel audio.
 - meson.build has been modified to accommodate for xaudio, as we currently don't accept redistributable forms of xaudio, we need to work around the WinNT version.
 - There has been 1 more fix to res.rc to allow for compiling on non tagged releases.
2022-08-10 21:09:41 +08:00
Ristellise 3dfea0c315 Add XAudio2 2022-08-10 16:31:02 +08:00
arch1t3cht 80e8ad0103 Merge branch 'folding' into feature 2022-08-08 16:40:24 +02:00
arch1t3cht 663112ba03 folding: Don't drop folds starting at the very first line 2022-08-08 16:38:43 +02:00
arch1t3cht 31271676b3 CI-Build 2022-08-07 2022-08-08 02:21:40 +02:00
arch1t3cht 17d50d49ef Merge branch 'lua_api' into feature 2022-08-08 02:19:40 +02:00
wangqr e2a49b3313 Avisynth audio provider: add option to allow no downmix 2022-08-08 01:38:20 +02:00
wangqr 691ab820b8 Handle exceptions from AviSynthWrapper ctor 2022-08-08 01:38:01 +02:00
sepro 8e1cc6228e Add automation function to get frame 2022-08-08 01:30:15 +02:00
arch1t3cht bde149fd30 lua: Function returning if the file is modified 2022-08-08 01:00:08 +02:00
arch1t3cht 4e8c02d38f CI-Build 2022-08-01 2022-08-01 23:24:30 +02:00
arch1t3cht e8493975e2 Merge branch 'lua_api' into feature 2022-08-01 23:24:16 +02:00
arch1t3cht 64ba5b1e36 Merge branch 'info' into feature 2022-08-01 22:15:34 +02:00
arch1t3cht 8dbf6a4fb7 README: lua_api, wangqr_time_video, and the zlib linker bug 2022-08-01 22:15:22 +02:00
arch1t3cht 69d79ac0cf Merge branch 'wangqr_time_video' into feature 2022-08-01 22:09:29 +02:00
arch1t3cht 84d90ce80b Merge branch 'video_panning_option' into feature 2022-08-01 21:56:24 +02:00
wangqr c232ef6bb6 Fix syntax error in e2ea84541f 2022-08-01 21:43:26 +02:00
Oneric 61c6303a14 AlignToVideo: Handle tolerance = 0 correctly
Checking if the diff is '>' instead of '>=' will always fail if
tolerance=0, even if the colours are identical. This will cause the line
to get a startime greter than its end time, which is not desireable.

Rounding errors and limits of floating type precision might still affect
the comparison. An additional sanity check before calculation is added
to ensure the selected position and colour match within tolerance.
This allows us to refactor the search code to never check the starting
frame and guanrantees valid timings with start<end even with
rounding errors.
2022-08-01 21:43:26 +02:00
Oneric 7a729532b4 AlignToVideo: Improve rgb->lab precision 2022-08-01 21:43:26 +02:00
Oneric e098342f54 dialog_align: Remove point at the end of the tooltips
No other tooltips end with points, even if they're a sentence.These
ones aren't even sentences.
Also updates all *.po files accordingly, with an hacked in
POT-Creation-Date due to issues with make_pot.sh.
2022-08-01 21:43:24 +02:00
wangqr b5e7bbc5ad Submit "align to video" on double click
Fix wangqr/Aegisub#34
2022-08-01 21:43:17 +02:00
wangqr 42248eabad Remove the trailing period in help text of time/align
Fix wangqr/Aegisub#7
2022-08-01 21:43:17 +02:00
wangqr 68166c7581 Fix missing config option for Align on macOS 2022-08-01 21:43:17 +02:00
wangqr c71e140c41 Fix errors in AlignToVideo
* Call TimeAtFrame with correct parameter
* Fix syntax error
2022-08-01 21:43:17 +02:00
Charlie Jiang 3dcab8b9bd Merge remote-tracking branch 'origind-dev/master'
Add align to video function
2022-08-01 21:43:15 +02:00
arch1t3cht c07a648270 Add options to commit or reverse video zoom 2022-08-01 21:21:24 +02:00
arch1t3cht fa33b07c7f Add option toggling behaviour of Ctrl+Zoom 2022-08-01 21:00:53 +02:00
arch1t3cht feab1a5663 Add documentation for text selection api 2022-08-01 20:48:15 +02:00
arch1t3cht b61f8946c1 Merge branch 'folding' into feature 2022-08-01 20:06:24 +02:00
arch1t3cht fd1a92d627 Folding: Fix default hotkeys 2022-08-01 20:05:55 +02:00
arch1t3cht c0fa794e45 Lua: Functions to set text selection and cursor
Putting this logic for delaying changes in the TextSelectionController
isn't the cleanest, but all attempts at saving this state somewhere in
the Lua API instead turned out even worse. Also, the logic for inverted
selections probably does belong in there.
2022-08-01 19:56:53 +02:00
arch1t3cht 4a928674cd Merge branch 'folding' into feature 2022-07-31 21:31:44 +02:00
arch1t3cht 7c92e6bbd6 Folding: Dont error on missing _foldinfo 2022-07-31 21:31:34 +02:00
arch1t3cht d0c8ffd1af CI-Build 2022-07-30 2022-07-30 13:47:56 +02:00
arch1t3cht 4b9c50a702 Merge branch 'vector_clip_actions' into feature 2022-07-30 13:46:04 +02:00
arch1t3cht af009c4ce7 Make line tool the default vector clip tool again 2022-07-30 13:45:49 +02:00
arch1t3cht 32dda63971 Merge branch 'misc_dc' into feature 2022-07-30 13:07:42 +02:00
arch1t3cht a6af313cf2 Merge branch 'info' into feature 2022-07-30 13:06:58 +02:00
arch1t3cht a37f84215d Typo fix 2022-07-30 03:36:33 +02:00
arch1t3cht 9177943c76 Update README: ffms2 and misc_dc 2022-07-30 01:51:46 +02:00
Asada shinon ba3a3dc80a Parse mixin lines as template lines 2022-07-30 00:57:15 +02:00
arch1t3cht aeaab655eb Fix segfault when stereo downmixing 2022-07-30 00:45:49 +02:00
Ristellise f06e42a82e [Shinon] Change Mono Downmixing to Stereo Downmixing 2022-07-29 23:21:55 +02:00
wangqr dabd9f699f Add option to downmix FFMS audio
When enabled, restore FFMS to old behavior, downmixing auduo to S16 mono. This can reduce cache usage.

Fix wangqr/Aegisub#31
2022-07-29 23:18:56 +02:00
Asada shinon d0efa0494a Save vector clips with two decimal places
Co-authored-by: arch1t3cht <arch1t3cht@gmail.com>
2022-07-29 21:50:10 +02:00
Asada shinon 58a6cf4793 Added new hotkey command to reload current font provider. 2022-07-29 20:51:37 +02:00
arch1t3cht 32fc7abd2d Explain the problems with adding new forks 2022-07-27 17:06:32 +02:00
arch1t3cht 58d6fa456e CI-Build 2022-07-27 2022-07-27 15:28:12 +02:00
arch1t3cht 11b5a80618 Merge branch 'folding' into feature 2022-07-27 15:27:04 +02:00
arch1t3cht ca462c2a24 Merge branch 'info' into feature 2022-07-27 15:26:37 +02:00
arch1t3cht 0926f84d0e Merge branch 'spectrum-frequency-mapping' into feature 2022-07-27 15:26:36 +02:00
arch1t3cht 8ca6ec1884 Merge branches 'vector_clip_actions' and 'color_picker_fix2' into feature 2022-07-27 15:26:34 +02:00
arch1t3cht 9cc3fe9e71 Merge branches 'video_panning_option', 'bugfixes' and 'avisynth' into feature 2022-07-27 15:26:33 +02:00
arch1t3cht e65e55833c Fix compilation for older C++ 2022-07-27 15:23:47 +02:00
arch1t3cht 818fcd51f4 Folding: Toggling folds by clicking the indicator 2022-07-27 15:23:47 +02:00
arch1t3cht 2176954aee Folding: Pass fold data through Lua
This way, automation scripts won't nuke the fold data on any lines they
modify.
This is done as userdata for now, so scripts that don't know what
they're doing don't break the folds even further. If scripts get more
access to folds, it should be with a safer and simpler API.
2022-07-27 15:23:47 +02:00
arch1t3cht 56cc1a6873 Add line folding
Line folds are managed using metadata of AssDialogue elements, and
saved in the project properties. They only affect the appearance of the
subtitle grid, and have no impact on other line operations.
2022-07-27 15:23:47 +02:00
arch1t3cht 1772dd17ae Use std::this_thread everywhere
The previous logic wouldn't compile on linux using clang.

With the meson build requiring c++14, there's no need for platform
specific code. Really, the entire agi::util::sleep_for function could be
removed entirely, but I'll keep the patch minimal for now.
2022-07-27 15:20:03 +02:00
arch1t3cht 4f9b23ab1f Readme 2022-07-27 02:00:23 +02:00
arch1t3cht 2234068202 Allow vertical audio zoom with Shift+Mouse Wheel 2022-07-26 23:38:27 +02:00
arch1t3cht ff46b860a2 Add option toggling behaviour of Ctrl+Zoom 2022-07-20 14:38:31 +02:00
arch1t3cht 7ea9b95fe0 Clean up pointer code
The previous one was remnant of scrapped code.
2022-07-19 02:45:04 +02:00
arch1t3cht 2c296afdb8 Add option to restrict color picker to window 2022-07-19 02:41:50 +02:00
arch1t3cht 238dbb386d Restrict color picker's screenshot to window
This fixes issues like Aegisub/Aegisub#264 with taking
screenshots on linux, especially with wxgtk3 or wayland.
2022-07-18 20:21:04 +02:00
arch1t3cht eb07b3f9b8 Show hotkeys for vector clip tools
Move the function to generate toolbar tooltips listing hotkeys to the
command class, so it can be used outside of toolbar.cpp .
2022-07-12 16:54:04 +02:00
arch1t3cht 7da4493a0f Use command metadata for vector clip toolbar
This cuts down on the data duplication for the command names and help
texts, at the expense of copying a bit of code from the general toolbar
logic.

Modifying the toolbar Populate() function to also add additional buttons
appears very hard or impossible.
2022-07-12 16:49:22 +02:00
arch1t3cht 10d233d3e2 Add bindable commands for visual vector clip tools 2022-07-12 16:49:22 +02:00
arch1t3cht 77af0c40dc Use public enum for visual clip tool modes 2022-07-12 16:49:22 +02:00
arch1t3cht 86354050f3 meson: Use depend_files for files in respack manifest 2022-07-10 23:00:52 +02:00
arch1t3cht ba0db4da70 Also add Video Pan option on OSX 2022-07-10 22:57:55 +02:00
arch1t3cht 21591b3e88 meson: Use depend_files for files in respack manifest 2022-07-07 10:33:36 +02:00
Eli Schwartz 8336c7d97c meson: use best practices lookup for iconv support
Meson 0.60.0 adds support for an "iconv" dependency that always does the
right thing for you, so that you don't need to think about it. It also
has some side advantages:
- you can do dependency fallback, and --force-fallback-for=iconv works
- it logs one line, not two, and that is "dependency found? yes or no"

Since Aegisub doesn't mandate the use of such new versions of Meson, we
cannot assume the dependency works. Instead, adapt to the version of
Meson being used: on new enough versions of Meson, use the new
dependency, but on older versions of Meson, use the pre-existing logic,
which isn't as nice but has been producing correct results so far.
2022-07-07 00:08:24 -07:00
arch1t3cht e644227e95 avisynth: Remove option to allow ancient versions
- This refers to AviSynth < 2.5.6, which is from before 2005
- With the current setup (using GetAVSLinkage, these versions wouldn't
  work anyway)
- The latest AviSynthPlus is bundled with the installer anyway
2022-07-05 02:01:35 +02:00
arch1t3cht 635503affe meson: Add files in manifest as respack.py input
This makes meson detect changes to files like default_config.json
and rebuild libresrc.cpp when necessary.
2022-07-05 01:35:08 +02:00
arch1t3cht e240a5fdc2 avisynth: Update headers and fix playback
- Build the latest AviSynth headers using CMake, as proposed in #134
- Add and initialize AVS_Linkage to fix video loading

Video and audio playback now works in most cases, but still crashes for
some files.
2022-07-05 01:12:10 +02:00
arch1t3cht 142605cf41 meson: Add files in manifest as respack.py input
This makes meson detect changes to files like default_config.json
and rebuild libresrc.cpp when necessary.
2022-07-04 22:22:01 +02:00
arch1t3cht fdcb0ee75f meson: Fix compliation with avisynth enabled
Still crashes when loading a video.
2022-07-03 17:49:46 +02:00
arch1t3cht 5bde34ff3e macos: attempt to fix the installer build
Try and fix an issue when a symlink would link to a path with the same
basename, without actually having a mac system available to test.
2022-07-02 19:58:43 -07:00
arch1t3cht 2bf4f17e58 ci: Don't abort if one of the matrix runs fails 2022-07-02 19:58:43 -07:00
arch1t3cht cfd93ce81b meson: Use latest git version for ffms2
This is to include the fix for FFMS/ffms2#394 .
2022-07-02 19:58:43 -07:00
arch1t3cht 6e811ef6a7 Fix compile error on linux 2022-07-02 19:58:43 -07:00
arch1t3cht 9fef97a5bb installer: update paths to mo files
Meson's i18n module changed its output paths here:
487d45c1e5
2022-07-02 19:58:43 -07:00
arch1t3cht 75db50b6ed installer: update paths to Avisynth libaries
The folder structure of the release archives changed with
AviSynth+ 3.7.1.
2022-07-02 19:58:43 -07:00
TRAMBO 4776ca9dd1
Fix errors when automation scripts being loaded and os.execute not working (#156)
* fix errors when automation scripts being loaded and os.execute not working

* Update unicode-monkeypatch.lua
2022-06-08 08:36:49 -07:00
Oneric e5dee3fbe2 meson: bump ffmpeg wrap
meson-4.4 contains a fix regarding the prefix kwarg
with newer Meson versions not present in the 4.3 branch.
2022-06-08 01:10:11 -07:00
Oneric 85ce9663a6 Pass storage size to libass to fix rendering
Since ASS rendering depends on the storage size of the video libass
needs to know about it to render the subtitles correctly. If it isn't
told about the storage size libass uses the value from PlayRes{X,Y} as
a guess, but this isn't always correct.
With Aegisub currently always rendering at storage resolution
this ends up the same as the frame size.
2022-06-08 01:10:11 -07:00
Sodra 03ffce8a89 Fixing zoom when panning is off 2022-03-02 19:02:21 -08:00
Sodra bb5081189e Fix video panning option. Oops teehee ptep~ 2022-03-02 18:36:38 -08:00
Sodra b332181937 Added option to enable video panning 2022-03-02 18:24:17 -08:00
moex3 36f7e102e2 Revert "Add reset hotkey as Ctrl-R" / Not needed
This reverts commit 3d525d9938790211b02a31a16d716498957891fc.
The default hotkey is not required. People can just add a custom one
from the hotkey settings if they want this.
2022-03-02 15:02:02 -08:00
moex3 0b8586e90d Add reset hotkey as Ctrl-R
I'm not entirely sure, that this is how it's supposed to be added.
This requires editing the already existing hotkey.json file (shows path
in log, if it exists).
Should this also be added to hotkey.cpp?
2022-03-02 15:02:01 -08:00
moex3 14d078fb9f Fix a zooming bug on linux
The preview window would change in width, when the video was being zoomed.
Possibly, because on windows, zooming only calls UpdateSize once, but on
linux, it gets called multiple, like 8 times.
Rounding fixed it.
2022-03-02 15:02:01 -08:00
moex3 09ea0f54d3 Make zooming feel more linear
with a "good enough" implementation
2022-03-02 15:02:00 -08:00
moex3 db6297c8c3 Make zooming center around the cursor position 2022-03-02 15:01:59 -08:00
moex3 4f6836da9c Make video zoom different from preview window zoom 2022-03-02 15:01:59 -08:00
moex3 70ddf3c7f5 Respect min. zoom value when changing pan coords 2022-03-02 15:01:58 -08:00
moex3 d73dfe9c18 Change pan values with the zoom level changes 2022-03-02 15:01:58 -08:00
moex3 808ead65bf Fix crosshair drawing
I'm not sure about that scale_factor, i don't know how to test that
2022-03-02 15:01:57 -08:00
moex3 0ec0f20695 Fix mouse position bug when videoAr > displayAr
Crosshair drawing is broken when videoAr != displayAr
2022-03-02 15:01:56 -08:00
moex3 5f95f76671 Change tab to spaces 2022-03-02 15:01:55 -08:00
moex3 f3d796a3e3 Add menu item for resetting the video pan 2022-03-02 15:01:54 -08:00
moex3 e3949cdaa1 Add video panning 2022-03-02 15:01:48 -08:00
EleonoreMizo bfcd8a3e2c
Merge branch 'master' into spectrum-frequency-mapping 2021-11-29 22:27:26 +01:00
Oleg Oshmyan f21d8a3607 meson: use OpenAL.framework on macOS
It is not picked up by the existing dependency() check because its
version is unknown to Meson, which fails the version constraint.
Besides, dependency('openal') seems to try "openal.framework",
which may or may not work on case-sensitive file systems.
2021-11-10 20:12:21 -07:00
Oleg Oshmyan 1d01f8adc8 meson: allow unconstrained dependency version to be "unknown"
And allow for compound version constraints in the future.
2021-11-10 20:12:21 -07:00
Oleg Oshmyan 18503946d5 meson: don't check disabled dependencies at all
Don't search for the dependency and set up fallback
only to throw it away if the option is disabled.
This is a waste, and this gives the user the illusion
that the request to disable the feature was ignored.
2021-11-10 20:12:21 -07:00
woclass e58e4a9149
Fix Mac dmg build (#138)
* [mac/build] update build steps

* [macos] bundle app

* [macos] build dmg

* [ci] setup macOS CI

* [i18n] TODO: rm WX locale files

* [deps] set main branch to main

* Fix osx-fix-libs.py

Create symbolic links, to make libicu happy
Rewrite the script in python3, as python2 is deprecated

* Add write permission before install_name_tool when doing osx-bundle

Fix wangqr/Aegisub#39

* Handle @loader_path in libboost on macOS

See wangqr/Aegisub#39

* [tools/mac] use python3

* [ci/mac] install & using system deps

* [ci/win] don't build fribidi:docs

* [ci/mac]  trying openal-soft

* [ci/mac] use pulseaudio in CI

* [ci/win] only run aeg's test

* [ci/win] fix CI

* [ci/win] fix CI: not use dict `{}`

* [ci] run ci

* [ci/win] don't build docs

* [ci/win] remove args tail newline

* [ci/win] false->disabled

* Use md title format

Co-authored-by: Ryan Lucia <ryan@luciaonline.net>

* Recover file permissions.

* [ci/win] disable fontconfig

Co-Authored-By: Ryan Lucia <ryan@luciaonline.net>

* [ci/win] disable libass:fontconfig

Co-authored-by: wangqr <wangqr@wangqr.tk>
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
2021-10-12 03:37:49 -04:00
woclass 0dffcec461
Fix meson warning (#126)
* [git] ignore IDE setting, Meson subprojects

* [win_installer] rename *.mo -> *.gmo

* [win_installer] only add aeg translations

* [win_installer] split aeg/wx translations

* [win_installer] gen & pack translations

* [git] ignore hunspell source dir

* [git] ignore uchardet source dir

* [test] Generate the test executable

run with `meson test`

* [test] add tools to remove test data files

`unset.bat FULL_PATH`

* [test] set to correct Error type

* [test] Set Source character sets to UTF-8 for MSVC

* [test] move test data files to build_root

* [meson/wxWidgets] fix warning: deprecated feature `cmake_options`

* [meson] fix warning:  msvc does not support C++11

* [meson/fribidi] add original meson.build file

* [meson/fribidi] merge pr-151

https://github.com/fribidi/fribidi/pull/151
"meson: add fribidi_static_cargs to extra_cflags"

* [meson/fribidi] fix DEPRECATION

"Library fribidi was passed to the "libraries" keyword argument of a previous call to generate() method instead of first positional argument."

* [git]  rm IDE dir

* [meson] remove old flags

* [meson] fixed in upstream
2021-05-24 09:47:34 -04:00
woclass 7e9c7d7aa0
Run tests (#125)
* [git] ignore IDE setting, Meson subprojects

* [win_installer] rename *.mo -> *.gmo

* [win_installer] only add aeg translations

* [win_installer] split aeg/wx translations

* [win_installer] gen & pack translations

* [git] ignore hunspell source dir

* [git] ignore uchardet source dir

* [test] Generate the test executable

run with `meson test`

* [test] add tools to remove test data files

`unset.bat FULL_PATH`

* [test] set to correct Error type

* [test] Set Source character sets to UTF-8 for MSVC

* [test] move test data files to build_root

* [git] remove IDE dir

* [git] ignore gtest subprojects

* [ci] run test in ci

* [meson/test] use more meaningful name

* [test] Add more comments and help msg
2021-05-23 23:33:33 -04:00
Myaamori dfb0a1ca99 meson: don't use deprecated get_pkgconfig_variable 2021-05-23 18:37:36 -04:00
Myaamori 2c927bac32 meson: make --force-fallback-for=luajit work
This option makes the dependency() call resolve to the subproject
which breaks the Lua 5.2 compatibility check.
This change just ignores the result of the dependency() call
if it resolves to the subproject and then re-fetches it
with a subproject() call later.
Alternatively we could explicitly handle the case where dependency()
resolves to the subproject, but that's just extra code for no
observable difference in behaviour.
2021-05-23 18:37:36 -04:00
clr134 28e3e75c44
Polish translation corrections (#130) 2021-05-23 17:33:04 -04:00
Vardë 3c17671ad0
Updates French translation (#121)
* Updates French translation

* Missing spelling mistake

* Additional adjustments

* Improvements (#1)

Co-authored-by: Vardë <Ichunjo@users.noreply.github.com>

Co-authored-by: anne-o-pixel <81879599+anne-o-pixel@users.noreply.github.com>
2021-05-23 04:54:46 -04:00
woclass 52c8fef28c
Generate Win portable.zip (#124)
* [git] ignore IDE setting, Meson subprojects

* [win_installer] rename *.mo -> *.gmo

* [win_installer] only add aeg translations

* [win_installer] split aeg/wx translations

* [win_installer] gen & pack translations

* [git] ignore hunspell source dir

* [git] ignore uchardet source dir

* [win_installer\portable] add new target `meson win-portable`

+ meson install copy `include/unicode-monkeypatch.lua`

* [win_installer\portable] make aegisub-portable-64.zip

+ remove WinRAR deps

* [win_installer\portable] using powershell

* [git] upload portable.zip

* [win_installer\portable] rm freetype

* [repo] remove Optional dependencies: WinRAR

* [repo] Update README.md, add cmd to gen zip file

* [repo] use recommended build command

* [git] remove IDE dir

* [ci] add Windows portable installer build step
2021-05-23 04:37:54 -04:00
Yi-Jyun Pan 761194025f meson: luajit: allow to build in ARM64
Meson thought that a ARM64 cpu is aarch64, while
luajit only provided a file for "arm64". Since there is
no difference but the name between aarch64 and arm64, I
choose to bind aarch64 -> arm64.

Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
2021-05-23 04:32:54 -04:00
woclass 62c3acb666
Fix localization file generation on Windows (#119)
* [git] ignore IDE setting, Meson subprojects

* [win_installer] rename *.mo -> *.gmo

* [win_installer] only add aeg translations

* [win_installer] split aeg/wx translations

* [win_installer] gen & pack translations

* [git] ignore hunspell source dir

* [git] ignore uchardet source dir

* [git] remove IDE dir

* [git] remove unused subprojects
2021-05-23 02:06:10 -04:00
Ryan Lucia aeba7a390e Re-enable MacOS CI 2021-05-22 02:48:27 -04:00
Ryan Lucia a856030078 Switch to new boost tarball hosting 2021-05-21 21:52:18 -04:00
Myaamori 84ac716972 meson: add uchardet port
Meson port instead of using CMake as I ran into issues with the
src directory (where uchardet.h is located) not being appended
to the include path, and on Windows I ran into a Meson issue
where a -D macro definition was being interpreted as a filename.
In the end a Meson port seemed simpler than working out the CMake
issues, as the CMakeLists.txt files were straightforward and easy
to port.

Note that because of the directory structure of the uchardet source
I had to change the include directive from uchardet/uchardet.h
to just uchardet.h. This is actually more in line with the uchardet
pkg-config file, which appends /usr/include/uchardet to the include path.
2021-05-21 21:09:36 -04:00
Myaamori c43e4fba3c meson: add Hunspell port
This moves the visibility logic (HUNSPELL_STATIC/BUILDING_LIBHUNSPELL)
to the build system. Only relevant on Windows.
2021-05-21 21:09:36 -04:00
Myaamori 0f95589d0a meson: Fix Windows artifacts 2021-05-21 21:07:22 -04:00
Myaamori b00f5dd58e meson: add option to specify wxWidgets version 2021-04-09 18:00:01 -04:00
Ryan 696a732840 Add new unicode script to installer 2021-03-27 14:56:04 -04:00
Ryan 7def61d46f Update README for Windows 2021-03-27 14:55:52 -04:00
Myaamori 3dfc553880 Fix faux bold logic in font collector for Fontconfig
Based on libass's logic (a requested weight of over 150 more than
the matching font).
2021-03-27 12:38:50 -04:00
Myaamori 4b2cd7f170 Convert OpenType weight to Fontconfig weight in font collector
Fixes #108
2021-03-27 12:38:50 -04:00
Ryan 7a27ee7823 meson: add -DLUAJIT_UNWIND_EXTERNAL for MacOS/Linux 2021-03-27 12:34:18 -04:00
Ryan 9d1b28f5a7 Delete luajit patch files 2021-03-27 12:34:18 -04:00
Ryan 51494a07d9 lua: run unicode-monkeypatch on Windows when loading scripts 2021-03-27 12:34:18 -04:00
Ryan 8394f1adca Monkeypatch script fixes 2021-03-27 12:34:18 -04:00
Ryan e929e4a75c meson: copy monkeypatch script 2021-03-27 12:34:18 -04:00
Ryan 4648e8cc5b meson: add new luajit string buffer files 2021-03-27 12:34:18 -04:00
Ryan Lucia b7f6ac42e4 Add lua monkeypatch for Unicode support on Windows 2021-03-27 12:34:18 -04:00
Ryan Lucia 84beba20cb meson: fix luajit 64-bit builds
Upstream defines ENDIAN_LE or ENDIAN_BE always, so assume little endian. x86_64 defaulting to x86 seems to just be a mistake
2021-03-27 12:34:18 -04:00
Ryan ef64307ba1 Switch to upstream LuaJIT
This does not yet handle the patching, but should build without issue
2021-03-27 12:34:18 -04:00
Ryan 48c3acd3aa actions: disable MacOS
The LTO change broke this somehow, but disable until I can investigate why
2021-03-27 09:31:10 -04:00
Ryan f5122a3927 meson: copy automation files to build directory
This enables running Moonscript on Windows builds without relying on system files
2021-03-27 09:30:21 -04:00
Ryan d32ef75cba meson: move executable to the root directory 2021-03-27 09:29:37 -04:00
Ryan 1246534b7b Move AddSeparator to VisualTool::SetToolbar
Co-authored-by: wangqr <wangqr@wangqr.tk>
2021-03-27 08:09:11 -04:00
Ryan Lucia c218db6f34 meson: disable LTO by default 2021-03-06 14:57:27 -05:00
petzku 19429b0f6e Fix negative margin handling (closes #104)
Previously, margins were clamped to 0..9999, but negative margins are
well supported by most renderers.  In addition, previously lua
automations automations were able to produce these negative margin
values, and they would be saved correctly. However, re-opening the file
would clamp the values, and they could not be edited in the edit box.

This commit changes the clamping to be -9999..99999, and allows entering
(and editing) negative values in all relevant fields. In addition, this
makes the subtitle edit box margin fields take 5 characters instead of 4
to accommodate negative numbers up to 9999 (also the reason for raising
the upper bound).
2021-03-06 14:29:18 -05:00
Ryan Lucia 8fa0fa352b meson: generate osx-bundle.sed 2021-02-27 21:11:56 -05:00
Ryan Lucia dc3ffa30af actions: stylistic cleanup 2021-02-27 20:21:29 -05:00
Ryan Lucia 43751546f4 spectrum view: allow 32-bit wxBitmap
Required on MacOS
2021-02-22 14:29:14 -05:00
Ryan Lucia 2abb098bd1 meson: improve iconv detection 2021-02-22 14:26:03 -05:00
Myaamori c6f4ea45aa Let search field in Hotkeys menu expand horizontally
On Linux with wx 3.1 it was too small to use by default
2021-01-31 19:34:47 -05:00
Myaamori ca7501c7ed Remove unused alignment flags for combo boxes in resampler
Causes an assertion error with wx 3.1
2021-01-31 19:34:47 -05:00
Ryan Lucia c32c612dc3 meson: set dataroot correctly for osx bundle 2021-01-30 16:22:05 -05:00
Ryan 1fd574f556 win_installer: don't include arch in file name 2021-01-30 12:20:24 -05:00
Ryan b72f02b9f2 meson: reorder nasm download to work with global args 2021-01-30 12:11:34 -05:00
Ryan 248785d7ad meson: apply manifest on windows 2021-01-30 12:02:34 -05:00
Ryan 36b75b827d meson: fix warnings, cleanup 2021-01-30 12:02:18 -05:00
Ryan 73ad926880 meson: define CSRI_NO_EXPORT earlier in setup 2021-01-30 09:12:13 -05:00
Ryan 2cb759a6e2 win_installer: set directory correctly after DepCtrl checkout 2021-01-30 09:11:34 -05:00
Ryan e186fa4627 meson: disable CSRI on non-windows for now 2021-01-30 09:04:22 -05:00
Ryan 1ac52a24d6 meson: disable gdi_fontselect for now
This one continues to be controversial, so for now the plan will be to report issues upstream that come up as a result of this being removed
2021-01-30 08:58:45 -05:00
Ryan 7d9feca578 meson: add CSRI support 2021-01-30 08:57:39 -05:00
Ryan d8c348e897 meson: standardized config defines to set integer 1 2021-01-30 08:56:01 -05:00
Ryan f3958288ac libresrc: put new wxBitmap constructor behind wx version check
Based off https://github.com/Aegisub/Aegisub/pull/175
2021-01-30 07:29:45 -05:00
Ryan 8d8ea166df lua: remove usage of luaL_reg in favor of luaL_Reg
The former was deprecated with 5.1, and removed entirely in later versions and in LuaJIT
2021-01-30 07:25:06 -05:00
Ryan 7640576cc9 meson: use conf object for defines where appropriate 2021-01-30 07:25:03 -05:00
Ryan 8acc8be2ba win_installer: checkout DepCtrl 0.6.3 2021-01-17 09:53:19 -05:00
Ryan 73c54cef99 win_installer: use plain aegisub.exe everywhere 2021-01-17 09:53:01 -05:00
Ryan 1981f4db3e win_installer: fix vc redist name in run section to match source 2021-01-17 09:30:26 -05:00
Ryan bec44eaab8 meson: define P_LOCALE 2021-01-16 13:15:05 -05:00
Ryan b8d1864a07 aegisub: ifdef wxBitmap constructor to scale on MacOS only
Quick fix to unblock the build; need better HiDPI handling across the board
2021-01-16 13:01:51 -05:00
Myaamori b42da504a0
Save unexpanded path in font collector (#79)
Fixes #78
2021-01-16 06:13:37 -05:00
Ryan 35b2ca5532 win_installer: fix paths for Avisynth+ dlls
3.7.0 changed the layout, so just match the new one
2021-01-16 06:02:32 -05:00
Ryan 1384123e2d iconv wrapper: allocate a smaller buffer on the stack 2021-01-16 05:31:08 -05:00
Ryan 8b8f4a3925 meson: bump minimum ffms2 version to 2.22
It's been out for 6 years, so this should be fairly safe. Also fix a build error that somehow snuck in during the merge
2021-01-16 05:31:08 -05:00
Ryan 6660594f64 Update URLs to point at the main repo 2021-01-16 05:31:08 -05:00
Ryan 308ef6cbb0 meson: promote dirent wrap 2021-01-16 05:30:59 -05:00
Ryan d583744b69 Merge in work from TypesettingTools fork 2021-01-16 02:12:31 -05:00
Ryan a2da1616c0 meson: set minimum win version to 7
I think setting it at 8 was accidental? This matches the installer, so we should be consistent throughout
2021-01-16 01:26:19 -05:00
Ryan 25a62f4f12 libass_gdi_fontselect: don't redefine NOMINMAX
It's now defined in the build system itself
2021-01-16 01:24:19 -05:00
Ryan 417ba4ff2d actions: change branch to master 2021-01-10 03:14:12 -05:00
Ryan 2211b7a0a5 README: update for macOS with meson 2021-01-10 03:14:12 -05:00
Ryan 4b1d23e6be actions: add separate debug/release lanes
No debug on Windows because the container isn't powerful enough
2021-01-10 03:14:12 -05:00
Ryan 7f46b687e1 meson: remove libass dirent patch
Handled more properly in libass itself
2021-01-10 03:14:12 -05:00
Ryan 1a5c19c4d7 actions: force LFS 1.8.0 on macOS 2021-01-10 03:14:12 -05:00
Ryan 28bc329678 actions: apt-get update on ubuntu 2021-01-10 03:14:12 -05:00
Ryan a77f7d48df meson: update to reflect fixes in dependencies 2021-01-10 03:14:12 -05:00
Ryan Lucia bc079922c0 actions: Enable OSX CI 2021-01-10 03:14:12 -05:00
Ryan Lucia b51463a5f5 meson: Fix build on OSX 2021-01-10 03:14:12 -05:00
Ryan Lucia c487dd2bdb Parially revert fffb138b81
I haven't checked whether reverting this breaks IME input, and if it doesn't what changed on wx's end. However, this is the commit that uses private symbols, and so reverting it lets us build against upstream wx. Even if this is a loss in functionality, for now it's fine.
2021-01-10 03:14:12 -05:00
Ryan f240c01cbc meson: only manually set _DEBUG on non-windows 2021-01-10 03:14:12 -05:00
Ryan 56581fbce3 actions: invoke win-installer correctly, install innosetup on ci 2021-01-10 03:14:12 -05:00
Ryan 32729800df actions: build as release for Windows CI 2021-01-10 03:14:12 -05:00
Ryan 9211b7b632 win-installer: fix warnings 2021-01-10 03:14:12 -05:00
Ryan 8cf4100c87 meson: fix resource file compilation
This enables video to load correctly in Windows builds
2021-01-10 03:14:12 -05:00
Ryan 106c753782 actions: support installer generation on CI 2021-01-10 03:14:12 -05:00
Ryan a3ec466ff6 meson: fix Windows installer generation
This includes some miscellaneous cleanup to the installer files as well
2021-01-10 03:14:12 -05:00
Ryan 72edb88982 meson: add Avisynth option, compile libass_gdi_fontselect
Sadly, building with Avisynth is still broken.
2021-01-10 03:14:12 -05:00
Ryan Lucia 44fdeb361f actions: upload artifacts 2021-01-10 03:14:12 -05:00
Ryan Lucia 194521e777 meson: set wx subproject buildtype, remove d_vscrt hack 2021-01-10 03:14:12 -05:00
Ryan Lucia 47f7aa879d README: update Windows section to reflect the switch to Meson 2021-01-10 03:14:12 -05:00
Ryan Lucia 89c788a4b3 autotools: remove remaining makefiles 2021-01-10 03:14:12 -05:00
Ryan Lucia c5111b492b actions: force fallback for harfbuzz 2021-01-10 03:14:12 -05:00
Ryan Lucia 4dc65303a1 actions: force default_library=static for freetype 2021-01-10 03:14:12 -05:00
Ryan Lucia cd0eee968f meson: minor subproject cleanup, update gitignore 2021-01-10 03:14:12 -05:00
Ryan Lucia f91f6f0743 meson: pass png=enable to freetype2 to work around bug
See https://savannah.nongnu.org/bugs/?59458
2021-01-10 03:14:12 -05:00
Ryan Lucia 18ccc1d7f0 meson: disable building ffmpeg tests 2021-01-10 03:14:12 -05:00
Ryan Lucia 8a09d00081 actions: enable MSVC 2021-01-10 03:14:12 -05:00
Ryan Lucia 3f1c315dfe meson: force zlib subproject for freetype 2021-01-10 03:14:12 -05:00
Myaamori abec21f4e0 meson: fix wx subproject on Linux 2021-01-10 03:14:12 -05:00
Myaamori aecf09a64d Use wxSizer::RepositionChildren instead of RecalcSizes on wx 3.1.3+ 2021-01-10 03:14:12 -05:00
Myaamori 93b2794c85 Correct wxStyledTextCtrl::StartStyling for wx 3.1 2021-01-10 03:14:12 -05:00
Myaamori 6ff1729303 meson: update/promote libass dependency wraps 2021-01-10 03:14:12 -05:00
Myaamori 8bb8b34fe7 meson: set _DEBUG on all platforms for debug builds 2021-01-10 03:14:12 -05:00
Myaamori 0ea6d36fca meson: don't generate git_version.xml and don't regenerate git_version.h on windows
Also fix incorrect use of return outside function. Fixes #80
2021-01-10 03:14:12 -05:00
Ryan Lucia 17303d3846 actions: add initial ubuntu workflow 2021-01-10 03:14:12 -05:00
Ryan Lucia 7d4c99db5a meson: switch to upstream freetype 2021-01-10 03:14:12 -05:00
Ryan Lucia daa4cc8bbc meson: search for 'system' module with system boost
System was made header-only by 1.74, so we can't check for it in the submodule, but when linking with older system boosts we need to make sure it gets linked in
2021-01-10 03:14:12 -05:00
Ryan Lucia dc3aaa5df0 meson: allow boost fallback under msvc 2021-01-10 03:14:12 -05:00
Ryan Lucia 454c79c8cc Remove travis file 2021-01-10 03:14:12 -05:00
Ryan Lucia 60431862fa meson: allow wx fallback on all platforms 2021-01-10 03:14:12 -05:00
Ryan Lucia 7d0028799f meson: remove old wx_path and icu_path hacks 2021-01-10 03:14:12 -05:00
Ryan Lucia e393509515 meson: default to buildtype debugoptimized 2021-01-10 03:14:12 -05:00
Ryan Lucia e3826cb17e meson: initial attempt to generate Aegisub.app on macOS 2021-01-10 03:14:12 -05:00
Ryan Lucia 8f42f11b11 Convert osx-fix-libs.py to py3 2021-01-10 03:14:12 -05:00
Ryan Lucia 9fd62692af win-installer: auto-populate current year for copyright 2021-01-10 03:14:12 -05:00
Ryan Lucia 2e898c461a win-installer: remove fragment_opengl 2021-01-10 03:14:12 -05:00
Ryan Lucia 0d45c67dcf meson: move all .desktop file work into linux conditional 2021-01-10 03:14:12 -05:00
Ryan Lucia 44af99a163 meson: move luabins to subprojects 2021-01-10 03:14:12 -05:00
Ryan Lucia e087728021 gitignore: mass purge, add .DS_STORE 2021-01-10 03:14:12 -05:00
Ryan Lucia 5ec5271eb5 meson: fix source file inclusion in libaegisub on osx 2021-01-10 03:14:12 -05:00
Myaamori 3147f303c8 meson: save git_version.xml to meson build directory in version.ps1 2021-01-10 03:14:12 -05:00
Myaamori d80b8d6de0 meson: use meson-pr branch for libass 2021-01-10 03:14:12 -05:00
Myaamori fa2c35a058 remove build, .nuget, Aegisub.sln 2021-01-10 03:14:12 -05:00
Myaamori 0e51dba59b meson: remove DUALNUM check from LuaJIT 2021-01-10 03:14:12 -05:00
Myaamori 5dff6c9234 update .gitignore 2021-01-10 03:14:12 -05:00
Myaamori 65fc7c0f30 meson: ignore second argument in version.ps1
for compatibility with bf2dca2e4c0
2021-01-10 03:14:12 -05:00
Myaamori b1c2fbdb19 meson: add nasm wrap for Windows 2021-01-10 03:14:12 -05:00
Myaamori 2510ef25c2 meson: patch libass with stub dirent.h
this should probably be handled by the libass meson port at some point
2021-01-10 03:14:12 -05:00
Myaamori 03de8929d4 meson: pin wx version and fix dependencies 2021-01-10 03:14:12 -05:00
Myaamori 441daf5aeb meson: use check_header to check for iconv
iconv is not a standalone library on Linux, so find_library is pointless
2021-01-10 03:14:12 -05:00
Myaamori 0b7e244232 meson: define fallbacks for optional dependencies 2021-01-10 03:14:12 -05:00
Myaamori 51b8248ac8 meson: create git_version.h in build directory in version.sh 2021-01-10 03:14:12 -05:00
Myaamori bb02d3bc5e meson: don't build with C11
C11 breaks the LuaJIT build
2021-01-10 03:14:12 -05:00
Myaamori f9f8b6c4d3 meson: add FFMS2 wrap 2021-01-10 03:14:12 -05:00
Myaamori ce791773f6 meson: add Boost wrap 2021-01-10 03:14:12 -05:00
Myaamori d6ee06eb54 meson: add ICU wrap 2021-01-10 03:14:12 -05:00
Myaamori 64df2d61c7 meson: have iconv subproject override iconv dependency 2021-01-10 03:14:12 -05:00
Myaamori 130339a3d6 meson: set correct flags when compiling LuaJIT on Windows 2021-01-10 03:14:12 -05:00
Myaamori 1fc019447a meson: enable Lua 5.2 compat for both native and host builds 2021-01-10 03:14:12 -05:00
Myaamori f6b74331da meson: update zlib wrapper 2021-01-10 03:14:12 -05:00
line0 2e613f5476 meson: flag aegisub as a GUI app 2021-01-10 03:14:12 -05:00
line0 bfdcbdefad meson: add missing link dependencies on windows 2021-01-10 03:14:12 -05:00
line0 88e24db733 meson: add support for building wxWidgets as a subproject (WIP)
monolithic build only and disabled precompiled headers due to limited cmake support in meson

still missing linker dependencies refs to Windows SDK libs
2021-01-10 03:14:12 -05:00
line0 37230683fb utils: work around missing C++11 char16_t overload in wx string conversion 2021-01-10 03:14:12 -05:00
line0 f039395003 meson: generate git_version header in build root rather than within the source tree
fixes an issue where the windows version of the git version update script generated the header in a place where it couldn't be found by the include in version.cpp
2021-01-10 03:14:12 -05:00
line0 18fe7918f3 meson: make boost honor the global default_library option 2021-01-10 03:14:12 -05:00
line0 23e86bf074 meson: build libiconv as static library 2021-01-10 03:14:12 -05:00
line0 e56ab6c784 meson: define BOOST_USE_WINDOWS_H on Windows
fixes symbol redefinition errors in VS 2019
2021-01-10 03:14:12 -05:00
line0 609d38e605 meson: update dependencies
switch back to official harfbuzz upstream now that meson has landed
2021-01-10 03:14:12 -05:00
line0 b6c0f2d544 meson: don't build fontconfig file lister on windows 2021-01-10 03:14:12 -05:00
line0 b8e2cf83fd fix PCHs on VS2019
* separate PCH for C and C++
* acconf.h now included in PCHs on windows, too
* meson now auto-generates companion source files for PCH headers
2021-01-10 03:14:12 -05:00
FichteFoll a91c4f70c3 Use i18n.merge_file for real
Requires gettext 0.19, which is available on all major linux dists.

Not compatible with autotools chain! (For now, anyway.)
2021-01-10 03:14:12 -05:00
FichteFoll 6343d36169 Add commented i18n.merge_file version
Using that makes use of gettext (and msgfmt) rather than intltool,
which is the proper way but requires a more recent gettext version and
I'm not comfortable adding that dependency for now.

Specifically, it would require updating the autotools chain as well
as the template files are incompatible.

See https://wiki.gnome.org/MigratingFromIntltoolToGettext for more info.
2021-01-10 03:14:12 -05:00
FichteFoll 650954f28e Move language specifications to LINGUAS file
This is required when using i18n.merge_file.
2021-01-10 03:14:12 -05:00
FichteFoll 443dd5146d Properly build aegisub.desktop 2021-01-10 03:14:12 -05:00
Ryan Lucia 9708ca8e5e Add virtual destructor to SignalBase
Quashes a frequent warning
2021-01-10 03:14:12 -05:00
Ryan Lucia 2cb6d5b814 meson: fix up OSX and non-MSVC detection 2021-01-10 03:14:12 -05:00
FichteFoll 9fdf490cff Use git rev-list to determine revision number 2021-01-10 03:14:12 -05:00
FichteFoll 8704f83743 Fix git_version.h generation 2021-01-10 03:14:12 -05:00
Ryan Lucia 5e14a9265b meson: attempt to wrangle dependencies 2021-01-10 03:14:12 -05:00
Ryan Lucia 7befd5e759 gitignore: mass cleaning 2021-01-10 03:14:12 -05:00
Ryan Lucia a853f7c4b0 Windows installer: always include vc+ runtime 2021-01-10 03:14:12 -05:00
Ryan Lucia 57e4f788d0 meson: update subprojects 2021-01-10 03:14:12 -05:00
Ryan Lucia 13711128fa meson: remove 'build_' prefix from option 2021-01-10 03:14:12 -05:00
Ryan Lucia 1599858c92 Make version.sh executable 2021-01-10 03:14:12 -05:00
Ryan Lucia 3b2d770d74 Fix PCH usage
Hopefully this time in a way that doesn't ruin life for Unix folks!
2021-01-10 03:14:12 -05:00
Ryan Lucia d2d3168904 meson: allow additional include directories for manually located deps 2021-01-10 03:14:12 -05:00
Ryan Lucia df396b67b2 meson: add Windows-specific project args 2021-01-10 03:14:12 -05:00
Ryan Lucia 2eaf9b0062 meson: fix option name lookup in build file 2021-01-10 03:14:12 -05:00
Ryan Lucia 9e284660b1 meson: add DirectSound detection 2021-01-10 03:14:12 -05:00
Ryan Lucia 9aeaceb6e7 meson: add basic libiconv subproject functionality 2021-01-10 03:14:12 -05:00
Ryan Lucia 631dad170f meson: fix luajit compiler args 2021-01-10 03:14:12 -05:00
Ryan Lucia d3c709a2ea Move iconv to subprojects 2021-01-10 03:14:12 -05:00
Ryan Lucia 608d0c9c15 Move hunspell to subprojects 2021-01-10 03:14:12 -05:00
Ryan Lucia 609f5be032 Move CSRI to subprojects 2021-01-10 03:14:12 -05:00
Ryan Lucia 6ca1d6463a Remove submodules 2021-01-10 03:14:12 -05:00
Ryan Lucia 42bfc53a77 meson: bump c++ version 2021-01-10 03:14:12 -05:00
Ryan Lucia 0be226aa6c meson: add wrapfiles for essential subprojects 2021-01-10 03:14:12 -05:00
Ryan Lucia 506bac365d meson: move luajit to subprojects directory 2021-01-10 03:14:12 -05:00
Ryan Lucia a9dfafd37a meson: fix syntax errors in packages/meson.build 2021-01-10 03:14:12 -05:00
Ryan Lucia 1a133cd567 meson: move version scripts to tools directory 2021-01-10 03:14:12 -05:00
Ryan Lucia c965171663 Remove autotools build system 2021-01-10 03:14:12 -05:00
line0 936b39303d PowerShell version script: work correctly from any cwd; do not error out when version.h doesn't already exist; adjust git_version.h and git_version.xml paths for meson build system 2021-01-10 03:14:12 -05:00
Ryan Lucia 613cef19a0 meson: rename option for optional dependencies 2021-01-10 03:14:12 -05:00
Ryan Lucia 7596a7c5e4 meson: remove 'static' option 2021-01-10 03:14:12 -05:00
Ryan Lucia f361138a4d Switch from combo option to feature where appropriate
Also remove the extra space before colons :)
2021-01-10 03:14:12 -05:00
Ryan Lucia 3b7724aab4 Fix spacing around colons in luajit subproject files 2021-01-10 03:14:12 -05:00
Ryan Lucia ddd6a4f289 Move version generation scripts up a level 2021-01-10 03:14:12 -05:00
Ryan Lucia 83fcab0775 Switch to newer path concatenation syntax 2021-01-10 03:14:12 -05:00
Ryan Lucia cde5778283 Make spacing around colons consistent 2021-01-10 03:14:12 -05:00
Ryan Lucia 68f5843117 Don't require fontconfig on windows 2021-01-10 03:14:12 -05:00
Ryan Lucia 02a2c12cee Enable version.ps1 on windows
version.ps1 itself still has to be modified to support out-of-tree builds
2021-01-10 03:14:12 -05:00
Ryan Lucia c564df55aa Bump Meson version
Build file was using a now-deprecated property
2021-01-10 03:14:12 -05:00
line0 2f13615342 add powershell version of build/version.sh 2021-01-10 03:14:12 -05:00
FichteFoll a6076ed580 Always build git_version.sh 2021-01-10 03:14:12 -05:00
Martin Herkt 2e3a78383f Fix fdo icon install path 2021-01-10 03:14:12 -05:00
Martin Herkt ca3802e82a Meson: respack.lua → respack.py; works out-of-tree 2021-01-10 03:14:12 -05:00
Martin Herkt 48af346e94 Meson: add gettext i18n 2021-01-10 03:14:12 -05:00
Martin Herkt 97b4dfb7f4 Meson: add install rules 2021-01-10 03:14:12 -05:00
Martin Herkt 8905921a2d Initial port of the build system to Meson
Still some TODOs left. Probably only works on Linux for now.
2021-01-10 03:14:12 -05:00
EleonoreMizo f9c8a7f6aa Spectrum display improvement
– Selection of different frequency mappings for the spectrum display,
from linear (current default) to logarithmic.
– Field added in the preference page to select the frequency mapping
– New preference key to remember this setting:
Audio/Renderer/Spectrum/FreqCurve
– Consistent display with high sampling rates (> 48 kHz)
– Fixed time shift with high quality settings
2020-12-15 20:11:58 +01:00
Andrew Neth d0bab1212c
Look for both system fonts and user fonts on Windows (#64)
* Look for both system fonts and user fonts on Windows

* Move repeated font registry reading code to separate function

* Pass the files vector to read_fonts_from_key as a reference

* Allocate a larger filename buffer when necessary while reading fonts from registry
2020-02-08 15:41:03 -05:00
Thomas Goyne 6f546951b4 Use appropriate DPI images in more places on macOS 2019-10-06 12:46:06 -07:00
Thomas Goyne 85f711fccc Adjust the index of the drag subtool button for the addition of the separator 2019-09-28 18:13:44 -07:00
Thomas Goyne 5da48d0f30 Don't call Realize() before setting the toolbar 2019-09-28 18:13:44 -07:00
Thomas Goyne 6ca879938d Always feed the entire file into uchardet when detection is needed
uchardet will report that a file is "ascii" if the first page has no bytes
>127, so we need to actually look at the entire file in case the first higher
byte is later in the file.
2019-09-28 18:13:44 -07:00
Thomas Goyne 8d17a0e88a Assume that files which start with a unicode BOM are valid files of that type 2019-09-28 18:13:44 -07:00
wangqr e1a8ab1c10 fix: infinite recursion when loading video
In 888be0607f some changes have been made to video_display.cpp which causes infinite recursion: the video display enables video/tool/cross tool when running VideoDisplay::Render() for the first time.
But when setting up the tool, the video box size is changed, which calls VideoDisplay::Render() again. So we need to set the tool BEFORE it modifies the box by "AddSeparator".

Fix wangqr/Aegisub#21

Co-authored-by: Charlie Jiang <cqjjjzr@126.com>
2019-09-28 21:13:01 -04:00
wangqr 6d4dd60ce8 Handle video flip and rotate metadata in ffms2
Fix Aegisub/Aegisub#149
2019-09-22 17:41:05 -07:00
wangqr 57ee580c0f Fix lagi_thes unit tests on Windows
The thes file was using \r\n line ends, and \r was not stripped, causing the encoding string has a \r at its end.
Use binary mode and always use \n as line ends.
2019-09-22 17:41:05 -07:00
wangqr 336745cdb2 In Properties dialog, create the button first
So the foucus goes to the OK button on init. This will let wxWidgets correctly handle the initial position of text in wxTextCtrl

Fix wangqr/Aegisub#6
2019-09-22 17:41:02 -07:00
wangqr 10f7458b5f Fix PCM provider bugs 2019-09-22 17:41:02 -07:00
wangqr 1122c0880a Fix failing unit tests on Windows 2019-09-22 17:41:02 -07:00
wangqr dd59fc988a Fix gtest setup.bat on Windows 2019-09-22 17:41:02 -07:00
wangqr 896011f535 Search user fonts in GDI font lister
Windows now allow user install fonts without admin. List HKCU for those fonts.
https://blogs.windows.com/windowsexperience/2018/06/27/announcing-windows-10-insider-preview-build-17704/
2019-09-22 17:41:02 -07:00
wangqr 7a1756a26f 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-22 17:41:02 -07:00
wangqr 6732179a8a Fix wrong memset usage 2019-09-22 17:41:02 -07:00
davste0816 72d0457bc8 Fix Move Down button in Export dialog 2019-09-22 17:41:02 -07:00
davste0816 073c06d812 Add .webm to extension list, add .eac3 as an audio format
Co-Authored-By: FichteFoll <fichtefoll2@googlemail.com>
2019-09-22 17:41:02 -07:00
davste0816 06798f2caf Recognize .opus as an audio format, .h264 .hevc as video formats 2019-09-22 17:41:02 -07:00
wangqr b3f0cb8953 Don't internally reset the selection after collected fonts
This creates an inconsistency between UI and internal mode.

Fix wangqr/Aegisub#10
2019-09-22 17:41:02 -07:00
wangqr 9ed381f498 Remove extra semicolon 2019-09-22 17:41:02 -07:00
wangqr b429645006 visualSubToolBar now use same style as other toolbars
Previously visualSubToolBar has boarder while visualToolBar does not. So the width of the toolbar will change when toggling visualSubToolBar.

Now we remove the boarder so they have the same width. A separator is added at the top of visualToolBar instead to provide visual cue.

Fix wangqr/Aegisub#11
2019-09-22 17:41:02 -07:00
wangqr 0a2a07ba7e Use absolute distance when scrolling audio box with mouse wheel
Instead of 1/3 screen per tick. So the distance of scroll no longer depends on the width of the audio box. Besides, 1/3 is feels to far for me when the audio box is wide.

See wangqr/Aegisub#5
2019-09-22 17:41:02 -07:00
wangqr 716c2eae0d Remove the usage of dummy wxTimerEvent 2019-09-22 17:40:47 -07:00
wangqr bb5090ac3a Detect EBML magic number to skip encoding detection for MKV
MKV loads slow after f733297499
2019-09-22 17:40:46 -07:00
wangqr d7139c40c0 Remove call to wxSizer::CalcMin and wxSizer::RecalcSizes
As they are used internally by Layout and should not be called
directly.
2019-09-22 17:39:43 -07:00
wangqr 73ca9ace1c Change the default fontsize and the list of resolutions
The default fontsize is changed to 48. While it still looks small
on the default 720p video, it is actually bigger than
    20 / 480 * 720 = 30

Here 720p is the default video resolution after 837d5a41d7. Some
common resolutions are also added to the preset list.

Fix wangqr/Aegisub#3
2019-09-22 17:39:43 -07:00
wangqr 38046516b3 Fix FFT first sample location
Fix wangqr/Aegisub#1
2019-09-22 17:39:43 -07:00
wangqr 698c41afef Fix iconv ConversionFailure on long path 2019-09-22 17:39:43 -07:00
Ryan Lucia 293673fef1 Divorce stored TPP lead-in/out values from config
There's no real reason to link these as far as I can tell, and plenty of
valid reasons not to
2019-09-22 17:39:43 -07:00
Ryan Lucia 2411617158 Properly ignore ASS whitespace characters in character counter 2019-09-22 17:39:43 -07:00
Ryan Lucia af5d34cc1d Add configuration options for colors in visual typesetting tools 2019-09-22 17:39:43 -07:00
Ryan Lucia 1ce72a6d6e Update default config to modern standards 2019-09-22 17:39:43 -07:00
Ryan Lucia ebea3905cc Use FFMS2 constant in place of magic number 2019-09-22 17:39:43 -07:00
Ryan Lucia 4f870f9c26 Ignore VS build files
Most files were moved to .vs directory with VS15
2019-09-22 17:39:43 -07:00
Ryan Lucia f2ca259a8b Pass 0 to FFMS_Init
The argument is no longer used, and the docs specify to pass a value of 0 to avoid confusion
2019-09-22 17:39:43 -07:00
Ryan Lucia 04a193de4d Point users at a functional bug tracker 2019-09-22 17:39:43 -07:00
Ryan Lucia 63d267d359 Fix line order when splitting after current frame 2019-09-22 17:39:43 -07:00
Ryan Lucia b2dd50e910 Use proper event for DoubleUpdater
Previously changes weren't recognized because the event bound was for integers
2019-09-22 17:39:43 -07:00
Ryan Lucia 66a3748f97 Remove dead forums link 2019-09-22 17:39:43 -07:00
Ryan Lucia bc649b6063 Make translation assistant skipping whitespace an explicit setting 2019-09-22 17:39:43 -07:00
Ryan Lucia 30286e7035 Remove Force BT.601 option and update color matrix guessing 2019-09-22 17:39:43 -07:00
Ryan Lucia d660f7f2b0 Add support for setting status bar text from Lua 2019-09-22 17:39:43 -07:00
wangqr d0c05fbcde Update about dialog 2019-09-22 17:39:43 -07:00
wangqr 17215edc31 Fix build warnings 2019-09-22 17:39:43 -07:00
wangqr faad82e1ec Fix overflow bound 2019-09-22 17:12:05 -07:00
wangqr 5d4973a5f6 Fix millisecond to centisecond convertion
Fix Aegisub/Aegisub#94
2019-09-22 17:12:05 -07:00
wangqr d89c1ce900 Change some text box size to make it looks better on HiDPI 2019-09-22 17:12:05 -07:00
Thomas Goyne 4897905287 Install autopoint on travis 2019-09-22 16:44:03 -07:00
darealshinji 7c43c757ce don't be too pedantic on the OpenAL checks 2019-09-22 19:35:40 -04:00
scx 547b17fc22 Fix crashing when picking language
Aegisub crashes immediately after selecting any language
from the end of the list (above the 100th position).
This is because it can support no more than 100 languages.
This patch extends this limit up to 1000 languages (locales).

Fixes #131
2019-09-22 19:34:23 -04:00
scx c3c446a8d6 Fixes for Boost 1.69.0 2019-09-22 19:33:36 -04:00
darealshinji 7094bd1e20 Add configure option to enable portable builds on Linux 2019-09-22 19:26:50 -04:00
Yakauleu Uladzislau 565b7cb86e Added Belarusian Localization 2019-09-22 19:23:39 -04:00
scx 0847acc53f Add missing AM_GNU_GETTEXT_VERSION macro
Bug: http://devel.aegisub.org/ticket/1914
2019-09-22 19:22:33 -04:00
scx 67d9fd9aa4 DataBlockCache: Fix crash in cache invalidation (#142)
The original version uses a reverse iterator,
whose .base() is invalid after KillMacroBlock() erases it.
2019-09-22 19:19:56 -04:00
scx cb0af6ca35 Fix crash on right click due to no spell checker
See: #131
2019-09-22 19:17:39 -04:00
scx 0418d0b5be Desktop file: make Keywords translatable 2019-09-22 19:16:23 -04:00
scx eeb3e17b73 Update desktop file
- Add Keywords
 - Add StartupWMClass
 - Update Categories
2019-09-22 19:16:23 -04:00
scx 7ea2c09afa make_pot.sh: Check presence of xmlstarlet and jq 2019-09-22 19:15:36 -04:00
scx c3a4a9122c Integrate AppData file with build system 2019-09-22 19:15:36 -04:00
scx 0a1b93860b Add AppData file template 2019-09-22 19:15:36 -04:00
wangqr 42552e5efb Correctly handle memory free using Lua GC
Instead of manually free. Otherwise return value of `search' may refer to invalid memory.
Fix Aegisub/Aegisub#99
2019-09-22 19:12:23 -04:00
wangqr 3782b906d7 Fix travis-ci build script 2019-09-22 19:12:23 -04:00
Ryan Lucia d9bd7def0b Fix autotools lua detection 2019-09-08 18:36:58 -04:00
Ryan Lucia 5ed4838d00 Convert osx-fix-libs to py3 2019-05-16 18:11:03 -04:00
Ryan Lucia 5005d6d2a2 Set visual tool default feature color correctly
Fixes #50
2019-05-16 18:10:43 -04:00
Ryan Lucia fb02d6855c Fix compilation on Mojave 2019-05-16 17:41:18 -04:00
Ryan Lucia a5228d8d44 Update OSX build instructions
Two notable changes: attempting to forcibly link icu4c no longer works for :reasons:, so you have to manually add it to the pkg-config and compiler/linker search directories. Additionally, homebrew removed build options from most packages as part of https://github.com/Homebrew/homebrew-core/issues/31510, and this includes luajit and boost. The former builds with gc64 by default on HEAD, and the latter with icu4c support by default, so this actually somewhat simplifies things.
2019-05-16 14:46:26 -04:00
davste0816 c2085d139c Fix Move Down button in Export dialog 2019-05-12 11:56:13 -04:00
davste0816 b107077b20 Add .webm to extension list, add .eac3 as an audio format
Co-Authored-By: FichteFoll <fichtefoll2@googlemail.com>
2019-05-12 11:55:48 -04:00
davste0816 0e6b492735 Recognize .opus as an audio format, .h264 .hevc as video formats 2019-05-12 11:55:48 -04:00
Martin Herkt a78f5d2760 DataBlockCache: Fix crash in cache invalidation
Fixes #33
2019-05-03 20:51:23 -04:00
FichteFoll 75fc5f38d7 Adjust boost gil header paths for boost 1.69
boost/gil.hpp was added in 1.68 and boost/gil/gil_all.hpp removed in
1.69.
2019-01-31 19:47:00 -05:00
Ryan Lucia 7853e7abe2 Update libass
Worth noting that this does NOT currently build, thanks to a few lines in libass that are not compatible with vc++. I'll bump the libass commit when MrSmile's pr gets merged and this is remedied. You can apply this commit to remedy that: 5317a8dd89
Also worth noting that while libass switched to nasm, I haven't done so here because it wasn't worth the effort, so I just made a questionable change to the yasm.targets to emulate nasm behavior
2019-01-07 21:48:50 -05:00
Ryan Lucia 7147038e0a Fix luajit build flags
Notably, don't build the dynamic library and enable 5.2 compatibility features
2019-01-07 21:48:50 -05:00
Ryan Lucia 3ba7358bfe Use FFMS2 constant in place of magic number 2019-01-07 21:48:50 -05:00
Ryan Lucia a1ec3767e4 Remove compatibility with old versions of FFMS2
2.22 was released oct 2015, so I think a more recent version is a fairly safe assumption
2019-01-07 21:48:50 -05:00
Ryan Lucia ad52260665 Ensure FFMS always indexes video tracks
Matching historical behavior with DoIndexing, which is assumed throughout the codebase
2019-01-07 21:48:50 -05:00
Ryan Lucia 5a554a586e Excise the hopefully last mention of ASSDraw 2019-01-07 21:48:50 -05:00
Ryan Lucia 826a360b8d Revert to dynamically linking the vc runtime 2019-01-07 21:48:49 -05:00
Ryan Lucia 628962559d Update strip-icu to python 3 2019-01-07 21:48:49 -05:00
Ryan Lucia 129e748abd Update uchardet 2019-01-07 21:48:49 -05:00
Ryan Lucia 9638bfbef4 Update ffmpeg and ffms2 2019-01-07 21:48:49 -05:00
Thomas Goyne f99711aca8 Bump _WIN32_WINNT to Vista 2019-01-07 21:48:49 -05:00
Thomas Goyne 6496414e61 Update freetype2 2019-01-07 21:48:48 -05:00
Thomas Goyne 2cb92a5f74 Bump _WIN32_WINNT to Vista 2018-11-23 09:22:18 -08:00
Thomas Goyne ebc76c8a11 Update ffmpeg and ffms2 2018-11-23 09:22:18 -08:00
Thomas Goyne 6afb851365 Update freetype2 2018-11-23 09:22:18 -08:00
Ryan Lucia 26ccf0b8e5 Divorce stored TPP lead-in/out values from config
There's no real reason to link these as far as I can tell, and plenty of
valid reasons not to
2018-11-17 19:27:25 -05:00
Ryan Lucia 08ebcf4693 Remove assdraw from default toolbar 2018-11-17 17:54:17 -05:00
Ryan Lucia a9eba14df5 Remove assdraw and forums from default menu
Reflects changes previously made to remove those elements from Aegisub
2018-11-17 15:57:48 -05:00
Ryan Lucia 9d579e15ec Add installer vendor folder to gitignore 2018-11-17 15:56:34 -05:00
Ryan Lucia c6d50332e8 Modify organization for installer requirements, minor installer clean-up 2018-10-06 03:57:04 -04:00
Ryan Lucia 6e0706939e More cleanup efforts on the installer scripts
Untested, probably still needs work
2018-10-05 21:16:30 -04:00
line0 e2bd1283c6 add DependencyControl plus requirements to windows installer; also split features in components and drop 32-bit support 2018-10-05 21:15:12 -04:00
Ryan Lucia 2961ea1947 Update VS project to properly locate fribidi headers 2018-10-05 20:56:13 -04:00
Ryan Lucia 5c1566752a Ignore VS build files
Most files were moved to .vs directory with VS15
2018-10-05 17:51:55 -04:00
bkbkb 2ce503ebe7 Fix fribidi download link 2018-09-23 20:20:05 -04:00
darealshinji c3e03f3039 Update config.sub, config.guess, install-sh (#77) 2018-09-23 20:19:33 -04:00
bkbkb 83736b4866 Fix fribidi download link 2018-07-29 21:39:15 -07:00
Thomas Goyne 524c6114a8
Merge pull request #80 from jbeich/boost
Unbreak build against Boost 1.68
2018-07-09 15:06:51 -07:00
Jan Beich d8336d2fed Keep using std::distance after Boost 1.68
src/search_replace_engine.cpp:256:14: error: call to
      'distance' is ambiguous
                                count += distance(
                                         ^~~~~~~~
/usr/include/c++/v1/iterator:511:1: note: candidate function [with _InputIter =
      boost::u32regex_iterator<std::__1::__wrap_iter<const char *> >]
distance(_InputIter __first, _InputIter __last)
^
/usr/local/include/boost/iterator/distance.hpp:49:9: note: candidate function [with SinglePassIterator =
      boost::u32regex_iterator<std::__1::__wrap_iter<const char *> >]
        distance(SinglePassIterator first, SinglePassIterator last)
        ^
2018-07-09 20:17:59 +00:00
darealshinji ce658d0709 Update config.sub, config.guess, install-sh (#77) 2018-06-17 11:14:35 -07:00
Ryan Lucia fe0dd3e095 Merge remote-tracking branch 'upstream/master' into tstools 2018-05-31 04:26:15 -04:00
Ryan Lucia 9ce76d3802 Update OSX build instructions
Tested against a fresh copy of 10.13
2018-05-31 04:23:59 -04:00
Ryan Lucia d4e99700d4 Remove ambiguity over distance function call 2018-05-31 04:22:43 -04:00
Ryan Lucia 861a1c1694 Update gitignore to include additional generated luajit files 2018-05-31 04:22:11 -04:00
Marcin Kurczewski a4bde47c5c Fix MRU menus (#48)
Broken in 9bbfdddde0. I don't understand
why the author made such a change, so I left their solution with #ifdef
guard.
2018-05-28 21:24:23 +02:00
Thomas Goyne a32bf7acdc Set ffmpeg's yasm include paths correctly 2018-05-25 22:32:27 +02:00
Thomas Goyne 4fdc5efb69 Explicitly declare DataBlockCache as moveable to make vs17 happy 2018-05-25 22:32:27 +02:00
Thomas Goyne e44f0b92b0 Use absolute paths for the default dependencies paths 2018-05-25 08:27:29 +02:00
Thomas Goyne bbd5a0aadb Fix a typo in install.targets 2018-05-25 08:27:29 +02:00
Thomas Goyne 5cfa896f98 Drop Windows XP support 2018-05-25 08:27:29 +02:00
Thomas Goyne 9c628f1cdf Switch to the vs 2017 toolkit 2018-05-25 08:27:29 +02:00
Ryan Lucia adb7c36be3 Apply and update LuaJIT patches 2018-05-12 03:06:01 -04:00
Ryan Lucia 90586ca588 Update LuaJIT to 2.0.5 2018-05-12 02:58:15 -04:00
Ryan Lucia a621072e7d Add support for WWXD keyframes in qpfile format 2018-05-10 03:28:51 -04:00
Ryan Lucia 747525142a Pass 0 to FFMS_Init
The argument is no longer used, and the docs specify to pass a value of 0 to avoid confusion
2018-05-07 19:24:47 -04:00
Ryan Lucia 869cdcc7a1 Properly ignore ASS whitespace characters in character counter 2018-05-07 18:09:42 -04:00
Ryan Lucia 3eaa56fc18 Point users at a functional bug tracker 2018-05-07 18:09:42 -04:00
Ryan Lucia e516ab6e32 Fix line order when splitting after current frame 2018-05-07 18:09:42 -04:00
Ryan Lucia 4d048e3c90 Add configuration options for colors in visual typesetting tools 2018-05-07 18:09:40 -04:00
Ryan Lucia 50a18c7942 Use proper event for DoubleUpdater
Previously changes weren't recognized because the event bound was for integers
2018-04-30 02:38:14 -04:00
Ryan Lucia dbd7dd8ba1 Remove shitty joke
The default message here is an old joke in extremely poor taste, and best replaced in the config
2018-04-30 02:38:14 -04:00
Ryan Lucia 2f500cd480 Remove dead forums link 2018-04-30 02:38:14 -04:00
Ryan Lucia 95d96f938b Make translation assistant skipping whitespace an explicit setting 2018-04-30 02:38:14 -04:00
Ryan Lucia 3bcc7269be Remove Force BT.601 option and update color matrix guessing 2018-04-30 02:38:14 -04:00
Ryan Lucia 10814a7d0b Add support for setting status bar text from Lua 2018-04-30 02:38:11 -04:00
Ryan Lucia 8cc3a35dd4 Update default config to modern standards 2018-04-29 16:36:21 -04:00
Thomas Goyne 73c5e7a4c2
Merge pull request #60 from sidneys/hotfix/updated-macos-build
FIX: Updated build instructions for macOS 10.12 and XCode 9
2018-04-29 13:03:31 -07:00
Roxas Shadow d893218e50 it.po: fix typo (#59) 2018-04-29 13:00:11 -07:00
computerfan e401baa910 Update Simplified Chinese translation (#55)
Fix some wrong or ambiguous translation.
2018-04-29 12:59:59 -07:00
Alexander Pozdnyakov 315d416753 added missing files (#57) 2018-04-29 12:59:48 -07:00
sidneys b097d3133d fix(updated-macos-build): add missing .m4 macros 2018-03-31 02:58:27 +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
Sidney 40a0fb5910 fix(updated-macos-build): update Homebrew and wxWidgets instructions in README 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
rr- 4791222ab3 Add support for reading waveform selection in LUA 2018-03-03 12:51:49 -08:00
rr- 21f704f138 Fix joining as karaoke 2018-03-03 12:50:01 -08:00
Rasmus Thomsen 876d59ec22 remove fontconfig submodule
we already remove its folder ( vendor/fontconfig ), so we should remove it from the actual submodule list as well
2018-03-03 12:46:44 -08:00
Ryan Lucia 1b7388683f Document process for updating mooonscript 2018-03-03 12:46:20 -08:00
Ryan Lucia 3c5b61429a Update moonscript version
Current version is from
491f2352a2
2018-03-03 12:46:20 -08:00
Thomas Goyne bc157d9bbc Also stub out the `system` lua module that newer versions of busted use 2018-03-03 12:44:31 -08:00
Rodger Combs 61028916c8 main: fix warning 2018-01-27 11:35:18 -08:00
Rodger Combs 16d57dac79 OpenAL: destroy context when not in use
This prevents the CoreAudio thread from spinning when paused on macOS
2018-01-27 11:34:58 -08:00
Rodger Combs 5a3b7301c6 find/replace: handle enter key in input fields 2018-01-27 11:34:24 -08:00
Rodger Combs a88835e253 find/replace: bring window to front when activated 2018-01-27 11:34:05 -08:00
Rodger Combs 275a35fdeb README: fix outdated brew package names 2018-01-27 11:34:02 -08:00
Thomas Goyne de9290b75b Remove fontconfig from macOS deps 2018-01-27 11:33:23 -08:00
Rodger Combs 1bd25711eb README: document luajit and wxWidgets build procedure on macOS 2018-01-27 11:32:42 -08:00
Rodger Combs 3632ad067d Build: update boost m4 macros 2018-01-27 11:32:27 -08:00
Thomas Goyne 3bc5e8f04f Remove pointless explicit heights for the audio sliders
The containing sizer overrides them instantly, but for whatever reason
supplying them breaks things on macOS.
2017-07-07 16:46:52 -07:00
Thomas Goyne f555ac841c Bump minimum macOS version to 10.8
Recent versions of the SDK have dropped support for <future> when targeting
10.7.
2017-07-04 12:31:55 -07:00
Thomas Goyne 70edb03b2a Fix some audio display rendering quirks on retina OS X 2017-07-04 10:51:08 -07:00
Martin Herkt 8d3ad9ff68 dialog_about: only include build date with credit (#45)
The build date is largely irrelevant and prevents reproducible builds.
Make it optional.
2017-05-22 07:43:30 -07:00
Maxime Gauduin dd67db47cb Fix compilation against icu 59.1 (#46) 2017-05-08 19:01:47 -07:00
Martin Herkt 3594ade719 build: sort wildcard results for repeatable builds (#44) 2017-03-30 10:08:30 -07:00
Eduard Ereza Martínez b859ddbca4 Update Catalan translation (really) 2017-03-25 12:13:24 -07:00
Ryan Lucia 3e2c165852 Properly set colorspace when loading video
FFMS2 originally would automatically attempt to guess the color space
if not manually specified, but this was removed in
7c2e08109d
and Aegisub never adapted to the change
2017-03-25 12:13:10 -07:00
Thomas Goyne 1042226531 Merge pull request #39 from TheFireRed/patch-1
Quick fix
2016-07-30 11:00:50 -07:00
Thomas Goyne 172ccc2b25 Merge pull request #40 from aristotll/master
Fix typo
2016-07-30 10:59:38 -07:00
Thomas Goyne ea27230293 Merge pull request #41 from Ereza/master
Update Catalan translation
2016-07-30 10:59:29 -07:00
Eduard Ereza Martínez 823e181096 Update Catalan translation 2016-07-14 02:08:15 +02:00
Yao 931613381c Fix typo 2016-07-09 16:25:40 +08:00
Álex G.M b5396eb382 Quick fix
Fixed a small mistranslation. Remove = quitar, eliminar ≠ remover
2016-06-26 19:42:57 +02:00
Niels Martin Hansen b118fe7e7a Fix STL header writing (really)
The vsnprintf call must be passed the buffer size, not the target string size. Shortening the string to field length happens in the memcpy.
2016-05-18 21:56:34 +02:00
Thomas Goyne 0e8bc44539 Work around more places where VC++ generates null pointers-to-members 2016-04-09 08:36:50 -07:00
Thomas Goyne 101cd8e1e5 Fix compilation with old versions of ffms2 2016-04-08 13:29:32 -07:00
Thomas Goyne 7a6da26be6 Fix compilation on X11-using platforms 2016-04-08 12:14:28 -07:00
Thomas Goyne dba8f1c062 Use Uniscribe to check glyph coverage of non-BMP characters rather than just skipping them 2016-04-08 11:24:26 -07:00
Thomas Goyne 15adac519d Update to the new indicator API for Scintilla as 3.4 dropped the old one 2016-04-08 11:24:25 -07:00
Thomas Goyne 1aa9215e7f Use FFMS_DoIndexing2 when using a recent version of ffms2
And clean up the audio track selection logic a bit.
2016-04-08 11:24:21 -07:00
Thomas Goyne 95f3f30d53 Remove pointless braces 2016-04-08 11:24:16 -07:00
Thomas Goyne b8fa7e010b Don't init COM for FFMS2
FFMS2 no longer uses COM for anything.
2016-04-08 11:24:14 -07:00
Thomas Goyne 8823476275 Work around bad codegen from VC++2015 update 2 2016-04-08 11:24:11 -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 2720d8c0dc Fix OS X compilation 2016-03-18 19:42:32 -07:00
Thomas Goyne 8f019a6e45 Statically link the CRT for Release builds
VS 2015 has made distributing the dynamic CRT awful; the installer is
larger than Aegisub itself and app-local deployment requires an absurd
number of DLLs.
2016-03-13 17:39:10 -07:00
Thomas Goyne d1e5a2674b Statically link ffms2 on Windows
It used to need to be dynamic due to that it was a nightmare to build,
with very specific toolchain requirements, but that's no longer the
case.
2016-03-13 17:38:49 -07:00
Thomas Goyne 9bbfdddde0 Add the standard OS X "Window" menu 2016-03-13 16:33:53 -07:00
Thomas Goyne cac4ba910d Fix more incorrect sizer flags 2016-03-13 16:33:53 -07:00
Thomas Goyne e3ad5ea976 Update wxWidgets to 3.1.0 2016-03-13 16:33:52 -07:00
Thomas Goyne 26fea0e123 Fix skipping over existing spaces when exporting to EBU STL
ac5f40a543 made it so that the N in \N was
skipped, but broke the space case, resulting in two spaces between each
word.

Closes #1887.
2016-03-05 16:35:01 -08:00
Thomas Goyne b2687e893b Fix member variable initialization order 2016-03-05 16:35:01 -08:00
Thomas Goyne b6c1bb146b Add PTHREAD_CFLAGS to LIBS_PTHREAD
As the ax_pthread documentation says you need to do.

Closes #1902. Closes #1911.
2016-03-05 11:23:46 -08: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 0dea29b369 Build with boost 1.60 when using GCC 5 on Travis 2016-03-05 11:23:46 -08:00
Thomas Goyne c3f442aee8 Build with both GCC 4.8 and GCC 5 on Travis 2016-03-05 11:23:46 -08:00
Thomas Goyne 4c15d0ba84 Add support for running respack.lua with system Lua 2016-03-05 10:51:26 -08:00
Thomas Goyne 0ed6dd46fb Add support for using system LuaJIT rather than the bundled copy
Closes #1904.
2016-03-05 10:51:16 -08:00
Thomas Goyne 45315476bd Switch to a maintained fork of universalchardet 2016-02-09 20:29:29 -08:00
Thomas Goyne a315ce6903 Fix assert failure when opening with no args 2016-02-08 06:59:49 -08:00
darealshinji 14a80dbabd Change LIBS_PTHREAD to PTHREAD_LIBS
See https://github.com/tgoyne/aegisub/blob/master/m4macros/ax_pthread.m4#L12
2016-01-12 11:11:09 +01:00
Thomas Goyne 9ed553e5fb Update ax_pthread.m4 to the most recent version
Closes #1901.
2016-01-11 20:52:40 -08:00
Thomas Goyne ad0f702a55 Escape "." corrently in respack.lua
Using \ works in minilua, but not real lua.

Closes #1898.
2016-01-11 20:52:40 -08:00
Thomas Goyne 28eb475fc2 Actually use the list of filenames in AegisubApp::OpenFiles() 2016-01-10 19:47:26 -08:00
Thomas Goyne bb3e0de728 Handle i/o errors when indexing fonts for GDI 2016-01-10 19:47:25 -08:00
Thomas Goyne 3c381b6c55 Handle fonts that are marked as bold but have the same weight as the normal variant 2016-01-02 15:42:26 -08:00
Thomas Goyne 761a121452 Fix the weight of fonts that use 1-10 2016-01-02 15:42:26 -08:00
Thomas Goyne 596332763b Use the Windows Family Name for family name matching 2016-01-02 15:42:26 -08:00
Thomas Goyne e13a39f302 Try to better match GDI's weight penalty 2016-01-02 15:42:26 -08:00
Thomas Goyne b9a56cb870 Prioritize family name matches over postscript name matches 2016-01-02 15:42:25 -08:00
Thomas Goyne 278b7621cf Assume that fonts which CT won't give the OS/2 table for are Regular 2016-01-02 15:42:25 -08:00
Thomas Goyne f2b3b69b3f Read the weight from the OS/2 table rather than asking CoreText
The weights reported by CT are only occasionally correlated with the
OS/2 weights, and GDI uses the latter.
2016-01-02 15:42:25 -08:00
Thomas Goyne 8e6c4ff3ba Don't check for fontconfig in configure on OS X 2016-01-02 15:42:25 -08:00
Thomas Goyne f824d2c56b Remove OS X and Windows support from the fontconfig file lister 2016-01-02 15:42:25 -08:00
Thomas Goyne 6780373a50 Remove fontconfig config files from the OS X package 2016-01-02 15:42:25 -08:00
Thomas Goyne b1cb16c7f8 Do a better job of picking the best match from CoreText 2016-01-02 15:42:25 -08:00
Thomas Goyne d152af1f14 Deduplicate matched paths from CoreText 2016-01-02 15:42:25 -08:00
Thomas Goyne 2527204515 Get the filesystem representation of urls rather than an absolute url 2016-01-02 15:42:25 -08:00
Thomas Goyne 63bb585db6 Enable ARC for the coretext font lister 2016-01-02 15:42:24 -08:00
Thomas Goyne 973f0b09fc Add a basic CoreText-based fonts collector backend 2016-01-02 15:42:24 -08:00
Thomas Goyne f8c3504898 Remove the OS X fontconfig init logic from the libass provider 2016-01-02 15:42:24 -08:00
Thomas Goyne 9b815ac8cc Fix a crash when reattaching video
The window close event propagates up to the detached window's parent, so
the handler for the parent window closing needs to filter it out.
2016-01-02 13:48:00 -08:00
Thomas Goyne 0b2d0d40d5 Ensure that the fonts collector destination label gets wrapped on OS X 2015-12-29 20:12:52 -08:00
Thomas Goyne 4f34784370 Set the initial control state when the fonts collector dialog is opened correctly 2015-12-29 20:12:32 -08:00
Thomas Goyne f481a7f5fb Use the correct upper bound for restoring the font collector modes 2015-12-29 20:12:29 -08:00
Thomas Goyne e8cdfc57a9 Make FcMode an enum class and simplify the data flow 2015-12-29 20:12:24 -08:00
Thomas Goyne fe2925408c Remove fontconfig entirely from the Windows build 2015-12-29 20:08:07 -08:00
Thomas Goyne e5a6abd215 Add a GDI-based font selector for libass
This deliberately doesn't perform any font substitutions as the sort of
people that use libass on Windows tend to perfer to manually pick
fonts with the correctly glyphs.
2015-12-29 20:08:07 -08:00
Thomas Goyne e06385b6d4 Remove unused includes from subtitles_provider_libass.cpp 2015-12-29 20:08:05 -08:00
Thomas Goyne de3bdeb484 Build libass without fontconfig enabled on Windows 2015-12-29 19:56:48 -08:00
Thomas Goyne 15d78ed190 Update to libass 0.13.1 2015-12-29 19:56:38 -08:00
Thomas Goyne 913b8438f3 Fix Windows x64 compilation 2015-12-29 19:55:58 -08:00
Thomas Goyne 3b13260ca1 Use murmur3 to explicitly hash the font index keys
This significantly improves performance by avoiding the need to
construct std::strings of the things to be hashed, eliminating a bunch
of memory allocations and copies.
2015-12-29 12:38:01 -08:00
Thomas Goyne 879661a379 Only index the first kilobyte of font files to speed up indexing 2015-12-29 12:38:00 -08:00
Thomas Goyne 82f250dbbb Fix the checks for fake bold/italic
EnumFontFamiliesEx doesn't actually use the lfItalic andlfWeight fields,
so we have to check separately.
2015-12-29 12:38:00 -08:00
Thomas Goyne ddc5cd155f Add a GDI-based fonts collector backend 2015-12-29 12:38:00 -08:00
Thomas Goyne fa2e3fb38f More cruft to support running busted on Travis 2015-12-22 17:43:25 -08:00
Thomas Goyne afed3dca21 Fix compilation on Linux 2015-12-21 19:57:49 -08:00
Thomas Goyne 26361c5003 Add support for using busted 2.0 to run automation tests
Supply a definition of socket.gettime() to remove the dependency on
LuaSocket, as installing binary deps from luarocks doesn't work with a
custom build of luajit.
2015-12-21 19:48:23 -08:00
Thomas Goyne 3747705a43 Select the OpenGL context when destroying VideoDisplay
This is needed to destroy the correct things when there are multiple
active opengl displays.
2015-12-21 17:46:38 -08:00
Thomas Goyne c8d02de3db Allow coalescing undo over autosaves 2015-12-21 17:46:38 -08:00
Thomas Goyne 52dbb482af Make next_commit_id a member variable rather than a static
Multiple instances of SubsController should not share it.
2015-12-21 17:46:38 -08:00
Thomas Goyne 2032ab8ea3 Handle multiple simultaneous OpenAL audio players in one process 2015-12-21 17:46:38 -08:00
Thomas Goyne 75804da4ea Set the closed marker even on 64-bit OS X 2015-12-21 17:46:38 -08:00
Thomas Goyne 5f89a64f07 Adjust the menu text on OS X to better match the HIG 2015-12-21 17:46:38 -08:00
Thomas Goyne f28e46c2e3 Add a Close command to the file menu on OS X 2015-12-21 17:46:37 -08:00
Thomas Goyne ead12de8b6 Actually close all windows on quit 2015-12-21 17:18:07 -08:00
Thomas Goyne 84b0f1e043 Mostly adopt the standard OS X document-based UI model on OS X 2015-12-21 17:18:04 -08:00
Thomas Goyne 0f17784548 Actually open a new window in the New Window command 2015-12-21 17:17:54 -08:00
Thomas Goyne 8de8724660 Support creating multiple main windows
This is not yet actually exposed in any way in the UI.
2015-12-21 17:17:51 -08:00
Thomas Goyne f5f5439808 Add context-specific path tokens
?video, ?audio, and ?script are not global.
2015-12-21 17:17:48 -08:00
Thomas Goyne 932937c343 Shut up a missing override warning 2015-12-21 17:17:46 -08:00
Thomas Goyne e757618b32 Use an explicit operator bool for Vector2D 2015-12-21 17:17:42 -08:00
Thomas Goyne d253388c8e Perform autosaves on a background thread rather than blocking the UI 2015-12-21 17:17:33 -08:00
Thomas Goyne 44b76d38d2 Switch to app-local deployment of the CRT rather than using the installer
The installer for VS2015 is huge (13 MB compressed for 5.5MB of
installed stuff) and seems to be restarting people's computers without
warning.
2015-12-08 19:14:02 -08:00
Thomas Goyne bebc024fa0 Fix overflow issues with truncated pcm files 2015-11-29 20:11:14 -08:00
Thomas Goyne f811f7e363 Select the "Time" radio on startup 2015-11-29 20:11:14 -08:00
Thomas Goyne 1d00bd834d Fix typo that made the color picker's cursor appear in the wrong place in RGB modes 2015-11-29 20:11:14 -08:00
Thomas Goyne 9112cc8cf9 Fix some invalid sizer flags 2015-11-29 20:11:14 -08:00
Thomas Goyne 4542204b3a Fix undefined behavior in DataBlockCache::SetBlockCount()
Left-shifting negative signed numbers is UB (and pointlessly complex
here anyway).
2015-11-29 20:11:14 -08:00
Thomas Goyne 652a250189 Add an error message for when creating the Lua state fails 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
Thomas Goyne 0d72423223 Include a copy of ffversion.h 2015-11-29 20:11:14 -08:00
Thomas Goyne 9fd5bbc552 Update boost.vcxproj.filters to reflect files removed from boost.vcxproj 2015-11-29 20:11:14 -08:00
Thomas Goyne 2fa56abc75 Explicitly add the DirectX SDK dir to the linker paths 2015-11-29 20:11:14 -08:00
Thomas Goyne f7661dbd78 Explicitly default AssAttachment's copy constructor 2015-11-29 20:11:14 -08:00
Thomas Goyne 7eb2504dbb Merge pull request #32 from darealshinji/patch-1
Don't use -fPIC
2015-09-19 17:11:38 +02: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 85a820918f Fix a crash when opening a new file when the grid is not scrolled to the top 2015-09-13 18:49:46 +02:00
Thomas Goyne ea43700531 Add LIBS_PTHREAD to repack-thes-dict
Closes https://github.com/Aegisub/Aegisub/pull/28.
2015-09-13 12:12:17 +02:00
Thomas Goyne c49dd8bd96 Ensure luarocks env variables are set for make-automation 2015-09-13 11:54:32 +02:00
Thomas Goyne 85b356407f Reapply OS X/Windows build hacks 2015-09-13 10:02:59 +02:00
darealshinji 736e69ef53 LuaJIT: enable Makefile verbosity with V=1 2015-09-12 13:09:32 +02:00
darealshinji 5c50029074 Aegisub-specific LuaJIT settings 2015-09-12 13:01:34 +02:00
darealshinji 896ede12f3 Apply and update LuaJIT patches 2015-09-12 12:45:23 +02:00
darealshinji 541a9ad590 LuaJIT 2.0.4 2015-09-12 12:38:01 +02:00
Cirrus Wazza 1f7a59afcb Update French translation
Closes #1882.
2015-08-30 16:47:59 -07:00
Thomas Goyne ac2ac9cf06 Merge pull request #30 from CoffeeFlux/master
Fixed typo in README.md
2015-08-15 14:35:21 -07:00
Ryan Lucia a84c9b9a85 Fixed typo 2015-08-14 16:39:32 -04:00
Thomas Goyne 0ea48271d4 Add missing automation files to the portable installer 2015-07-31 11:12:20 -07:00
Thomas Goyne a55bc56a12 Update portable installer to include the vs14 CRT 2015-07-31 11:11:10 -07:00
Thomas Goyne 5c9ce12746 Use SWResample for FFMS2 rather than AVResample
FFmpeg's Opus decoder requires swresample, so just use it for
everything rather than shipping both resamplers.
2015-07-30 19:20:10 -07:00
Thomas Goyne ad1af90e74 Update dependencies to VS14 compatible versions 2015-07-30 19:20:10 -07:00
Thomas Goyne 4366e59353 Update to Visual Studio 2015 2015-07-30 19:20:10 -07:00
Thomas Goyne 017bbe1e59 Delay showing the font indexing dialog for 250ms
Helps avoid ugly flickering when no indexing is required, but fontconfig
is taking a long time to load the cache.
2015-07-28 20:46:02 -07:00
Thomas Goyne 9ae508730d Remove some incorrect and ignored sizer flags 2015-07-28 20:46:02 -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 7a60ac95ef Always use C++ for AC_AGI_COMPILE 2015-07-27 18:57:08 -07:00
Thomas Goyne d278dcc7a8 Update to a newer version of AX_CHECK_GL that supports OpenBSD
Closes #1875.
2015-07-27 18:19:57 -07:00
Thomas Goyne 096398425a Skip some pointless configure checks on OS X 2015-07-27 18:19:41 -07:00
Thomas Goyne 8f5bfb0cae Make toggle buttons on OS X much more visibly distinct
Closes #1839.
2015-07-27 18:19:41 -07:00
Thomas Goyne f1252d1364 Update Vietnamese translation
loses #1878.
2015-07-27 10:29:23 -07:00
Thomas Goyne b55ad78c23 Update wx setup.h 2015-07-27 10:29:22 -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 cad8c80aab Update wxWidgets 2015-05-31 11:49:30 -07:00
Thomas Goyne 97bf5c77c3 Explicitly allow unicode text when pasting 2015-05-31 11:49:29 -07:00
Thomas Goyne 42429d4930 Remove incorrect sizer flags 2015-05-31 11:49:29 -07:00
Thomas Goyne ba9f5a78d4 Include the stack trace for errors in automation validation functions 2015-05-09 13:58:32 -07:00
Thomas Goyne ff874fadf9 Reduce nesting 2015-05-09 13:58:23 -07:00
Thomas Goyne a5c87908e1 Set the new active line correctly after splitting by karaoke 2015-05-09 13:58:15 -07:00
Thomas Goyne 0ccac34cb0 Fix crash when splitting lines by karaoke
Defer the deletion of the old lines until after the commit as is now
done for everything that deletes selected lines.
2015-05-09 13:58:12 -07:00
Thomas Goyne 8c6a3d85ba Update ffms2 project 2015-05-09 12:58:40 -07:00
Thomas Goyne 5afc543a5a Update libass to 0.12.2 2015-05-09 11:28:19 -07:00
Thomas Goyne d2958e6aca Set the Row for dialogue lines added to keep the file non-empty 2015-05-09 11:28:18 -07:00
Thomas Goyne 4d4102fcb3 Update ffms2
Fixes handling of positive audio delay.
2015-05-09 10:54:41 -07:00
Thomas Goyne c013342caa Catch more exceptions in lfs 2015-05-09 10:54:37 -07:00
Thomas Goyne 8cd970eb53 Update moonscript to 0.3.1 2015-05-09 10:54:34 -07:00
Thomas Goyne 7a8fda007d Cancel karaoke templater execution immediately when an error occurs
Closes #1849.
2015-03-01 11:22:50 -08:00
Thomas Goyne 9466c98fd7 Remove trailing whitespace from kara-templater.lua 2015-03-01 11:20:15 -08:00
Thomas Goyne 40ae2cdc35 Fix snapping audio markers when dragging inactive line markers with ctrl
We do need to check if the inactive markers are in the active set when
ctrl-dragging, as otherwise there'll always be a marker 0 pixels away to
snap to. Fortunately when ctrl-dragging all of the the markers involved
are by definition very close together, so it would be very difficult to
have enough markers to check for this to be a performance issue.

Closes #1823.
2015-03-01 11:13:43 -08:00
Thomas Goyne 801a8915d1 Use the untranslated context name for new hotkeys
Closes #1855.
2015-02-28 14:39:06 -08:00
Thomas Goyne d6982426c6 Merge pull request #26 from tophf/rot-angle-fix
Style editor: accept -360..360deg range
2015-02-28 14:28:44 -08:00
Thomas Goyne 2ef500d22c Merge pull request #27 from tophf/attached-font-render-fix
Pass all font attachments to font renderer
2015-02-28 14:28:17 -08:00
9adefaf01e5bf6426d838cd20eae582d2b6ba647 af9fe934c7 Pass all font attachments to font renderer
See #1805.
2015-02-27 01:16:35 +03:00
9adefaf01e5bf6426d838cd20eae582d2b6ba647 4f9713cb20 Style editor: accept -360..360deg range
People tend to use 270deg not knowing|remembering it's equal to -90deg
2015-02-26 22:40:21 +03:00
Thomas Goyne 3554bdc29a Fix failing tests 2015-02-15 12:37:34 -08:00
Thomas Goyne 48d4364eb8 Fix tests compilation on Windows 2015-02-15 12:33:48 -08:00
Thomas Goyne 5cedf16edd Use the custom lua error handler during macro load 2015-02-15 08:19:23 -08: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 0416188235 Eliminate a pointless menu refresh when opening subtitle files 2015-02-15 08:19:05 -08:00
Thomas Goyne acb9b8adac Reinitialize libass every time the font is changed in the style editor
libass doesn't free any font data it requests until the ass_renderer is
destroyed, so recreate it every time the font is changed to avoid
holding on to extremely large amounts of data when the user quickly
switches between fonts.

Closes #1320.
2015-02-08 09:13:53 -08:00
Thomas Goyne 9f196adc2e Replace boost::tokenizer with agi::Split 2015-02-08 08:11:22 -08:00
Thomas Goyne 5d8aeb8b40 Replace most remaining uses of boost::split with agi::Split 2015-02-08 08:11:14 -08:00
Thomas Goyne 01558bf10d Fix type_name compilation on OS X
Reverts 2986932f31. There are more types
of ints than sizes of ints, so using the stdint types doesn't work.
2015-02-07 14:56:50 -08:00
Thomas Goyne 2269dbcfe0 Reuse previously calculated string widths 2015-02-07 14:56:48 -08:00
Thomas Goyne 427037a552 Reimplement boost::split_iterator to make it less slow
boost::split_iterator type-erases the predicate, which makes it require
a virtual call per character (!) along with a heap allocation. As it
turns out we only ever need one predicate (comparing to a single
character), so replace it with a split_iterator that just does that.
2015-02-07 14:56:27 -08:00
Thomas Goyne d8bd9904d8 Avoid running the extradata parsing regex unnecessarily 2015-02-07 14:56:20 -08:00
Thomas Goyne bddf44ddde Eliminate a bunch of memory allocations when getting column widths 2015-02-01 20:09:40 -08:00
Thomas Goyne 8c1b20e651 Speed up grid painting with many unique effects/actors a bit 2015-02-01 20:09:35 -08:00
Thomas Goyne 79fb5cb3fe Fix crash when deleting the last dialogue line from automation 2015-01-26 19:22:59 -08:00
Thomas Goyne 0080f3ad39 Update libass 2015-01-26 19:22:59 -08:00
Thomas Goyne 7300a1bf2d Remove some redundant .get()s 2015-01-26 19:22:59 -08:00
Niels Martin Hansen def24c25b3 Fix EBU STL writing on non-MSVC runtimes
MSVC 2013 and earlier have the _snprintf() function fill fields
completely, eliding the NUL character, if the printed string is
as long as or longer than the given buffer size. This is not the
case in POSIX snprintf(), it always ensures the string is terminated.
This causes several fields in GSI to become truncated and contain
NUL characters which should not appear there.
2015-01-26 19:19:42 +01:00
Niels Martin Hansen d0296618a6 Sort Automation menu items by display name 2015-01-25 00:35:42 +01:00
Niels Martin Hansen 0f3bca016e Fix bug introduced in 15d26dd 2015-01-23 19:28:40 +01:00
Niels Martin Hansen 88d8573d4c Fix crash when loading a dialogue line missing extradata 2015-01-20 21:22:24 +01:00
Niels Martin Hansen 0f618d94df Enable assembly routines for libass on Windows 2015-01-20 21:22:23 +01:00
Niels Martin Hansen bfa416c583 Build fribidi with standard-malloc flag
Not using this may cause unpredictable crashes in some builds
on some systems. Fribidi's own allocator is not thread safe.
2015-01-20 21:22:21 +01:00
Niels Martin Hansen 2cfa6f14f2 Split Yasm targets into reusable file 2015-01-20 21:22:20 +01:00
Niels Martin Hansen e692759ea1 Change standard-outdirs.props to space indents 2015-01-20 21:22:19 +01:00
Niels Martin Hansen 5e446264a2 Use new task in relative-ObjectFileName target 2015-01-20 21:22:18 +01:00
Niels Martin Hansen 59ab4cd09b Rework InstallHeaders target to be more regular 2015-01-20 21:22:16 +01:00
Niels Martin Hansen 773b60c36c Rework header copy in boost build 2015-01-20 21:22:15 +01:00
Niels Martin Hansen 2986932f31 Fix issues with type_name on Win64 build
Both size_t and unsigned long long are aliases for
unsigned __int64 on Win64, and causes a duplicate definition.
Replacing all the integer type_name definitions with stdint.h
names should avoid this problem.
2015-01-20 21:22:14 +01:00
Niels Martin Hansen b97ea87b4c Fix libass project for FastUptodateCheck 2015-01-20 02:53:47 +01:00
Niels Martin Hansen 76b776d483 Fix libaegisub project for FastUptodateCheck 2015-01-20 02:53:46 +01:00
Niels Martin Hansen 8ca73559bd Fix boost project for FastUptodateCheck 2015-01-20 02:53:44 +01:00
Niels Martin Hansen 9016a61ec4 Fix freetype project for FastUptodateCheck 2015-01-20 02:53:43 +01:00
Niels Martin Hansen 722e979419 Fix luajit project for FastUptodateCheck 2015-01-20 02:53:28 +01:00
Niels Martin Hansen a0bf50dc8a Upgrade all MSBuild projects to v12 tools
Has no real effect, it's what VS 2013 already uses and detailed
logging reveals that the build system doesn't even recognize v4
and assumes v12 anyway.
Might prevent builds with outdated tools.
2015-01-18 03:03:42 +01:00
Niels Martin Hansen 52d4955064 Clean up object dirs for Yasm'd files on Windows 2015-01-14 04:45:45 +01:00
Niels Martin Hansen 5bcfc81df5 Clean up produced object dirs during Windows build
Adds some additional MSBuild magic that chops dir names
from a given base, to avoid making deep, thin hierarchies
of dirs when building especially FFmpeg and libaegisub.
2015-01-14 04:45:02 +01:00
Niels Martin Hansen 719eff39b1 Integrate Yasm assembling better in VC build
By not having it blindly run before the ClCompile target
it won't be checked every time you choose to build a single
file from the IDE. Instead it becomes a separate build stage
of its own.
2015-01-14 03:40:36 +01:00
Niels Martin Hansen a0a6194a26 Partially revert 68781a9
The change in source file paths breaks on some systems
2015-01-14 01:06:42 +01:00
Niels Martin Hansen ebb3811942 Fix #1843 2015-01-14 00:46:02 +01:00
Niels Martin Hansen b4516e4754 Fix #1844, eliminate pointers so typeid behaves
Only the bare type is considered polymorphic/habving a vtable
so therefore applying typeid to a pointer type doesn't behave
as intended.
2015-01-14 00:35:26 +01:00
Niels Martin Hansen f0a5abad01 AssKaraoke can safely take a const AssDialogue* 2015-01-14 00:21:25 +01:00
Niels Martin Hansen 68781a95b2 Log names of files Yasm'd in FFmpeg build 2015-01-14 00:21:24 +01:00
Niels Martin Hansen e9f0999c01 Include seconds in log timestamps on Windows 2015-01-14 00:21:23 +01:00
Niels Martin Hansen a93c51c9ba Avoid having libiconv export symbols on Windows 2015-01-14 00:21:23 +01:00
Niels Martin Hansen ca555359d9 Make dummy audio provider generate non-periodic noise 2015-01-14 00:21:22 +01:00
Thomas Goyne bfe7e4688a Bump wx submodule 2015-01-01 10:24:01 -08:00
Thomas Goyne 0b0eaed049 Also disable unused boost stuff on Windows 2015-01-01 10:24:01 -08:00
Thomas Goyne 6929dcabc1 Move the boost config defines to acconf.h to make the build command lines less gross 2015-01-01 10:24:01 -08:00
Thomas Goyne 069af7cfca Build wx without wxAny 2015-01-01 10:24:01 -08:00
Thomas Goyne 57edbafdda Replace uses of wxThreadEvent with a statically typed event 2015-01-01 10:24:01 -08:00
Thomas Goyne ef4424f5e2 Eliminate implicit std::string <-> wxString conversions
On Windows these don't use UTF-8 and so are broken.
2015-01-01 10:24:00 -08:00
Thomas Goyne 26050bd4e0 Actually use CPPFLAGS_BOOST when building src/aegisub 2015-01-01 10:24:00 -08:00
Thomas Goyne 3c59ea9a0a Remove AegisubApp::HandleEvent
OnExceptionInMainLoop covers the same functionality.
2015-01-01 10:24:00 -08:00
Thomas Goyne 2a33b35f60 Give Pen an out-of-line destructor 2015-01-01 10:24:00 -08:00
Thomas Goyne ab35c41a93 Move AudioDisplayInteractionObject to audio_display.cpp 2015-01-01 10:24:00 -08:00
Thomas Goyne 4502a9893d Make some virtual destructors protected instead 2015-01-01 10:23:59 -08:00
Thomas Goyne b6edf58651 Eliminate some object file bloat 2015-01-01 10:23:59 -08:00
Thomas Goyne affb47776b Build with BOOST_MULTI_INDEX_DISABLE_SERIALIZATION 2015-01-01 10:23:59 -08:00
Thomas Goyne 1d82a75595 Add a missing static 2015-01-01 10:23:59 -08:00
Thomas Goyne 62186e916a Anchor AssAttachment's vtable 2015-01-01 10:23:59 -08:00
Thomas Goyne b29fcd4f89 Add some extern template declarations for stuff with vtables 2014-12-28 20:43:29 -08:00
Thomas Goyne 0e1c566628 Move tool_translation_assistant_insert into the anonymous namespace 2014-12-28 20:31:48 -08:00
Thomas Goyne a7042486c0 Anchor AssStyle's vtable 2014-12-28 20:31:33 -08:00
Thomas Goyne 625bd7a767 Avoid having to include preferences.h in app.cpp 2014-12-28 20:28:33 -08:00
Thomas Goyne e485c469e2 Pull some of OptionValue to a cpp file 2014-12-28 20:21:48 -08:00
Thomas Goyne 5089499e8b Remove Excetipion's virtual destructor 2014-12-28 19:52:42 -08:00
Thomas Goyne 0f324a22f1 Fix a pile of places where abs() was used on floats 2014-12-28 19:30:32 -08:00
Thomas Goyne a6b1639320 Extract some bits that don't need to be templated from templates
Cuts compile time by about 10% and shrinks the final binary a little.
2014-12-28 16:46:38 -08:00
Thomas Goyne 372b9fe115 Eliminate a pointless set that only ever had zero or one entries 2014-12-28 16:46:37 -08:00
Thomas Goyne 5201773a3b Slightly optimize returning strings to lua from ffi functions 2014-12-28 16:46:37 -08:00
Thomas Goyne 010f6c4f79 Debloatify some stuff 2014-12-28 12:30:01 -08:00
Thomas Goyne 76afcdafa1 Eliminate uses of dynamic_cast on everything but GUI widgets 2014-12-28 12:29:54 -08:00
Thomas Goyne 6d74f22e92 Fix the legacy clipboard include 2014-12-25 21:09:06 -08:00
Thomas Goyne c313f32384 Special-case all lines being selected in validate_adjoinable
GetSortedSelection is kinda slow with large selections and all lines
being selected is an easy thing to special-case.
2014-12-24 16:59:11 -08:00
Thomas Goyne 44506eae56 Fix compilation with compilers with non-totally-broken templates 2014-12-24 16:46:51 -08:00
Thomas Goyne 0a18fe6cd3 Fix stack corruption when a script tries to select an invalid line 2014-12-24 16:24:51 -08:00
Thomas Goyne 84bd682e2e Make it harder for automation script to leave no lines selected 2014-12-24 16:12:21 -08:00
Thomas Goyne 15d26dd86f Slightly speed up karaskel.collect_head 2014-12-24 15:10:12 -08:00
Thomas Goyne 1fd44ea8da Add subtitles.script_resolution()
Returns the values from the headers if they're present, or does the
insane Gabest-logic if one or both are missing.
2014-12-24 15:10:12 -08:00
Thomas Goyne c43bf1e822 Limit the range to be painted in the audio display to what is visible 2014-12-21 11:31:21 -08:00
Thomas Goyne 71ee37cd71 Slather around more const 2014-12-21 11:31:17 -08:00
Tom Maneiro 2694332692 Update Spanish translation. Closes #1838. 2014-12-07 15:25:01 -08:00
Thomas Goyne 7fc2b248ad Update dependencies 2014-11-30 15:28:58 -08:00
Thomas Goyne bc7e66971d Merge pull request #24 from line0/installer-updates
Windows Installer updates
2014-11-30 15:28:40 -08:00
line0 4765b6dbc6 fix bad alignment caused by @9242c9fb4703cc70e3f46874b54a08f4381bae0f 2014-11-30 20:11:34 +01:00
line0 9242c9fb47 Windows Installer: use the correct name for the Galician wxstd translation file 2014-11-30 19:56:17 +01:00
line0 83759ec463 Windows Installer: include missing modules
(ffi, lfs, argcheck)
2014-11-30 19:45:15 +01:00
Lasse Liehu f1c177842a Update Finnish translation
Closes #1837.
2014-11-30 09:41:18 -08:00
Thomas Goyne b2a69c693d Update README to no longer say that Update 3 is unsupported 2014-11-23 16:33:03 -08:00
Thomas Goyne 7833b1bcbc Merge pull request #23 from khaledhosny/C2797
Fix build with latest Visual Studio
2014-11-23 16:31:50 -08:00
Khaled Hosny d4057418da Fix build with latest Visual Studio
This fiixes:

error C2797: list initialization inside member initializer list or
non-static data member initializer is not implemented

http://msdn.microsoft.com/en-us/library/dn793970.aspx
2014-11-23 15:30:27 +02:00
Thomas Goyne a9208a592b Update the selection and scroll position after opening subtitles from video 2014-11-22 13:27:06 -08:00
Thomas Goyne 1a4634003f Fix crash on a certain kind of malformed shift times history file 2014-11-22 13:21:58 -08:00
Yuri c2a6c168fb Update Hungarian translation
Closes #1836.
2014-11-22 13:04:02 -08:00
Thomas Goyne 2e7d70edf3 Merge pull request #22 from lachs0r/master
Fix crash in block cache aging
2014-11-11 21:32:46 -08:00
Martin Herkt cf55299017 Fix crash in block cache aging
Bug introduced in e2a11f2d90
2014-11-12 06:21:53 +01:00
Thomas Goyne ea9ee7effa Merge pull request #21 from dwbuiten/srtgoto2
srt: Factor out last goto
2014-11-08 07:59:46 -08:00
Derek Buitenhuis c871aaf153 srt: Factor out last goto
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-11-05 13:56:53 +00:00
Thomas Goyne 3d228536f5 Only update the YCbCr Matrix when resampling if it was actually changed 2014-10-12 15:45:13 -07:00
kotobenko 16a3f38f6d Improve the Ukrainian translation. Closes #1828. 2014-10-12 15:28:53 -07:00
Thomas Goyne ed03cd9735 Fix compilation without fftw3 2014-10-12 15:23:58 -07:00
torque bf1f2ca5c7 Re-rasterize OS X bundle icon.
Rasterized using Inkscape. Fixes the incorrectly blended white fringes
the old icon had at all resolutions below 512x512.

Also includes retina-sized images.
2014-10-12 15:19:56 -07:00
Thomas Goyne 9cd3be4166 Improve the build instructions a bit 2014-09-21 08:23:41 -07:00
Thomas Goyne 66c9872563 Update some out-of-date bits of the README 2014-09-21 08:05:42 -07:00
Thomas Goyne c41e97cec1 Skip the [Aegisub Project Garbage] and [Aegisub Extradata] sections when exporting to ASS 2014-09-20 11:52:44 -07:00
Thomas Goyne 57d66be785 Fix skipping trailing empty segments in re.split 2014-09-20 08:13:49 -07:00
Thomas Goyne 9e6d5d7d9c Optimize Extradata handling a bit 2014-09-06 09:47:29 -07:00
Thomas Goyne 8567d9a573 Use more make_unqiue 2014-08-31 08:11:12 -07:00
Thomas Goyne 9ebb8d7df1 Silence a warning 2014-08-31 08:11:12 -07:00
Thomas Goyne e4368d59e4 Fix loading subtitles extradata from matroska files 2014-08-30 08:11:39 -07:00
Thomas Goyne 158288b66d Merge pull request #19 from darealshinji/patch-1
fix permissions in INSTALL_FLAGS
2014-08-26 14:56:44 -07:00
darealshinji c7dc8664de fix permissions in INSTALL_FLAGS 2014-08-26 08:30:42 +02:00
Thomas Goyne 54a7d43cf1 Use EnumFontFamiliesEx to try to find the correct match when fontconfig gives several options
Fixes collection of ITC Cheltenham, ITC Tiffany, Zurich, Delicious,
Jacoby, Segoe WP, Agilita LT, and a bunch of dumb improperly modified
fonts I have lying around.

Closes #1806.
2014-08-24 16:53:59 -07:00
Thomas Goyne 580386b229 Use FcFontSetSort rather than FcFontSetMatch
For whatever reason FcFontSetMatch sometimes returns something other
than the first result of FcFontSetSort, and every time they different
either FcFontSetMatch is wrong or they're both wrong.

Fixes collection of Adobe Jenson Pro and Arno Pro.
2014-08-24 16:53:54 -07:00
Thomas Goyne 375117c35c Merge pull request #18 from torque/extradata-dedup
Perform extradata deduplication on add.
2014-08-24 16:53:23 -07:00
torque 3c12fc69f3 Perform extradata deduplication on add.
Checks all existing extradata keys and values to ensure that the set
that is being added doesn't already exist.
2014-08-24 12:06:22 -07:00
Thomas Goyne d7fe7e3580 Make SubsController ensure files are non-empty on commit
There have been a bunch of recurring problems with things not handling
zero dialogue lines or zero styles very well, so add one to the file on
commit if needed.

Closes #1814.
2014-08-24 08:02:43 -07:00
Thomas Goyne 9ec4059096 Handle json parsing errors when loading shift times history
Closes #1802.
2014-08-24 07:42:57 -07:00
Thomas Goyne 6159f1587d Update wx
Removes the need for the RTL hacks in BaseGrid as the bugs have been
fixed properly in wx.
2014-08-23 15:56:32 -07:00
Thomas Goyne 416b9809c8 Update boost to 1.56
Closes #1818.
2014-08-16 14:01:58 -07:00
Oleksiy Prytchyn 4958bf3612 Add Ukrainian translation. Closes #1809. 2014-08-11 07:13:18 -07:00
Thomas Goyne 20470ea682 Actually register the SSA subtitle format 2014-08-10 06:52:58 -07:00
Thomas Goyne 5b47758539 Convert the clipboard module to the ffi 2014-07-28 15:52:37 -07:00
Thomas Goyne 97a19d4fe2 Shut up strdup "deprecation" warnings 2014-07-28 15:52:37 -07:00
Thomas Goyne e3c60514cd Add lua argument checker 2014-07-28 12:30:45 -07:00
Thomas Goyne 74a215f642 Convert the re module over to the LuaJIT ffi 2014-07-28 12:30:44 -07:00
Thomas Goyne a01a84fb4f Extract some common ffi API stuff 2014-07-28 12:30:44 -07:00
Thomas Goyne 0cf35894e1 Convert the lfs module to using the ffi 2014-07-28 12:30:44 -07:00
Thomas Goyne 4f08afd808 Convert the unicode lua module over to using the ffi 2014-07-28 12:30:44 -07:00
Thomas Goyne cf252fa91a Add simple type -> type name string compile time reflection stuff
This is needed for passing types to the LuaJIT ffi.
2014-07-28 12:30:44 -07:00
Thomas Goyne 77ecff1cba Eliminate a pointless multimap in the cache cleaner 2014-07-28 12:09:48 -07:00
Thomas Goyne 51b92390b6 Fix a bunch of float <-> double conversion warnings 2014-07-28 12:09:48 -07:00
Thomas Goyne ec407bbd7f Don't use std::min/max in mid()
VC++'s optimizer completely falls down on it for whatever reason.
2014-07-28 12:09:48 -07:00
Thomas Goyne 24b8db522a Remove unused things in block_cache.h 2014-07-28 12:09:47 -07:00
Thomas Goyne e2a11f2d90 Speed up aging the block cache
Keep track of the total size rather than recalculating it every time as
calculating the size actually takes while.
2014-07-28 12:09:47 -07:00
Thomas Goyne 641f1e2e81 Simplify AudioSpectrumCacheBlockFactory a little 2014-07-28 12:09:47 -07:00
Thomas Goyne 7a3110015e Change AudioDisplay::style_ranges to a vector
This is faster in all cases except for repainting a very small part of
the display with a very large number of range transitions and simplifies
the code a bit.
2014-07-28 12:09:47 -07:00
djcj f81736d461 update config.guess and config.sub 2014-07-28 12:08:23 -07:00
djcj 4c09f696d1 add '(Language)' after translated labels as suggested on the forums: http://forum.aegisub.org/viewtopic.php?f=5&t=66925#p91569 2014-07-28 12:08:23 -07:00
Thomas Goyne c9e4cea8ad Fix handling for automation debug formatting errors
One spot was missed when converting stuff over to using error_Tag rather
than lua_error for stack unwinding on errors.
2014-07-26 20:38:56 -07:00
Thomas Goyne eb0cf90433 Ensure the lua state gets closed when running tests
This is required for the gc metamethods to actually get run.
2014-07-23 15:29:55 -07:00
Thomas Goyne de686bdb6f Remove the automation thread priority stuff
It hasn't actually been used for anything for a while, and if a single
normal-priority thread can make your system unresponsive it's time to
upgrade to an OS that's isn't garbage.
2014-07-23 15:29:55 -07:00
Thomas Goyne 0cc941e559 Use wx events for invoking on the main thread on OS X
Dispatching to the main queue with GCD does not work when there is a
modal dialog active.
2014-07-23 15:29:55 -07:00
Thomas Goyne e675cf10da Don't version the executable on Linux
Release branches will continue to use versioned file names, but that
doesn't really make much sense for builds from master.
2014-07-23 15:29:54 -07:00
Thomas Goyne d61a9664c6 Write a BOM at the beginning of subtitles to make unpatched VSFilter happy
Closes #1795.
2014-07-23 15:29:54 -07:00
Thomas Goyne 45b5637e35 Update ffms2 2014-07-23 15:05:58 -07:00
Thomas Goyne d311da75e0 Change LuaJIT's deployment target back to 10.4
Targetting 10.7 makes the error handler segfault, and targetting 10.4
appears to work fine.
2014-07-23 14:53:48 -07:00
Thomas Goyne 97b5163874 Patch os module methods to add Unicode support on Windows 2014-07-15 14:32:54 -07:00
Thomas Goyne 68b824c8ca Patch io.open and io.popen to support Unicode filenames on Windows 2014-07-15 14:32:54 -07:00
Thomas Goyne 584284aa79 Reject vfr timecodes which are all identical 2014-07-15 09:11:40 -07:00
Xabier Aramendi 1835d5e2d8 Update Basque translation
Closes #1791.
2014-07-15 07:15:10 -07:00
Thomas Goyne 897f9d1254 Eliminate some warnings 2014-07-14 10:10:22 -07:00
Thomas Goyne 771525ae6f Make AssFixStylesFilter usable statically
Trivially speeds up ProcFrame as constructing export filters isn't free
due to that it has to look up the translatable strings.
2014-07-14 10:10:22 -07:00
Thomas Goyne 97c59e2630 Fix non-pch compilation 2014-07-14 10:10:22 -07:00
Thomas Goyne 92b8b2851b Don't build the dialogue lexer on every use
Building the lexer takes much longer than actually lexing, and since the
lexer is stateless there's no reason not to just make it static.
2014-07-14 10:10:22 -07:00
Thomas Goyne 706a72d5c1 Eliminate several memory allocations per line when reading thesaurus files 2014-07-14 10:10:21 -07:00
Thomas Goyne 88a089721b Merge pull request #7 from darealshinji/master
Fix compilation with PortAudio enabled
2014-07-12 07:23:57 -07:00
darealshinji 3c772dd649 fix Linux build 2014-07-12 01:31:26 +02:00
Thomas Goyne a9019421f1 Fix memory leak in aegisub.text_extents on Windows
The old object returned by SelectObject has to be made active again
before the DC is destroyed or it doesn't get deleted.
2014-07-11 09:26:59 -07:00
Thomas Goyne 06367d5cd9 Don't convert encoding names to lowercase when writing files
Not only is it unnecessary, but it actively breaks the mapping of
user-friendly encoding names in the Export dialog to the real encoding
names.

Closes #1789.
2014-07-11 09:26:59 -07:00
Thomas Goyne 548fbd814b Fix a use-after-free when a SubsEditCtrl is destroyed while the thesaurus is loading 2014-07-11 09:26:58 -07:00
Thomas Goyne 4dc38447dc Check the return value from lua_open()
It always fails when running under valgrind because valgrind does not
implement mmap functionality that LuaJIT requires.
2014-07-11 09:26:58 -07:00
Thomas Goyne bffbae0ed9 Fix vc++ compilation 2014-07-10 12:55:38 -07:00
Thomas Goyne bf03904fb8 Change the default ffms audio error handling mode to ignore
Truncating the file at the first decoding error seems to cause a lot of
confusion, especially since the UI doesn't mention that it happened
anywhere.
2014-07-10 11:44:57 -07:00
Thomas Goyne 2df4c4c194 Use wxDCFontChanger correctly
Fixes the audio display timeline font changing based on what else is
being painted.
2014-07-10 11:44:56 -07:00
Thomas Goyne a5c2ef273f Add tests for floating point sample conversion 2014-07-10 11:44:56 -07:00
Thomas Goyne 63de3232f7 Add test for channel downmixing 2014-07-10 11:44:56 -07:00
Thomas Goyne f32bdff84a Add tests for the sample doubling converter and make it work correctly 2014-07-10 11:44:56 -07:00
Thomas Goyne 93ad15efb1 Reuse the decoding buffer in the audio converters 2014-07-10 11:44:56 -07:00
Thomas Goyne b9c75d8706 Add tests for the audio bitdepth conversions
And fix some bugs in it, and make it not rely on undefined behavior.
2014-07-10 11:44:56 -07:00
Thomas Goyne 585e9489d9 Move some of the audio provider machinery to libaegisub
And add tests.
2014-07-10 11:44:56 -07:00
Thomas Goyne e942a7f0f7 Fix int overflow when saving audio clips 2014-07-08 16:38:33 -07:00
Thomas Goyne e713f741a4 Make some functions static 2014-07-08 16:38:16 -07:00
Thomas Goyne e60197962a Fix buffer overflow when getting text extents
lfFaceName needs to be null-terminated, so only copy up to 31 characters
into the buffer.
2014-07-08 09:23:19 -07:00
Thomas Goyne 8a5b4ae3a3 Fix keycode mapping for backspace, enter, tab and escape 2014-07-08 09:23:19 -07:00
Thomas Goyne a58ed7343d Add Aegisub's include dirs before the system ones rather than after 2014-07-07 09:42:02 -07:00
Thomas Goyne a11da3350c Save a backup copy of the old hotkey file if migrating from the old format 2014-07-07 09:42:02 -07:00
Thomas Goyne 365c04333c Install the unicode-compatible Lua module loader before loading moonscript
Closes #1760.
2014-07-07 09:23:36 -07:00
Thomas Goyne 6c0752035c Slightly optimize AssDialogue serialization 2014-07-07 08:40:38 -07:00
doplank 3844a1cb80 Update Indonesian translation 2014-07-07 08:40:38 -07:00
Thomas Goyne 5a14b36389 Remove unused test util functions 2014-07-06 19:25:49 -07:00
Thomas Goyne 935c6bc3a7 Store hotkeys in a less dumb format 2014-07-06 19:25:49 -07:00
Thomas Goyne 033baed930 Add simple tests for agi::Split 2014-07-06 19:25:49 -07:00
Thomas Goyne 2757ebd94f Add character counter tests 2014-07-06 19:25:49 -07:00
Thomas Goyne 3b34ed9a77 Move AssTime to libaegisub and add tests 2014-07-06 19:25:49 -07:00
Thomas Goyne ba0e544d70 Swallow spam from coveralls submission 2014-07-06 19:25:49 -07:00
Thomas Goyne 8c7fd37aa9 Clean up the SRT reader/writer a bit 2014-07-06 19:25:49 -07:00
Thomas Goyne 8576c4993f Fix SRT timestamp parsing 2014-07-06 19:25:48 -07:00
Thomas Goyne dd70da35d4 Remove some cruft from the fonts collector 2014-07-06 19:25:48 -07:00
Thomas Goyne e924db1fda Store open dialogs in an unsorted vector
Even if every dialog in the program was open at once, linearly searching
a vector is quite fast enough.
2014-07-06 19:25:48 -07:00
Thomas Goyne f0f836c47b Eliminate a pointless std::map in charset_conv 2014-07-06 19:25:48 -07:00
Thomas Goyne a22dd0f9ca Clean up the json parser a little 2014-07-06 19:25:48 -07:00
Thomas Goyne d9016cc8ea Debloat and slightly speed up the MRU code 2014-07-06 19:25:48 -07:00
Thomas Goyne 518342b919 Make the hotkey code a bit less bloated 2014-07-06 19:25:48 -07:00
Thomas Goyne c0c05e982a Support passing a test filter to make test 2014-07-04 21:14:29 -07:00
Thomas Goyne 7cafee39fc Exclude the Windows-specific files from coveralls 2014-07-04 20:37:36 -07:00
Thomas Goyne df8ad34838 Eliminate pointless runtime datastructures for CalltipProvider
And add some tests and make it actually work correctly.
2014-07-04 20:37:36 -07:00
Thomas Goyne 93522e30a8 Use a static table of tokens for agi::Path
The set of possible tokens is fixed, so using std::map is a bunch of
pointless overhead (that turns out to not even really simplify the
code).
2014-07-04 20:37:36 -07:00
Thomas Goyne 6fab17d860 Add basic tests for lfs 2014-07-04 10:52:38 -07:00
Thomas Goyne 9befa29707 Don't exclude tests dir from coverage information 2014-07-04 08:45:05 -07:00
Thomas Goyne 830b54ec69 Build in debug mode on travis 2014-07-04 08:41:57 -07:00
Thomas Goyne 7dc8dd6075 Install moonscript for busted on travis 2014-07-04 08:41:57 -07:00
Thomas Goyne 771ce976cc Use the boost 1.55 tarball on travis since cloning the repo takes forever 2014-07-04 07:51:56 -07:00
Thomas Goyne 5d92024201 Exclude more stuff from coveralls to cut down on noise 2014-07-04 07:21:55 -07:00
Thomas Goyne 6ce9ce1546 Remove unused helper function 2014-07-03 10:57:53 -07:00
Thomas Goyne 2f0ddb4f32 Improve the line_iterator tests 2014-07-03 10:57:53 -07:00
Thomas Goyne 14969ec2ea Submit code coverage information to Coveralls 2014-07-03 10:57:53 -07:00
Thomas Goyne d56868e820 Fiddle with the dependency info for libresrc to hopefully work better 2014-07-02 18:20:11 -07:00
Thomas Goyne 3832f700c5 Eliminate race condition in fs::Touch test 2014-07-02 18:20:11 -07:00
Thomas Goyne 92958a874b Add travis CI support 2014-07-02 18:20:11 -07:00
Thomas Goyne 3ddafcd34a Disable iconv tests that require on libiconv functionality when not using libiconv 2014-07-02 18:20:10 -07:00
Thomas Goyne c804042978 Fix test compilation with gcc 2014-07-02 18:20:10 -07:00
Thomas Goyne c5bffa9352 Fix failing path test on Linux 2014-07-02 18:20:10 -07:00
Thomas Goyne 1c94439909 Support running setup.sh out-of-tree 2014-07-02 10:55:19 -07:00
Thomas Goyne a084f02a2d Fix a case where the found text would not be selected with find/replace
SubsTextEditCtrl::SetTextTo needs to update the selection via the text
selection controller or the text selection controller will have an
outdated cached state until the UpdateUI event is processed, which
soemtimes resulted in it not actually setting the selection when it
needed to be.
2014-07-01 20:16:17 -07:00
Thomas Goyne abcd2bd61b Modernize the EBU STL writer a bit 2014-07-01 20:16:17 -07:00
电脑迷 ce503a1fb5 Update Chinese translations. Closes #1779. 2014-07-01 12:25:36 -07:00
Thomas Goyne 97a7b74dea Update fontconfig 2014-07-01 12:25:36 -07:00
Thomas Goyne 0f42155ca2 Make all of the syntax highlighter colors customizable
Closes #1782.
2014-07-01 12:25:22 -07:00
Thomas Goyne 71b74a6e86 Remove -D__STDC_FORMAT_MACROS from CXXFLAGS
The inttypes defines are no longer used anywhere due to that agi::Format
doesn't require them.
2014-07-01 12:22:39 -07:00
Thomas Goyne c1a7ba0009 Merge pull request #13 from dwbuiten/goto1
srt: Factor out a goto statement
2014-06-30 13:08:14 -07:00
Derek Buitenhuis 14f9814bba srt: Factor out a goto statement
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-30 17:05:30 +01:00
Thomas Goyne e1d56f9294 Update all selected lines when dragging the origin in the rotate tools 2014-06-29 11:42:55 -07:00
Thomas Goyne 5989226422 Fix crash when loading video from drag&drop is cancelled 2014-06-29 11:42:46 -07:00
Thomas Goyne a38793497f Drop support for the DirectX SDK and require the Windows 8 SDK for DirectSound 2014-06-29 10:45:27 -07:00
Thomas Goyne e53b2dab6b Eliminate a string copy for @ fonts in the fonts collector 2014-06-29 10:45:27 -07:00
Thomas Goyne c50d80cf24 Fix enabling/disabling the default script resolution edit boxes in the preferences dialog 2014-06-29 10:45:26 -07:00
Thomas Goyne 3ef728405d Add -DBOOST_SYSTEM_NO_DEPRECATED to Boost's CPPFLAGS 2014-06-29 10:45:26 -07:00
Thomas Goyne dbf144812b Fix failing path tests on OS X 2014-06-29 10:45:26 -07:00
Thomas Goyne 4c88449e4c Make UnknownElement moveable and not copyable
And remove the unused comparison functionality.
2014-06-29 10:45:26 -07:00
Thomas Goyne 4c0e578eda Rewrite the remaining bits of json::Writer 2014-06-29 10:45:26 -07:00
Thomas Goyne bc410a99f6 Change the in-memory storage of options to a sorted vector 2014-06-29 10:01:00 -07:00
Thomas Goyne 13fe4fe9ff Actually load the platform config rather than the default config twice 2014-06-28 19:49:39 -07:00
Thomas Goyne c9608ab610 Remove an exception not used for anything useful 2014-06-28 19:49:39 -07:00
Thomas Goyne b7a8dea753 Remove a pointless static bool 2014-06-28 19:49:39 -07:00
Thomas Goyne 6fec035958 Regenerate aegisub.pot 2014-06-27 11:20:04 -07:00
Thomas Goyne 481f9e42a7 Fix the path to the desktop file in make_pot.sh 2014-06-27 11:20:03 -07:00
Thomas Goyne dab67c6267 Enable the Apply button in the preferences dialog after a color is changed 2014-06-27 11:15:48 -07:00
Thomas Goyne 4accc988b3 Make the main edit box's background color customizable
Closes #1042.
Closes Aegisub/Aegisub#12.
2014-06-27 11:15:48 -07:00
Thomas Goyne ce629c2393 Add the help page for the resolution mismatch dialog 2014-06-27 11:15:48 -07:00
Thomas Goyne 6e40f4f920 Don't automatically select all control handle in the vector clip tool
This was originally done because there was no easy way to select them
all otherwise, but box selection of handles has been supported for a
while now.
2014-06-26 17:24:54 -07:00
Thomas Goyne e48e8cef84 Load files dropped on the window asynchronously 2014-06-26 17:24:54 -07:00
Thomas Goyne 6a3a401f57 Update fontconfig 2014-06-26 16:50:54 -07:00
Thomas Goyne b8f20dfe49 Add a custom stream IO implementation for Freetype
Freetype expects its IO to perform like mmap (i.e. seeking to be free),
but the non-unix implementation uses fseek and fread. This
implementation simply reads the entire file into a buffer, as fonts
generally aren't very big.

Cuts the time to recreate the fontconfig cache on my machine by about
60%.
2014-06-26 16:50:54 -07:00
Thomas Goyne 99cf941edd Trim a bit more out of the ICU data files 2014-06-26 16:50:43 -07:00
Thomas Goyne 03443818f0 Pass UTF-8 paths to hunspell now that it supports them 2014-06-26 16:50:43 -07:00
Thomas Goyne 3c57dda9ac Update to hunspell 1.3.3 2014-06-26 16:50:43 -07:00
Thomas Goyne 41b08628bc Update ffms2 2014-06-24 13:14:21 -07:00
Thomas Goyne 5816af6c01 Disable RTTI for ffms2, hunspell, and universalchardet
They don't actually use it so it's just pointless bloat.
2014-06-24 13:14:21 -07:00
Thomas Goyne 69781f0a88 Enable compression for the 256x256 icon
Bumps 200KB off the executable.
2014-06-24 13:14:20 -07:00
Thomas Goyne 4861287332 Remove the in-repo copy of the fontconfig config files
And just copy them from the fontconfig installation being used.
2014-06-24 09:06:32 -07:00
Thomas Goyne 0153987e02 Eliminate warnings in lpeg 2014-06-24 09:06:32 -07:00
Thomas Goyne 6661c6a808 Fix use-after-frees when opening files from the MRU lists
Pass the paths to open by value to avoid ending up with a dangling
reference to a path stored in the MRU list which has been invalidated by
adding or removing items.

Closes #1777.
2014-06-23 16:40:43 -07:00
Thomas Goyne 4ce1283bbb Fix handling of thesaurus words with only a single suggestion
When there's only one suggestion for a given word the part of speech
appears in the suggested replacement, which needs to be stripped.

Closes #1776.
2014-06-23 16:40:43 -07:00
Thomas Goyne 5ece2e534c Merge pull request #6 from darealshinji/patch-1
fix icons target dir on Linux
2014-06-21 16:23:16 -07:00
darealshinji 5496544984 fix icons target dir on Linux
The /usr/share/icons/hicolor/*x*/ directories contain only subfolders.
2014-06-21 17:05:42 +02:00
Thomas Goyne 961e6dab88 Select the last token when double-clicking past the end of the text in the edit box 2014-06-20 10:45:13 -07:00
Lasse Liehu 790d52b113 Update Finnish translation
Closes #1774.
2014-06-19 09:17:27 -07:00
Thomas Goyne 5f981e40f1 Add dependency on libresrc headers to all of the src objects 2014-06-17 20:48:59 -07:00
Thomas Goyne 68eaab0f43 Convert the build system to non-recursive make
Speeds up a no-op build from 500ms to 60ms and significantly improves
dependency tracking.
2014-06-17 11:37:20 -07:00
Thomas Goyne cb71a3d05d Fix saving audio clips
Actually write all of the samples rather than half of them.
2014-06-15 17:17:15 -07:00
Thomas Goyne 5f9fc95fb4 Always update the rendered subtitles for non-dialogue changes
Closes #1770.
2014-06-15 17:17:15 -07:00
Thomas Goyne 23f6addf35 Close the detached video dialog when video is closed 2014-06-15 17:17:15 -07:00
Thomas Goyne 7780fadfc6 Fix restarting the application after changing the UI language on OS X 2014-06-14 06:51:53 -07:00
Thomas Goyne ebb13d96ec Add the restart helper binary to the application bundle, not the source file 2014-06-14 06:51:53 -07:00
Thomas Goyne 62c28ce0d3 Avoid pointless repaints of the grid when seeking video
Keep track of which lines are displayed on the current video frame so
that video seeks only have to repaint the grid when the set actually
changes. Speeds up video playback on non-fbf stuff by ~15%.
2014-06-12 17:06:25 -07:00
Thomas Goyne 633fa0e4d7 Only repaint the video slider on seek if the thumb will actually move
Cuts CPU usage for playback in totally arbitrary circumstances by about
5%.
2014-06-12 17:06:25 -07:00
Thomas Goyne 4bdccb889c Reuse buffers for video frames
At least on OS X, allocating the buffers is one of the more expensive
parts of video playback, and on an arbitrary 720p H.264 file with simple
subtitles this cuts CPU usage while playing by about 30%.
2014-06-12 17:06:25 -07:00
Thomas Goyne a574d6ac67 Speed up AsyncVideoProvider::UpdateSubtitles a bit
Adding Row to AssDialogue removes the need to loop over the file to find
out what rows changed.
2014-06-12 17:06:25 -07:00
Thomas Goyne 2508dd9c6e Only scroll the grid to the active line if the row has actually changed
Makes it so that undo/redo only scrolls to the active line if it's
different in the two versions of the file.
2014-06-12 17:06:25 -07:00
Thomas Goyne f24a72d8fc De-wxString HelpButton 2014-06-11 12:52:30 -07:00
Thomas Goyne 8e36b69ef1 Update manual URL for 3.2 2014-06-11 12:52:30 -07:00
Thomas Goyne 87f99876c6 Eliminate some repeated iequals 2014-06-11 12:52:30 -07:00
Thomas Goyne 7de5fbac92 Eliminate all remaining places where strings are thrown as exceptions
Closes #916.
2014-06-11 12:52:30 -07:00
Thomas Goyne 789ff25f27 Remove some exceptions not used for much of anything 2014-06-11 12:52:30 -07:00
Thomas Goyne cfd2698b03 Use NSSpellChecker rather than hunspell on OS X
Main benefit is it removes the need to ship 50 MB of dictionaries.
2014-06-11 12:33:09 -07:00
Thomas Goyne 6500b379bd Remove all distfile stuff from the build system
It's unused and out of date.
2014-06-09 17:20:56 -07:00
Thomas Goyne 168cb8d7ef Move the desktop dir under the packages dir 2014-06-09 17:20:56 -07:00
Thomas Goyne b777cae2fe Fix crash on invalid extradata from automation 2014-06-09 17:20:56 -07:00
Thomas Goyne 831fbcd9a0 Fix crash when an extradata entry is used by more than one line 2014-06-09 17:20:56 -07:00
Thomas Goyne ac7161cd08 Revert 50dfa1cd42 for wxGTK
wxGTK has the opposite problem as OS X: GetValue returns the new value,
but the change event has the old value.
2014-06-08 08:00:11 -07:00
Thomas Goyne 056a775751 Set ?dictionary to the correct thing on OS X. Closes #1766. 2014-06-08 08:00:11 -07:00
Thomas Goyne 882e6894ff Use GCD on OS X rather than boost.asio for the thread pool 2014-06-07 08:48:40 -07:00
Thomas Goyne aae82f01e9 Set the margin controls in the style editor to the correct initial values 2014-06-07 08:48:40 -07:00
Thomas Goyne ce29d07113 Remove an entirely pointless GUI-thread-blocking call to GetFrame 2014-06-07 08:48:40 -07:00
Thomas Goyne f38ba33fed Eliminate some pointless rerenders of the video display
If the frame number hasn't changed and none of the currently visible
lines have changed, there's no need to rerender the subtitles and
redisplay the frame. Mostly helps with very slow opengl implementations
where actually painting the video display is expensive, as the rendering
is done on a background thread anyway.
2014-06-07 08:48:39 -07:00
Thomas Goyne 556d655c0b Update ffmpeg, ffms2, libass 2014-06-06 12:08:51 -07:00
Thomas Goyne 5e54a342e4 Fix the Select All button in the import styles dialog 2014-06-06 12:08:41 -07:00
Thomas Goyne ce358c1367 Move global_scripts to options.h
Not the perfect place for it by any means, but that's where the rest of
the application-global stuff is these days and it removed the need for
automation stuff to include main.h (and thus all the wxApp garbage).
2014-06-06 12:08:41 -07:00
Thomas Goyne 07cf50f7d3 Use non-deprecated wxIMPLEMENT_APP 2014-06-06 12:08:40 -07:00
Thomas Goyne 392c9ea35a Catch std::exceptions thrown during startup 2014-06-06 12:08:40 -07:00
Thomas Goyne 62d64e0949 Update wxWidgets 2014-06-05 12:03:56 -07:00
Thomas Goyne 5009e6f497 Add clang PGO files to .gitignore 2014-06-05 12:03:30 -07:00
Thomas Goyne 04efe2edfb Delete osx-run.sh
wxWidgets now supports running from outside application bundles, so it's
no longer needed.
2014-06-05 08:35:50 -07:00
Thomas Goyne 421d5ca52e Add #ifdef __cplusplus to the precompiled headers to make Xcode happy 2014-06-05 08:35:50 -07:00
Thomas Goyne 50dfa1cd42 Fix issues with selected line styles with the keyboard on OS X
Opening the style list dropdown and switching between values with the
arrow keys doesn't update the value returned from ctrl->GetValue() on
OS X, but the event contains the correct value so use that instread.
2014-06-05 08:35:50 -07:00
Thomas Goyne 238110e799 Set minimum widths for the columns of the hotkeys editor on OS X
The OS X implementation makes very poor choices for the default widths
if given the opportunity.
2014-06-05 06:33:03 -07:00
Thomas Goyne fffb138b81 Add IME support on OS X
Closes #1247, #1672, #1695.
2014-06-04 14:29:37 -07:00
Thomas Goyne acdc0e7cba Use less std::set 2014-06-04 14:15:27 -07:00
Thomas Goyne 9133293869 Use less std::bind 2014-06-04 14:15:27 -07:00
Thomas Goyne 745aa8fef0 Use less wxString in HotkeyDataViewModel 2014-06-04 14:15:26 -07:00
Thomas Goyne 970dd96959 Delete unused variable 2014-06-04 14:15:26 -07:00
Thomas Goyne 460b806038 Use non-deprecated wxFONT/wxPEN constants 2014-06-04 14:15:26 -07:00
Thomas Goyne d3484e7382 Get the end time of the last line in a less dumb way 2014-06-04 14:15:26 -07:00
Thomas Goyne f7532ff1ef Actually use the ?dictionary token. Closes #1761. 2014-06-04 14:15:26 -07:00
Thomas Goyne 47303007eb Remove the ?docs token
It's not actually used anywhere and not even set on Windows.
2014-06-04 14:15:26 -07:00
Thomas Goyne 0bf93ec263 Fix a bunch of crashes in the vector clip tool 2014-06-03 10:07:35 -07:00
Thomas Goyne 5fcb287ed0 Fix saving images with subtitles for frames other than the first 2014-06-03 07:21:07 -07:00
Thomas Goyne 4e5b81973b Set the initial audio volume when opening audio 2014-06-03 07:21:07 -07:00
Thomas Goyne e6d7c4547a Fix compilation of the portaudio player 2014-06-03 07:21:07 -07:00
Thomas Goyne b42086fdfd Use the customized default styles for SRT files opened from matroska 2014-06-02 13:02:06 -07:00
Thomas Goyne e061ac8755 Pull even more of the subs load logic into Project
The relative order of the on-file-load logic matters, so signals don't
work very well for it. Doing it all explicitly in Project fixes a bunch
of inconsistent issues related to restoring saved state.

Closes #1759.
2014-06-02 13:02:06 -07:00
Thomas Goyne 3bd6c302c3 Add a bunch of missing project references 2014-06-02 13:02:05 -07:00
Thomas Goyne 9f8a648017 Disable a bunch of ICU stuff we don't use
Bumps ~800KB off the executable (and 100MB off icu.lib).
2014-06-02 13:02:05 -07:00
Thomas Goyne 917913b0ef Flush the clipboard before closing it, not after 2014-06-02 13:02:05 -07:00
Thomas Goyne ff9beb850c Build wx without iostream support 2014-05-31 08:11:32 -07:00
Thomas Goyne 193b30af86 Eliminate a bunch of entirely pointless OptionPage subclasses 2014-05-31 08:11:32 -07:00
Thomas Goyne 76f0afecaf Eliminate pointless wxDialog subclasses
A lot of the wxDialog subclasses don't actually override any virtual
functions, so there's no particular need for them to be subclasses at
all, and wxDialog's vtable is so huge that they actually contribute
measureable to the size of the executable.
2014-05-31 08:11:32 -07:00
Thomas Goyne fb27c98ddd Update wxWidgets 2014-05-30 13:24:58 -07:00
Thomas Goyne 060536824b Kill ScintillaTextCtrl and just always use the UTF-8 methods
Trivially improves performance and reduces the opportunities for wxSTC
to fuck up.
2014-05-30 13:24:38 -07:00
Thomas Goyne e6b495dc1b Enable ffmpeg's png decoder 2014-05-30 13:24:38 -07:00
Thomas Goyne db3452bcde Disable decoders for dumb rarely-used formats which have huge data tables 2014-05-30 13:24:38 -07:00
Thomas Goyne fa68b5ee1a Fix compilation with UTF-8 wxString 2014-05-30 11:53:15 -07:00
Thomas Goyne eebd1dba21 Use iconv rather than std::wstring_convert
libstdc++ 4.8 does not have <codecvt>.
2014-05-30 11:53:15 -07:00
Thomas Goyne 59489b8f8c Extract some of the string formatter implementation to format.cpp 2014-05-30 11:53:15 -07:00
Thomas Goyne 37c02ae127 Replace wxString::Format with agi::format
It's modestly faster, significantly more type-safe, and doesn't assert
when there's too few arguments, which causes problems for plural forms.

Closes #1733.
2014-05-30 11:53:14 -07:00
Thomas Goyne 8d26c66d0f Remove a bunch of unused functionalty from agi::Exception 2014-05-30 11:53:14 -07:00
Thomas Goyne b43788fa7f Replace boost::format with agi::format
boost::format is slow to compile, slow to run, and has an unpleasant
interface.
2014-05-30 08:30:31 -07:00
Thomas Goyne 8ba286c544 Fix moving files to the front of the MRU list 2014-05-30 08:30:31 -07:00
Thomas Goyne 72748d45f7 Fix crash on v1 timecode files with zero override ranges 2014-05-30 08:30:31 -07:00
Thomas Goyne e75fc089d3 Don't error on truncated wave files 2014-05-27 06:42:47 -07:00
Thomas Goyne 59a680e6e1 Fix saving audio clips from lines 2014-05-27 06:42:46 -07:00
Thomas Goyne dfec6b73b7 Use free() on data returned by Hunspell, not delete 2014-05-27 06:42:46 -07:00
Thomas Goyne eec83bb32b Cut down on FileNotFound exceptions thrown on startup 2014-05-27 06:42:46 -07:00
Thomas Goyne d08f4e73b4 Only check for permissions if opening a file fails 2014-05-27 06:42:46 -07:00
Thomas Goyne ac5f40a543 Fix \N handling in EBU STL export 2014-05-27 06:42:46 -07:00
Thomas Goyne 02ca3360ca Handle missing recently used subtitle files better 2014-05-26 09:34:20 -07:00
Thomas Goyne 960dc3723b Don't get the duration from the audio controller on audio open
The audio controller's provider may not have been updated yet.
2014-05-26 09:34:20 -07:00
Thomas Goyne cca97a58f6 Fully initialize the video when it's opened via drag-and-drop 2014-05-26 09:34:20 -07:00
Thomas Goyne 4da1443194 Store connected slots in a vector rather than a map 2014-05-26 09:34:20 -07:00
Thomas Goyne 81b942ea6e Update agi_pre.h 2014-05-26 09:34:20 -07:00
Thomas Goyne 6c685daf98 Ditch boost.circular_buffer
It drags in a ton of crap, is kinda slow at runtime due to using
std::deque, and doesn't actually make the code much simpler than just
using a manual ring buffer.
2014-05-26 09:34:19 -07:00
Thomas Goyne 1f7c47239b Replace timeval junk with std::chrono 2014-05-26 09:34:19 -07:00
Thomas Goyne 650cfcb043 Remove a bunch of unused crap from lagi_pre.h 2014-05-26 09:34:19 -07:00
Thomas Goyne 50f2e550e2 Use std::thread with libc++
boost::thread is only used due to libstdc++ 4.8 missing a bunch of
stuff.
2014-05-26 09:34:19 -07:00
Thomas Goyne 6477ef933b Use std::to_string rather than boost::lexical_cast 2014-05-26 09:34:19 -07:00
Thomas Goyne 41297e5ace Remove non-spirit uses of boost.phoenix
The slightly more concise code is not worth the compilation speed hit.
2014-05-26 09:34:19 -07:00
Thomas Goyne fed99649e9 Cut down on pointless uses of std::list 2014-05-26 09:34:19 -07:00
Thomas Goyne c0d3ecb6c2 Change Spline to a std::vector 2014-05-26 09:34:18 -07:00
Thomas Goyne 8ec9280ecc Change most uses of deques to vectors 2014-05-26 09:34:18 -07:00
Thomas Goyne 20a7ec786f Use initializer lists rather than std::make_pair 2014-05-26 09:34:18 -07:00
Thomas Goyne 4f65f79f1e Remove some pointless std::moves 2014-05-26 09:34:18 -07:00
Thomas Goyne 4598a23485 Fix the paste over dialog 2014-05-24 07:41:17 -07:00
Thomas Goyne b370e1af53 Stop video playback when seeking due to switching active lines 2014-05-24 07:41:17 -07:00
Thomas Goyne d73790805a Fix reloading the video provider after settings changes 2014-05-24 07:41:16 -07:00
Thomas Goyne 9ca61a2fb5 Delete unused stuff in the pulseaudio player 2014-05-24 07:41:16 -07:00
Thomas Goyne 55865d131a Add a missing check for if the video has an audio track 2014-05-23 13:03:10 -07:00
Thomas Goyne 99b46f6a14 Fix restoring video position from saved project info 2014-05-23 13:03:10 -07:00
Thomas Goyne d004fc1856 Improve ALSA playback position reporting
Use std::chrono since it's a nicer API. Use a separate lock for playback
position so that the GUI thread isn't blocked for hundreds of ms while
snd_pcm_drain is waiting, and update the playback position after
decoding audio rather than before to avoid it being significantly wrong
when not using a cache.
2014-05-23 13:03:10 -07:00
Thomas Goyne e36ecbde49 Reuse a decoding buffer for ALSA rather than constantly allocating new ones 2014-05-23 13:03:10 -07:00
Thomas Goyne 1bf6197869 Use std::thread rather than pthreads for AlsaPlayer 2014-05-23 13:03:10 -07:00
Thomas Goyne c2b8892b33 Use unique_ptr in AlsaPlayer 2014-05-23 13:03:10 -07:00
Arslanoglou Georgios b9a683eeb2 Update Greek translation. Closes #1526. 2014-05-23 07:47:27 -07:00
Thomas Goyne 9a3f5ce905 Add a BOM to fragment_strings.iss
InnoSetup doesn't read it as UTF-8 without one.
2014-05-23 07:47:27 -07:00
Thomas Goyne 9d3067ae75 Return absolute paths for files in project_properties() 2014-05-23 07:28:26 -07:00
Thomas Goyne 384f87f399 Use more plural forms for translatable strings 2014-05-23 07:28:25 -07:00
Thomas Goyne 60fd44163e Don't clear project properties on undo/redo 2014-05-23 07:28:25 -07:00
Thomas Goyne 40ac2f9b44 Fix crash when opening video
If video was previously open and the user chooses to resample the script
for the new video, VideoController would try to update the subs for the
now-deleted old provider.
2014-05-23 07:28:25 -07:00
Thomas Goyne e2754bcd90 Make video providers report whether their file has audio tracks
Fixes errors when trying to automatically open audio from dummy video
and improves UX a little by disabling the Open Audio From Video menu
item when there are no audio tracks.
2014-05-23 07:28:25 -07:00
Thomas Goyne 692b354713 Don't compile the FFT code if FFTW is enabled 2014-05-23 07:28:25 -07:00
Thomas Goyne e0b8c21590 Use unique_ptr for AudioWaveformRenderer's decode buffer 2014-05-23 07:28:25 -07:00
Thomas Goyne 09e325a1c3 Clean up unused includes 2014-05-23 07:28:24 -07:00
Thomas Goyne df406d5452 Fix compilation with GCC 2014-05-22 14:58:39 -07:00
Thomas Goyne 2bf23af00a Remove a lot of pointless headers for dialogs
Most of the dialogs in Aegisub have a public interface consisting of a
single function, so there's really no need to expose the actual dialog
classes to the rest of the program. Add dialogs.h with the declarations
of all of those functions (most of which are just ShowFooDialog()), and
kill a million other headers.
2014-05-22 14:58:39 -07:00
Thomas Goyne 49357eec20 Add missing subs_controller.h include for release builds 2014-05-22 09:54:59 -07:00
Thomas Goyne 9ae9da4aab Support loading keyframes and timecodes files via drag-and-drop
Closes #1749.
2014-05-22 09:29:16 -07:00
Thomas Goyne de2e1e23de List the files to be (un)loaded in the Load/Unload files dialog
Updates #880.
2014-05-22 09:29:16 -07:00
Thomas Goyne aa21b3d77d Add aegisub.project_properties()
Returns a table with all of the project metadata junk that used to be in
the script info section of the file.

Closes #1747.
2014-05-22 09:29:16 -07:00
Thomas Goyne 6a8958f287 Delete the Clean Script Info macro
It doesn't actually do anything anymore.
2014-05-22 09:29:15 -07:00
Thomas Goyne 9c7119fdc2 Redesign how project metadata is stored in the file
Remove it from the script info section and put it in its own section
that isn't tracked by undo and make it not stringly typed. Removes the
need for the gross hack where changes are slipped in just before saving
to circumvent the undo system, cuts down on the uses of string literals
to identify fields, and probably improves performance a little.
2014-05-22 09:29:15 -07:00
Thomas Goyne 19e8f19e52 Redesign project file handling
Add a new Project class which is responsible for everything related to
opening and closing audio, video, subtitles, timecodes and keyframes.
This pulls almost everything not directly related to playing audio/video
out of the audio and video controllers, pulls more crap out of
FrameMain, and happens to make things a little simpler in the process.
2014-05-22 09:29:12 -07:00
Thomas Goyne a345b8c4d5 Undelete the script resolution mismatch option from default_config 2014-05-22 06:14:59 -07:00
Thomas Goyne deaf833605 Preserve alpha when resampling style colors 2014-05-22 06:14:56 -07:00
Thomas Goyne 5830fc4225 Don't limit CodecPrivate to 256KB 2014-05-20 09:46:58 -07:00
Thomas Goyne f522d4df8a Update ffms2 2014-05-20 09:46:58 -07:00
Thomas Goyne 5f4d6ad386 Return zero bytes when MatroskaFile asks for data past the end of the file 2014-05-20 09:46:57 -07:00
Thomas Goyne 53f02d33a6 Fix a bunch of warnings when building with gcc on linux 2014-05-20 09:46:57 -07:00
Thomas Goyne 291437eed6 Handle ftruncate failures 2014-05-20 09:46:57 -07:00
Thomas Goyne c2455cccb6 Enable loading audio when opening video by default
Main reason not to do this was that loading audio blocked the UI, which
has now been fixed, and having to separately load audio confuses
beginners.
2014-05-20 09:46:57 -07:00
Daniel Mota 6b8c1ff2b2 Update pt_PT.po 2014-05-19 19:35:34 -07:00
Thomas Goyne 7645b447be Set the correct variable for whether to commit subs after opening video 2014-05-19 19:32:25 -07:00
Thomas Goyne 6edb38501b Update the YCbCr matrix used by the video display when the header is changed 2014-05-19 19:32:25 -07:00
Thomas Goyne ad33fdb109 Add color matrix conversion to the resolution resampler 2014-05-19 19:32:25 -07:00
Thomas Goyne 7a06e08ad0 Use ycbcr_converter in YUV4MPEGVideoProvider 2014-05-19 19:32:25 -07:00
Thomas Goyne cddefd8ed9 Add RGB <-> YCbCr conversion stuff to libaegisub 2014-05-19 19:32:25 -07:00
Thomas Goyne 9774352a77 Fix compilation with gcc 4.8. Closes #1756. 2014-05-19 06:53:44 -07:00
Thomas Goyne a376ed90b9 Insert \\N on shift-enter in the edit box 2014-05-18 07:50:23 -07:00
Thomas Goyne 2cf35b5043 Force-enable native TLS in wxWidgets
It is off by default on Windows due to that it breaks if a wx-using
library is loaded with LoadLibrary on XP, but that is not a use-case we
care about.
2014-05-17 18:32:04 -07:00
Thomas Goyne 402aa509a0 Fix non-pch compilation 2014-05-17 18:01:41 -07:00
Thomas Goyne d0ce26d7df Add an option to resample the script to the resolution mismatch dialog
Closes #1382.
2014-05-17 18:01:41 -07:00
Thomas Goyne 32fae528b0 Don't try to shift line margins that are 0 2014-05-17 18:01:41 -07:00
Thomas Goyne c78db67cba Round negative drawing coordinates correctly 2014-05-17 18:01:41 -07:00
Thomas Goyne 229b6cf63d Fix resampling drawings with AR changes
The shift from margins should be applied only to the line's position,
not to each point in the drawing, and the scale needs to compensate for
that the scale on the style is being changed as well.
2014-05-17 18:01:41 -07:00
Thomas Goyne 0f030c45f3 Make AR-changing resampling more user-friendly
Add modes where the borders to add or remove are automatically
calculated rather than forcing the user to do it manually, and hopefully
make it a bit clearer what exactly will happen.
2014-05-17 18:01:41 -07:00
Thomas Goyne 7e2780f57a Make both source and destination resolution overridable in the resampler 2014-05-17 18:01:40 -07:00
Thomas Goyne 6886436ddc Add YCbCr Matrix to the script properties dialog 2014-05-17 18:01:40 -07:00
电脑迷 207a78fa1e Update Chinese translations. Closes #1755. 2014-05-17 18:01:40 -07:00
Thomas Goyne d5ff5eaf5f Update fontconfig 2014-05-17 18:01:40 -07:00
Thomas Goyne 26cfd3ecbd Add missing check for if the context has been initialized in the crash handler 2014-05-15 12:07:46 -07:00
Thomas Goyne 796f26c008 Ask whether to check for updates in the installer
Gets rid of the last annoying modal dialog on first startup.
2014-05-15 12:07:46 -07:00
Thomas Goyne 1049b2d140 Make the "Create a start menu icon" string translatable 2014-05-15 11:09:42 -07:00
Thomas Goyne 79fd39d6ca Default to the language selected in the installer 2014-05-15 11:09:38 -07:00
Thomas Goyne 79c2634f2b Regenerate aegisub.pot 2014-05-15 10:09:32 -07:00
Thomas Goyne d741c55725 Extract installer strings for translation 2014-05-15 10:09:32 -07:00
Thomas Goyne 0a1660c03b Add version information to the windows executable
Closes #913.
2014-05-15 08:39:09 -07:00
Thomas Goyne 8a49cf1c34 Shove simple getters in AudioTimingControllerDialogue into the class declaration 2014-05-15 07:44:13 -07:00
Thomas Goyne 6f36c75cfd Fix snapping audio markers to markers from other selected lines 2014-05-15 07:31:33 -07:00
Thomas Goyne e593843da7 Significantly speed up marker snapping with large selections 2014-05-14 12:48:59 -07:00
Thomas Goyne fc662e0278 Use INT_MIN as the invalid click position sentinel rather than -1 2014-05-14 12:13:40 -07:00
Thomas Goyne c13b026598 Snap based on all markers being dragged rather than just the mouse position 2014-05-14 12:04:19 -07:00
Thomas Goyne 9168484fc6 Allow clicking anywhere in the audio display for alt-dragging 2014-05-14 08:37:03 -07:00
Thomas Goyne 48acd4aa13 Install libpng headers 2014-05-13 15:35:00 -07:00
Thomas Goyne fff59982f4 Clear the clicked marker on right click 2014-05-13 12:44:28 -07:00
Thomas Goyne b7b2ea2d61 Skip building wx files that don't actually define anything 2014-05-13 11:51:22 -07:00
Thomas Goyne 66ba65774a Add custom build system for wxWidgets 2014-05-13 11:02:46 -07:00
Thomas Goyne 843412beb0 Install headers before compiling rather than after 2014-05-13 09:24:40 -07:00
Thomas Goyne 95eb603f8d Link against zlib.lib rather than wxzlib.lib 2014-05-12 17:42:26 -07:00
Thomas Goyne a0efd18f96 Use wx's vendored copy of zlib rather than having a second copy in a submodule 2014-05-12 17:42:26 -07:00
Thomas Goyne 1651446e0f Drag the entire audio selection when Alt is held down
Closes #691.
2014-05-12 12:07:46 -07:00
Thomas Goyne 5da847e1ef Use more NSDMIs 2014-05-12 10:05:36 -07:00
Thomas Goyne 562a2259f5 Check for uses of styles other than "Default" in CanSave rather than customized styles
Customizable default styles makes the latter check awkward to implement,
and the previous logic of comparing against the hardcoded default wrong.
2014-05-12 08:34:28 -07:00
Thomas Goyne bc2f862909 Update wx 2014-05-12 08:04:53 -07:00
Thomas Goyne 164ad33753 Fix RTL painting of the subtitles grid
wx comes very close to just making it work automatically, but it doesn't
translate the origin to the top-right corner and wxBufferedPaintDC
doesn't handle RTL at all, so reimplement it with some hacks.

Closes #1354.
2014-05-12 08:04:24 -07:00
Thomas Goyne 0909d137b0 Mirror toolbar button images for RTL locales
Some of the toolbar buttons are seriously wrong when mirrored and there
doesn't seem to be a way to disable mirroring for the images while using
RTL layout for the toolbar itself, so double-mirror them so that they
end up with their original appearance.

Ideally the button images would be localizable as some of them actually
should be mirrored, but that's probably not worth the work involved.

See #1354.
2014-05-11 07:31:22 -07:00
Thomas Goyne 3d0e2baf4e Force the video display to LTR layout direction
Mirroring the video is not useful or desirable.

See #1354.
2014-05-11 06:59:59 -07:00
Thomas Goyne 645848d0c5 Fix test compilation on Windows 2014-05-10 08:19:59 -07:00
Thomas Goyne 8ff801a645 Update readme 2014-05-10 08:19:59 -07:00
Thomas Goyne 3db69b0a29 Add more missing project dependencies for working parallel builds 2014-05-10 08:19:59 -07:00
Thomas Goyne eb2793f88d Add msbuild build system for FFmpeg
This eliminates the need for a msys environment to build any part of
Aegisub. Also happens to make building FFmpeg much faster (~3 minutes
vs. ~10 minutes for me).
2014-05-10 08:19:59 -07:00
Thomas Goyne 3d8071df7f Update ffmpeg 2014-05-10 06:12:37 -07:00
Thomas Goyne 2c0568090c Add a custom build task for getting the git version info
Eliminates the need to have a copy of git accessible in the msys
build environment and reduces the dependency on msys to just FFmpeg.

Probably trivially faster due to how slow shell scripts are on Windows.
2014-05-10 06:12:37 -07:00
tophf 01dc7f9294 Only process selected lines in the Select Overlaps macro
And skip over commented lines as the description claimed it did already.

Closes #1751.
2014-05-09 10:25:13 -07:00
Thomas Goyne b96edfebcc Remove check for customized styles in SRTSubtitleFormat::CanSave
It doesn't work with customizable default styles.
2014-05-09 09:24:27 -07:00
Thomas Goyne 73d64870af Fix writing files as non-utf-8 2014-05-09 07:00:48 -07:00
Thomas Goyne 94a060a556 Add unicode case conversion functions to the automation module 2014-05-09 07:00:48 -07:00
Thomas Goyne eadf555da3 Pass exceptions in async workers back to the main thread 2014-05-09 07:00:48 -07:00
Thomas Goyne 74e995b915 Disable more wx stuff we don't use 2014-05-08 17:26:27 -07:00
Thomas Goyne 36d9a3c490 Add msbuild build system for fribidi
Thankfully the release tarball comes with pre-built versions of
the generated files.
2014-05-08 15:03:42 -07:00
Thomas Goyne 2e40f2b246 Switch to downloading a release tarball for fribidi 2014-05-08 14:41:38 -07:00
Thomas Goyne 135b61595c Add missing build dependencies on minilua 2014-05-08 13:13:45 -07:00
Thomas Goyne b2c210ffeb Delete old config file for ICU 2014-05-08 12:38:58 -07:00
Thomas Goyne b4d49511be Fix ignoring override blocks for CPS calculations 2014-05-08 12:34:04 -07:00
Thomas Goyne 679b96fdfe Add msbuild build system for ICU 2014-05-08 12:34:04 -07:00
Thomas Goyne d3a4bed994 Port respack to lua
Simplifies the build system a little by cutting down on the number of
helpers that need to be built.
2014-05-08 10:39:18 -07:00
Thomas Goyne 9f8a10b014 Strip a few more MB of unused stuff from ICU's data files 2014-05-07 15:57:48 -07:00
Thomas Goyne 571c9d9b7a Don't hardcode the size of buttons with translatable labels. Closes #1750. 2014-05-07 10:43:01 -07:00
Thomas Goyne 049142f6f6 Make the check for faux bold match libass's logic for when to embolden 2014-05-07 07:13:32 -07:00
Thomas Goyne 8e5d4c48bc Print usage information for faux bold/itatlic warnings 2014-05-07 06:51:35 -07:00
Thomas Goyne 26e7880c8b Fix compilation with non-16-bit wchar_t 2014-05-06 18:31:19 -07:00
Thomas Goyne 77a2c1bb16 Verify that we're actually using a UTF-8 locale and switch to en_US.UTF-8 if not
Should fix #1587 and #1675, but I was never able to reproduce either of
them so maybe not.
2014-05-06 18:16:36 -07:00
Thomas Goyne 432640c045 Use localized language names from ICU rather than English names 2014-05-06 17:32:10 -07:00
Thomas Goyne 86ebd15ffb Update to ICU 53.1 2014-05-06 17:20:13 -07:00
Thomas Goyne 32f5e00bf8 Eliminate a pointless check 2014-05-06 10:32:19 -07:00
Thomas Goyne 50d0744e9c Skip prompting the user for a language on first start if we have a translation for their OS UI language 2014-05-06 10:29:53 -07:00
Thomas Goyne 47b8627ad3 Keep the old subtitles file alive until the new one is fully announced
This fixes crashes from touching dangling references to lines in the old
subtitle file in the handlers for the various signals triggered when a
new file is opened.
2014-05-06 09:36:07 -07:00
Thomas Goyne ca1cf8d9e7 Set the version in the Windows installer automatically 2014-05-06 08:07:57 -07:00
Thomas Goyne ca86b0da33 Actually initialize the initial MatchState in the search replace engine 2014-05-05 18:52:16 -07:00
Thomas Goyne a00e5dc967 Update which style the Edit button edits when the line's style is changed 2014-05-05 18:42:06 -07:00
Thomas Goyne 2674c702d1 Silence incorrect warning 2014-05-05 17:53:14 -07:00
Thomas Goyne 75641141d6 Switch icon creation to additional tasks rather than components 2014-05-05 17:37:07 -07:00
Thomas Goyne 48250db656 Add all of the applicable translations to the installer 2014-05-05 16:51:22 -07:00
Thomas Goyne cfad8ea3d4 Add more old pdbs to the files for the installer to clean up 2014-05-05 16:06:37 -07:00
Thomas Goyne 7e2724c22c Add support for submenus in the automation menu
Split the menu text on /, with each segment before the last used as the
submenu name and the last as the actual menu text.

Closes #852.
2014-05-05 14:27:01 -07:00
Thomas Goyne c5608a4725 Add Comment field to the paste over dialog 2014-05-05 07:01:57 -07:00
Thomas Goyne 26a9e57006 Eliminate an extra commit when using the color picker buttons 2014-05-05 06:28:27 -07:00
Thomas Goyne f261688b11 Don't ignore the contents of override blocks when counting characters for selection preserving 2014-05-05 06:27:37 -07:00
Thomas Goyne 3983719e3f Add an Edit button next to the style list dropdown. Closes #1746. 2014-05-04 12:53:22 -07:00
Thomas Goyne 57f6e9a869 Actually serialize the styles for the subtitle renderers 2014-05-04 11:16:57 -07:00
Thomas Goyne 58603b51a8 Update libass 2014-05-04 10:15:57 -07:00
Niels Martin Hansen e1c575b7a1 MicroDVD import should also use default styles 2014-05-04 13:14:28 +02:00
Niels Martin Hansen 1dc2ae09a0 Forgot OSX default config in 6b827abec0 2014-05-04 13:07:25 +02:00
Niels Martin Hansen 82d7979f04 Pass style catalog names instead of file names to AssFile::LoadDefault 2014-05-04 13:04:48 +02:00
Niels Martin Hansen 79b6ce2583 Move style catalog indexing and naming logic 2014-05-04 13:03:04 +02:00
Niels Martin Hansen cdb6da4b2f Also ignore VS *.sdf lock files (*.opensdf) 2014-05-04 10:37:40 +02:00
Niels Martin Hansen 5a4920c48f Option to change parallel make options for gmake based VS projects
It seems that gmake can livelock in parallel make mode on Windows
in some cases. This provides an escape hatch for those cases.
2014-05-04 10:35:15 +02:00
Niels Martin Hansen 5bb4754e40 Option to disable HAALISOURCE when building FFMS2 on VS
Visual Studio Express does not supply ATL and can't build the Haali-
supplied code in FFMS2, so provide an escape hatch for that.
2014-05-04 09:56:37 +02:00
Thomas Goyne c30ca1a321 Remove progress throttling from ffms indexing 2014-05-03 17:22:38 -07:00
Thomas Goyne d9df9c9e5b Add dummy install target for LuaJit 2014-05-03 17:22:38 -07:00
Thomas Goyne d672e75109 Filter out redundant progress updates sooner
Sending events from background threads to the main thread is somewhat
expensive, so filter out progress updates which don't actually change
the progress on the background thread.
2014-05-03 17:22:38 -07:00
Thomas Goyne 6a1321e1df Move the serialization for the subtitles providers to SubtitlesProvider 2014-05-03 17:22:38 -07:00
Thomas Goyne b40370c93d Grab the copy of vsfilter for the installer from the bin dir 2014-05-03 16:45:32 -07:00
Niels Martin Hansen 451c6751de Preferences page for default style catalogs 2014-05-03 22:23:01 +02:00
Niels Martin Hansen 6b827abec0 Config options for default style catalogs for various formats 2014-05-03 21:08:37 +02:00
Niels Martin Hansen f45f73151e Copy styles from Default catalog to new files 2014-05-03 20:02:52 +02:00
Niels Martin Hansen 3260a5fa1a Update about box 3rd-party library credits 2014-05-03 02:14:12 +02:00
Niels Martin Hansen 94a6b72f1d Add user *.props files to gitignore 2014-05-03 01:15:19 +02:00
Niels Martin Hansen 143de0713b Remove whitespace in MSYS shell environment vars
It seems that whitespace around the paths in the PATH, LIB, INCLUDE env
vars can break in some situations, making the build fail entirely.
Unfortunately this also makes the file harder to read and diff.
2014-05-03 01:08:56 +02:00
Niels Martin Hansen 9c2f12a786 Clearer error messages when audio open fails
The existing chain of errors from all providers can be really confusing,
so instead try to interpret the exception type to add some meaning.
2014-05-03 01:05:09 +02:00
Thomas Goyne 81c72c5fe9 Install lua.hpp when building luajit 2014-05-02 13:16:43 -07:00
Thomas Goyne 2587625af4 Fix non-pch compilation 2014-05-01 13:48:46 -07:00
Thomas Goyne f7f6c2b90b Switch to using csri_open_mem 2014-05-01 13:39:35 -07:00
Thomas Goyne af20d31699 Push the dropping of non-visible lines into the serialization logic
Makes things way less gross and trivially faster.
2014-05-01 13:39:35 -07:00
Thomas Goyne 7a5c92aaee Speed up TextFileWriter a bit
Write the text and the newline separately rather than appending the
newline to the text to eliminate a copy of the text.
2014-05-01 13:39:35 -07:00
Thomas Goyne 4366ece827 Speed up passing subtitles to VSFilter a little
Use temp_file_mapping so that it normally never actually hits the disk
on Windows and use AssSubtitleFormat directly.
2014-04-30 06:29:37 -07:00
Thomas Goyne 1eba2f035c Add a separate SSA subtitle format and move all of the SSA writing stuff there 2014-04-30 06:29:37 -07:00
Thomas Goyne 31af9c575f Extract duplicated ASS writing code from libass provider 2014-04-30 06:29:37 -07:00
Thomas Goyne b24e2c33e0 Update URL for ffms2 2014-04-29 07:24:43 -07:00
Thomas Goyne eca8991dd8 Remove some pointless configure checks 2014-04-29 07:23:02 -07:00
Thomas Goyne a7db164bd3 Fix extra blank lines in configure output 2014-04-29 07:12:04 -07:00
Thomas Goyne 3a64d81c50 Decruftify and fix the boost configure checks 2014-04-28 18:37:43 -07:00
Thomas Goyne 431b096f51 Fix loading modules with UTF-8 BOMs
Ensure MoonScript gets loaded before we install our package loader to
avoid having its package loader used over ours.
2014-04-28 14:19:16 -07:00
Thomas Goyne 606e3f4882 Fix crash on script load errors 2014-04-28 13:36:56 -07:00
Thomas Goyne e3fa270345 Process any pending log text when a progress dialog completes 2014-04-28 11:01:57 -07:00
Thomas Goyne e5f935678e Build LuaJIT in Lua 5.2 mode on Windows as well 2014-04-28 10:58:55 -07:00
Thomas Goyne a5a6d5da86 Restore the BOM-skipping logic to the Lua script reader
And add BOM to one of the test files to verify it works.
2014-04-28 10:21:54 -07:00
Thomas Goyne 8aa3c8761c Unswap the actor and effect columns in the grid 2014-04-28 10:10:33 -07:00
Thomas Goyne 5be69dc7e8 Fix compilation of LuaJIT on x64 Windows 2014-04-28 09:13:09 -07:00
Thomas Goyne aa850688f4 Don't try to open compressed subtitle tracks
Actually supporting them would be even better of course, but at least
don't crash on them.
2014-04-28 08:43:25 -07:00
Thomas Goyne c74045cf20 Use spin controls for numeric fields in the style editor
Closes #1741.
2014-04-28 07:38:33 -07:00
Thomas Goyne 63f4bf1beb Switch from regular Lua to LuaJIT 2014-04-28 07:38:30 -07:00
Thomas Goyne ec4a8c9a26 Fix read from before beginning of stack 2014-04-27 21:23:53 -07:00
Thomas Goyne b4de0b9b82 Fix crash on zero-length lua files 2014-04-27 21:23:52 -07:00
Thomas Goyne 9492192b73 Switch back to building Lua as C
In preparation for switching to LuaJIT, which doesn't support PUC Lua's
thing of using C++ exceptions for lua_error.

Requires replacing all uses of lua_error (and things calling lua_error)
with custom versions that throw an exception instead and adding an
exception -> lua error wrapper at all C++ -> Lua boundaries.
2014-04-27 10:37:23 -07:00
Thomas Goyne e3eb28ffd1 Extract some duplicated table pushing code 2014-04-27 09:15:35 -07:00
Thomas Goyne 689c16deb3 Use lua_createtable where applicable 2014-04-27 09:15:35 -07:00
Thomas Goyne 5cde33c8d5 Reimplement the useful parts of lfs
It doesn't support Unicode on Windows, so replace it with a
reimplementation using boost.filesystem that does, but skip all the
useless junk.
2014-04-26 08:16:39 -07:00
Thomas Goyne 50e27d8247 Shut up warning 2014-04-26 08:16:38 -07:00
Thomas Goyne 2adcc76cf6 Switch automation tests to busted
This requires shuffling a bunch of stuff around to get a CLI lua
executable that uses an automation-like environment, but that's
something that'll be nice to have in the future anyway.

Busted indirectly depends on lfs and we currently can't use external
binary modules, so add a copy of lfs to the repo and build it with
Aegisub.
2014-04-26 08:16:38 -07:00
Thomas Goyne b8af29da0d Move some of the automation machinery to libaegisub 2014-04-25 15:03:18 -07:00
Thomas Goyne 15ae2b0ccc Eliminate a bunch of explicit constructors/destructors
Use explicitly defaulted destructors for base cases when possible,
eliminate aggregate initialization constructors where possible, and push
some more stuff to NSDMIs.
2014-04-25 14:53:24 -07:00
Thomas Goyne a5fdc6795c Fix compilation of automation tests 2014-04-25 14:52:53 -07:00
Thomas Goyne 4cd92ee532 Move stuff only ever used in auto4_lua.cpp to an anonymous namespace there 2014-04-25 09:27:27 -07:00
Thomas Goyne e7734e642d Use nullptr 2014-04-25 08:59:43 -07:00
Thomas Goyne d0603fde88 Don't check for used extradata ids if there are none 2014-04-25 08:59:43 -07:00
Thomas Goyne 882afc5111 Update out-of-date tests 2014-04-25 08:59:42 -07:00
Thomas Goyne b9509289aa Fix test compilation 2014-04-25 08:59:42 -07:00
Thomas Goyne 2de5396f7a Remove luabins project from MinDep and Test targets 2014-04-25 08:59:42 -07:00
Niels Martin Hansen d53c36e67f Merge branch 'extradata'
Conflicts:
	src/ass_parser.cpp
2014-04-25 17:22:15 +02:00
Niels Martin Hansen 5a930cfee3 Forgot to add the luabins project to MSVS solution file 2014-04-25 17:19:39 +02:00
Thomas Goyne d4fbe3040d Preserve the insertion point (but not selection) when switching between lines 2014-04-25 08:00:45 -07:00
Niels Martin Hansen f278c35f3f Dynamically use either inline_string escaping or uuencoding for extradata
Since luabins generates binary data which grows up to 3x by escaping,
it's more efficient to uuencode that instead.
A marker is placed as the first character of the value field, either
'e' for inline_string escaped text, or 'u' for uuencoded binary data.
The key is always inline_string escaped, as it will typically be
human readable.
2014-04-25 16:04:08 +02:00
Niels Martin Hansen bcd41bd986 Windows build system for luabins (untested) 2014-04-25 15:08:54 +02:00
Thomas Goyne 6ee1b8ca52 Update the start sample between blocks in the ram audio provider correctly 2014-04-24 19:08:05 -07:00
Thomas Goyne cef07785d7 Remove a pointless ++ and make stuff const 2014-04-24 18:51:54 -07:00
Niels Martin Hansen 7839e8c983 Fix bug in extradata id list reading 2014-04-25 00:05:32 +02:00
Niels Martin Hansen b2768b7abd Work around boost::format bug
See https://svn.boost.org/trac/boost/ticket/9360
It seems that the %X specifier is ignored if the input value is a char type
and the char is instead output verbatim and not in its integer value.
Casting it to an int works around this.
2014-04-24 23:54:42 +02:00
Niels Martin Hansen 3f08b1d057 Use lua_pushlstring() so strings with embedded NULs also work 2014-04-24 23:49:36 +02:00
Niels Martin Hansen 18f55eaebf Load luabins library into Auto4 Lua environment 2014-04-24 23:01:27 +02:00
Niels Martin Hansen 057a223b38 Integrate luabins into Aegisub's build system
Make it build as C++ so it links properly against the C++-built version
of Lua used in Aegisub too.
2014-04-24 23:01:27 +02:00
Niels Martin Hansen b4801ef1bb Import luabins 831869cdc8c5e7579804e6472a2dc6cbe0b2672b 2014-04-24 23:00:41 +02:00
Thomas Goyne 7161ce167c Use lambdas rather than std::bind(std::ref(Signal)) for signal forwarding 2014-04-23 15:48:39 -07:00
Thomas Goyne 7f289551ae Remove -Wno-variadic-macros from CXXFLAGS
It's no longer nonstandard in C++11.
2014-04-23 15:29:23 -07:00
Thomas Goyne 6fc4c8da14 Move make_unique to its own header file
Rebuilding the entire project after touching util.h gets old fast.
2014-04-23 15:29:23 -07:00
Niels Martin Hansen cf81e91383 Perform extradata garbage collection on save 2014-04-23 22:54:01 +02:00
Niels Martin Hansen 159dfcde39 Add extradata reading/writing to Auto4 Lua 2014-04-23 22:54:01 +02:00
Niels Martin Hansen 040b467090 Add undo support for extradata 2014-04-23 22:54:01 +02:00
Niels Martin Hansen 8076fb2791 Basic storage and loading/saving for extradata 2014-04-23 22:54:01 +02:00
Thomas Goyne c248dc56da Make the visual tool drag handles a little smaller 2014-04-23 07:15:28 -07:00
Thomas Goyne 7b0b74fbb0 Fix off-by-one error in the bounds check for restoring the active line 2014-04-23 06:22:18 -07:00
Thomas Goyne ec6f14eef4 Make double-click in the edit box smarter
Use the syntax highlighting's word splitting to decide what to select so
that double-clicking on \Nword only selects 'word'.
2014-04-22 17:01:22 -07:00
Thomas Goyne b4284efb38 Trigger the audio selection change logic when switching timing controllers
Results in the display seeking to the active line when audio is opened
(if seeking to active line is enabled), and initializes the scrollbar
properly.

Updates #1732.
2014-04-22 16:42:47 -07:00
Thomas Goyne feec511227 Use more make_unique 2014-04-22 16:37:12 -07:00
Thomas Goyne c53e8f6139 Pass around newly created AudioTimingControllers in a unique_ptr 2014-04-22 16:21:53 -07:00
Thomas Goyne f83f8b73a0 Hide the CPS value if it's over 100 2014-04-22 12:35:41 -07:00
Thomas Goyne a30d6121fd Don't block the UI while decoding audio for the caches
Simply zero the memory for audio which hasn't been decoded yet, modify
the audio renderer to avoid caching blocks which aren't ready yet, and
add a progress indiciator to the audio display scrollbar.
2014-04-22 12:34:20 -07:00
Thomas Goyne 7dfd494a46 Update ffms2 2014-04-21 11:11:40 -07:00
Thomas Goyne 1bd3572054 Make the CPS warning thresholds and color customizable 2014-04-21 11:11:40 -07:00
Thomas Goyne 7bc35cecb7 Don't show a CPS value for lines under 100 ms long 2014-04-21 11:11:40 -07:00
Thomas Goyne 543034b96b Change the background color of the CPS column when the value is excessively high 2014-04-21 11:11:40 -07:00
Thomas Goyne a1a289c4c0 Push more of the painting logic into the grid column classes 2014-04-21 11:11:40 -07:00
Thomas Goyne 6e0160d730 Fix ugly extra grid line drawn when the first row is selected 2014-04-20 19:46:03 -07:00
Thomas Goyne 5646c05be7 Draw the active line box on top of the grid columns 2014-04-20 19:39:48 -07:00
Thomas Goyne f14cef7321 Remove pointless vertical alignment logic
The only time it has an effect is when font substitution occurs, and the
end result tends to be worse than doing nothing at all.
2014-04-20 19:32:39 -07:00
电脑迷 e42e6f36e6 Update Chinese translations. Closes #1739. 2014-04-20 07:01:49 -07:00
Thomas Goyne d886a5916d Create the output directory when collecting fonts to a zip 2014-04-20 07:01:49 -07:00
Thomas Goyne 1677e700b2 Add missing error checking for opening the output zip file in the fonts collector 2014-04-20 07:01:49 -07:00
Thomas Goyne 3ed99b5cb2 Make SubsEditBox::PopulateList less pointlessly slow 2014-04-20 07:01:49 -07:00
Thomas Goyne 2387b31cee Rearrange BaseGrid's data members 2014-04-20 07:01:49 -07:00
Thomas Goyne c3e024954c Make frame mode handling in grid columns a little less ugly 2014-04-20 07:01:48 -07:00
Thomas Goyne 6c6f60eb98 Add an option to ignore punctuation for the character counter 2014-04-18 20:11:38 -07:00
Thomas Goyne cff3c0a3df Don't repopulate the actor/effect fields when the active line changes
Speeds up switching lines on a totally arbitrary test file that doesn't
even use very many actors or effects by ~20%.
2014-04-18 20:11:38 -07:00
Thomas Goyne 8aea747b88 Update the character counter synchronously
It's not longer even vaguely in the realm of slow enough to justify
dumping off on a background thread.
2014-04-18 20:11:38 -07:00
Thomas Goyne 2de95818db Use ICU directly for character counting
ICU docs say not to create a new break iterator each time as
boost.locale does, and in fact creating the break iterator is about 90%
of the run time of the character counter, so use ICU directly and cache
the break iterator.
2014-04-18 20:11:38 -07:00
Thomas Goyne af32733797 Move character count stuff to libaegisub 2014-04-18 20:11:38 -07:00
Thomas Goyne bd53302907 Remove unused variable 2014-04-18 14:28:55 -07:00
Thomas Goyne 744717a164 Skip calculating the CPS for lines where it's very unlikely to be meaningful 2014-04-18 14:08:12 -07:00
Thomas Goyne 5143c34d70 Fix right and vertical margin columns 2014-04-18 14:05:31 -07:00
Thomas Goyne 5df871f599 Extract all of the column-specific logic from BaseGrid 2014-04-18 12:17:03 -07:00
Thomas Goyne 909be4494a Use a struct for the cached grid brushes rather than an array+enum 2014-04-18 07:17:38 -07:00
Thomas Goyne d5274b72d4 Cap CPS column at 999 2014-04-18 07:07:03 -07:00
Thomas Goyne 867eaae7a8 Add basic characters-per-second column to the grid 2014-04-17 19:11:35 -07:00
Thomas Goyne 393d1dd269 Fix combine lines commands 2014-04-17 18:08:03 -07:00
Thomas Goyne c93d38cc34 Clean up BaseGrid a little
Eliminate the hardcoded uses of 11 all over the place and cache the
calculation of the header widths.
2014-04-17 18:08:03 -07:00
Thomas Goyne 27c1522622 Use AssDialogue::Row more places 2014-04-17 17:30:06 -07:00
Thomas Goyne e729d38164 Add a warning for faux bold/italic to the fonts collector 2014-04-17 16:07:01 -07:00
Thomas Goyne 1a67ee1fdf Add SelectionController::GetSortedSelection and use it where useful 2014-04-17 14:32:18 -07:00
Thomas Goyne 5721cd1453 Update ffms2 2014-04-17 11:46:28 -07:00
Thomas Goyne df42fdb2d2 Restore the text selection and cursor position on undo 2014-04-17 11:46:28 -07:00
Thomas Goyne 56699e4800 Mark move constructors as noexcept
Or just default them for non-MSVC when possible.
2014-04-17 11:46:28 -07:00
Thomas Goyne 09d0d039e0 Convert signal.h to variadic templates 2014-04-17 11:46:27 -07:00
Thomas Goyne ecdf7c4fc3 Cut the width of the lines for the visual features in half 2014-04-17 11:46:27 -07:00
Thomas Goyne 18d9a43edb Cut the opacity of visual tool features in half 2014-04-17 11:46:27 -07:00
Thomas Goyne 73c2e92655 Clean up VideoBox a little 2014-04-17 11:46:27 -07:00
Thomas Goyne c8033c2ef7 Initialize the charset converter for the thesaurus sooner
Narrows the window of time for a crash-on-exit when the user exits while
a thesaurus is being loaded.
2014-04-16 08:15:31 -07:00
Thomas Goyne 00a3547453 Make find/replace and automation text fields unlimited length
On Windows text fields default to a maximum of 30,000 characters.
2014-04-16 08:11:38 -07:00
Thomas Goyne d07cba4875 Keep the old active line when an automation script changes the selection but not active line 2014-04-16 08:11:38 -07:00
Thomas Goyne 162e119afa Make subs.delete accept a table of rows to delete
Lua has a limit to how many arguments can be pushed onto the stack, so
when deleting very large numbers of lines at once unpacking a table can
fail.
2014-04-16 08:11:38 -07:00
Thomas Goyne c685ae4aea Remove -Wno-long-long from default CXXFLAGS
It's no longer nonstandard in C++11 so there's no default warning for
it.
2014-04-16 08:11:37 -07:00
Thomas Goyne 1d5292fdee Kill config.h and just force-include acconf.h in non-pch builds 2014-04-16 08:11:37 -07:00
Thomas Goyne dcf1270fc4 Ensure boost.locale is initialized with a UTF-8 locale on OS X
This fixes the find/replace dialog stripping non-us-ascii characters
from the file.

See #1587 for the same issue on Windows.
2014-04-15 16:57:45 -07:00
Thomas Goyne 489eca221d Fix compilation with clang 2014-04-15 11:09:25 -07:00
Thomas Goyne a141ef1264 Remove the never-actually-used BASE block type 2014-04-15 11:09:25 -07:00
Thomas Goyne 3528e49286 Make the duration field not completely wrong in frame mode 2014-04-15 11:09:25 -07:00
Thomas Goyne 780c93ed4d Make modifying multiple lines at once less brittle
Only count characters outside of override blocks for the relative
positions to do the edits on each line, which handles the case where the
lines have different lengths of stuff in override blocks but the same
text.
2014-04-15 06:19:12 -07:00
Thomas Goyne 7ed3fbade0 Eliminate some awful in/out arguments 2014-04-15 06:19:12 -07:00
Thomas Goyne 0e04794ffd Make the edit box buttons less dumb with multiple lines selected
Apply the modification at the cursor position to each selected line
rather than just setting all selected lines to the active line's text.
Still doesn't have good results in any nontrivial cases, but it's at
least sometimes useful.
2014-04-14 13:52:14 -07:00
Thomas Goyne 7fc78d40ab Switch from boost::ptr_vector to a vector of unique_ptr
ptr_vector hasn't been updated for C++11, so despite being specifically
designed to store pointers to objects it's less safe and not really any
easier to use than a regular vector of unique_ptrs
2014-04-14 13:52:14 -07:00
Thomas Goyne f53d840520 Unbind the progress dialog's idle handler when it's unneeded 2014-04-06 09:57:01 -07:00
Thomas Goyne 3e4b6a725f Change both selection and active line in SetSelectionAndActive before announcing 2014-04-04 09:01:03 -07:00
Thomas Goyne df762b5b99 Add a checked iterator_to() to AssFile
iterator_to requires that the object be in the list, which is sometimes
not the case when processing a commit which removed the active line or a
selected line. To handle this, add a checked version that returns
Events.end() when it is not in the list rather than crashing.
2014-04-04 09:01:02 -07:00
Thomas Goyne 9c4574ed34 Add a missing word to a help string 2014-04-04 09:01:02 -07:00
Thomas Goyne 54fa37c855 Fix compilation on linux
Closes tgoyne/aegisub#4.
2014-04-03 17:43:41 -07:00
Thomas Goyne b8d67b3d8e Update row numbers after an order-changing commit 2014-04-01 09:19:30 -07:00
Thomas Goyne caf5ac9cd7 Sort the audio display markers
This was accidentally removed in 5d3bc0d. Closes #1731.
2014-04-01 09:19:30 -07:00
Thomas Goyne 4adc7c78fc Remove array indexing from UnknownElement 2014-04-01 09:19:30 -07:00
Thomas Goyne fb79c47cb5 Actually include the dependency files in the tests Makefile 2014-03-31 10:23:36 -07:00
Thomas Goyne 8a520b31af Add a default value for GTEST_ROOT 2014-03-31 10:23:36 -07:00
Thomas Goyne ffb2fd2b9d Remove redundant option not found exception type 2014-03-31 10:23:36 -07:00
Thomas Goyne a050b43621 Define OptionValueMap with using rather than inheritence 2014-03-31 10:23:36 -07:00
Thomas Goyne c59b9d59b8 Clean up OptionValue
Make the vtables less absurdly huge (knocks 100KB off aegisub32.exe),
eliminate some copies of the values when constructing the options, and
use an enum class for the value type.
2014-03-31 10:23:36 -07:00
Thomas Goyne 371f602100 Fix tests compilation 2014-03-31 10:23:36 -07:00
Thomas Goyne fcd0df2e96 Preserve the old selection when an automation script doesn't return a new one 2014-03-31 08:11:43 -07:00
Thomas Goyne 3bbbc56053 Add the line's row number to AssDialogue
The grid needs to be able to map AssDialogue * to a row number, and just
storing it in the AssDialogue is nearly strictly better than a std::map
mapping events to rows. Probably will be of use elsewhere as well.
2014-03-31 08:11:43 -07:00
Thomas Goyne 84c5eb25b3 Actually check lines other than the active line in the spellchecker dialog 2014-03-31 08:11:43 -07:00
Thomas Goyne dbec5ff0bc Fix out-of-bounds read when looking for subtitles in a matroska file with no subtitles 2014-03-28 09:15:09 -07:00
Thomas Goyne c1f968a252 Add filters file for the FFMS2 project 2014-03-28 09:05:36 -07:00
Thomas Goyne 4a46f09d31 Force the final progress of operations to 100%. Closes #1728. 2014-03-27 19:17:24 -07:00
Thomas Goyne f07a2559b8 Update the grid scrollbar after dialogue count changes 2014-03-27 18:49:16 -07:00
Thomas Goyne 1b0c1902d5 Update ffms2 2014-03-27 07:24:14 -07:00
Thomas Goyne ad8d11d87f Don't animate the progress bar when moving backwards 2014-03-27 07:21:55 -07:00
Thomas Goyne cf6e274c49 Fix incorrect capitalization of frame_main.h
Closes tgoyne/aegisub#3.
2014-03-27 06:50:16 -07:00
Thomas Goyne 290cdefd9d Skip building the wx libraries we don't use 2014-03-26 15:13:21 -07:00
Thomas Goyne 736b1d2fa7 Actually enable optimizations for ICU in release builds 2014-03-26 12:34:14 -07:00
Thomas Goyne 2ba88537a8 Pull some global init logic out of FrameMain's constructor 2014-03-26 11:33:33 -07:00
Thomas Goyne 35301df5f7 Remove the (unimplemented) machinery for automation subtitle formats 2014-03-26 11:17:38 -07:00
Thomas Goyne e477005ecd Eliminate some uses of std::bind 2014-03-26 10:38:38 -07:00
Thomas Goyne e5e3bff7f8 Clean up some stuff in menu.cpp 2014-03-26 10:25:24 -07:00
Thomas Goyne 0931194b4f Remove most inclusions of main.h 2014-03-26 10:12:43 -07:00
Thomas Goyne 84ceed7c3c Update ffms2 2014-03-26 10:03:24 -07:00
Thomas Goyne 14d64daf69 Fix crash on empty progress title on OS X 2014-03-26 09:24:47 -07:00
Thomas Goyne 16804f41c9 Delete in-repo copy of intttypes.h since vs2013 has it 2014-03-26 08:25:24 -07:00
Thomas Goyne c4c0f6f125 Kill VideoContext::Get() 2014-03-26 08:23:43 -07:00
Thomas Goyne aa46c49403 Pull some of the context (de)init out of FrameMain
And actually do deinitialize more of the stuff in the context.
2014-03-25 20:04:48 -07:00
Thomas Goyne 821f54a372 Delay showing the font caching dialog until subtitles are actually rendered 2014-03-25 20:04:48 -07:00
Thomas Goyne 39626db787 Eliminate all uses of FrameMain via the global app object 2014-03-25 17:06:48 -07:00
Thomas Goyne e596de03c7 Fix moving the top line of the file down 2014-03-25 17:06:48 -07:00
Thomas Goyne b5a8217fcd Remove pointless wxSafeYield in FrameMain's constructor
This was needed to make the splash screen appear, and was missed when
the splash screen was killed.
2014-03-25 17:06:48 -07:00
Thomas Goyne 523d858374 Extract SelectionController from BaseGrid 2014-03-25 17:06:47 -07:00
Thomas Goyne eb548306e9 Don't skip the first dialogue line in the kanji timer 2014-03-24 12:40:03 -07:00
Thomas Goyne 5214efd553 Fix issues with RecombineOverlaps 2014-03-24 12:40:03 -07:00
Thomas Goyne e71270f0f0 Refactor the rest of the factories 2014-03-24 12:40:03 -07:00
Thomas Goyne dbe9bcfdad Extract some duplicated code 2014-03-24 12:40:03 -07:00
Thomas Goyne 470f85d365 Convert VideoProviderManager to AudioProviderManager's new design 2014-03-24 09:25:26 -07:00
Thomas Goyne 36a71be19f Remove virtual destructor from FFmpegSourceProvider 2014-03-24 06:55:35 -07:00
Thomas Goyne 938025acb1 Redesign AudioProviderFactory
Register functions which create each type of provider rather than the
provider types themselves so that the concrete types don't need to be
publicly exposed, and use a static list of providers rather than
registering them at runtime.
2014-03-24 06:55:35 -07:00
Thomas Goyne 7dd764db6b Remove the option to disable the PCM audio provider 2014-03-23 16:49:03 -07:00
Thomas Goyne 3d76d583e1 Use stdint types in MatroskaParser 2014-03-23 09:01:25 -07:00
Thomas Goyne b1f132ec6f Use a proper auto-deleting temp file for the HD audio cache 2014-03-23 08:14:35 -07:00
Thomas Goyne a63db6b519 Move git submodules to a consistent location within the .git/modules dir 2014-03-21 19:23:47 -07:00
Thomas Goyne 2eb211f5b6 Fix issues with showing the previous inactive line
The "previous" line for the first line was actually the last line of the
file, and the previous line for the second line was ignored entirely.

Closes #1719.
2014-03-21 16:41:22 -07:00
Thomas Goyne 3e9bb94126 Use boost range algorithms in audio_timing_dialogue.cpp 2014-03-21 16:11:56 -07:00
Thomas Goyne 5d3bc0d0d2 Modernize some code in audio_timing_dialogue.cpp 2014-03-21 16:01:24 -07:00
Thomas Goyne 66877105cb Remove old cruft from the precompiled headers 2014-03-21 15:02:12 -07:00
Thomas Goyne 53188cca47 Expunge remaining references to <fstream> and <iostream> 2014-03-21 14:31:48 -07:00
Thomas Goyne db7c8f49cb Kill default_path.json since it was never used for anything 2014-03-21 14:04:17 -07:00
Thomas Goyne e1bc828e44 Don't wrap the default config json blobs in std::strings 2014-03-21 14:02:49 -07:00
Thomas Goyne d615dcb30a Replace all uses of strstream and stringstream with bufferstream
istringstream makes a copy of its input, which is not very nice for
performance. strstream doesn't do bounds checking, which is not very
nice for safety (and is deprecated).
2014-03-21 13:50:28 -07:00
Thomas Goyne d454872c00 Use read_file_mapping for the thesaurus 2014-03-21 13:23:15 -07:00
Thomas Goyne 0268ffd345 Return a const char * from read_file_mapping::read 2014-03-21 13:23:12 -07:00
Thomas Goyne 23ff6dead1 Use read_file_mapping for YUV4MPEGVideoProvider 2014-03-21 10:57:14 -07:00
Thomas Goyne 18e5144977 Remove unused function in line_iterator 2014-03-21 09:47:05 -07:00
Thomas Goyne 220e6d18da Use read_file_mapping in TextFileReader 2014-03-21 09:28:17 -07:00
Thomas Goyne 87501931f6 Don't reset the progress animation timer when receiving redundant progress updates 2014-03-21 08:39:58 -07:00
Thomas Goyne 3d21f00356 Use read_file_mapping for charset detection 2014-03-21 08:06:41 -07:00
Thomas Goyne cb1f04481a Use read_file_mapping for reading attachments 2014-03-21 07:44:22 -07:00
Thomas Goyne 5750a660c2 Open files with FILE_SHARE_READ on Windows 2014-03-21 07:23:44 -07:00
Thomas Goyne ad193f70a9 Use read_file_mapping for reading automation scripts 2014-03-21 07:22:31 -07:00
Thomas Goyne 95008b7dc1 Remove unused variable 2014-03-20 20:26:18 -07:00
Thomas Goyne 58db99cd24 Simplify PCMAudioProvider a bit and pull it fully into the cpp file 2014-03-20 20:26:17 -07:00
Thomas Goyne df177ae869 Fix crash_writer_minidump.cpp's newlines 2014-03-20 20:26:17 -07:00
Thomas Goyne 0c9f39ca25 Use mmap for reading subtitles from Matroska files
Cuts cold-cache read time for an arbitrary 1 GB file read over a network
off a USB 2.0 hard drive from ~70 seconds to ~45 seconds.
2014-03-20 20:26:17 -07:00
Thomas Goyne 00b4d6908f Use read_file_mapping directly in the HD audio provider 2014-03-20 20:26:17 -07:00
Thomas Goyne 6c14c9bee9 Extract the rest of the mmap logic from the PCM provider. Closes #934. 2014-03-20 20:26:17 -07:00
Thomas Goyne 3222275750 Use boost.interprocess's mmap wrapper in the PCM provider 2014-03-20 20:25:44 -07:00
Thomas Goyne 3fa48281b0 Add an error check for trying to interact with expired subtitles objects 2014-03-20 14:13:11 -07:00
Thomas Goyne 8f96e06d0c Remove pdbs from the windows installers 2014-03-20 10:41:12 -07:00
Thomas Goyne aab025c830 Write minidumps on windows rather than just basic stack traces 2014-03-20 10:41:12 -07:00
Thomas Goyne 4b6946dcec Reinitialize the crash error message after the UI language is selected 2014-03-20 10:41:12 -07:00
Thomas Goyne 61b19a17e8 Extract crashlog writing from main.cpp 2014-03-20 10:41:12 -07:00
Thomas Goyne 39823b5d89 Delete the unfinished crash reporter 2014-03-19 08:22:53 -07:00
Thomas Goyne 21cc91cd16 Update ffmpeg, ffms2, libass, wxWidgets 2014-03-18 14:08:33 -07:00
Thomas Goyne feb3b45ced Fix crash on startup when the config file can't be written 2014-03-18 14:03:36 -07:00
Thomas Goyne e74f1dc80e Use enum classes for the selection dialog modes 2014-03-18 13:46:13 -07:00
Thomas Goyne 3ef8fa9ec0 Make a for loop in uuencode less dumb 2014-03-18 13:41:26 -07:00
Thomas Goyne 59e8ec522e Fix Make times continuous 2014-03-16 16:56:36 -07:00
Thomas Goyne 1bd63ce35c Fix crash after inserting lines via subs.insert 2014-03-15 08:31:09 -07:00
Thomas Goyne 96a2a98e39 Update ffms2 2014-03-14 09:01:48 -07:00
Thomas Goyne 7794680c1e Really fix compilation with boost <= 1.55. Closes #1716. 2014-03-14 07:14:13 -07:00
Thomas Goyne b7b8c3d251 Update fontconfig 2014-03-14 07:00:37 -07:00
Thomas Goyne 21d87ff1ca Remove some invalid finals that VC++ was okay with for some reason 2014-03-12 20:32:57 -07:00
Thomas Goyne ea96c6e2ad Make everything final that can be
Apparently gcc does use final for devirtualization.
2014-03-12 19:07:30 -07:00
Thomas Goyne ab39cfe362 Replace rref + const ref overloads with one version taking by value 2014-03-12 18:02:17 -07:00
Thomas Goyne 26c92453b8 Slather on some std::moves when setting the selection 2014-03-12 15:20:37 -07:00
Thomas Goyne 7c2363ee5b Add rref overloads to SetSelectedSet and SetSelectionAndActive 2014-03-12 15:20:34 -07:00
Thomas Goyne 92ae789b46 Eliminate a bunch of pointless copies of the selection set 2014-03-12 14:54:46 -07:00
Thomas Goyne 31979500c4 Update aegisub.pot 2014-03-12 09:41:44 -07:00
Thomas Goyne 4aa79925c1 Update version in make_pot.sh to 3.2 2014-03-12 09:40:40 -07:00
Thomas Goyne 6e12297313 Update string extraction for desktop file 2014-03-12 09:26:19 -07:00
Thomas Goyne 067450e04a Add wxPLURAL to the patterns extracted by make_pot.sh 2014-03-12 09:23:55 -07:00
Thomas Goyne bd15a54ae3 Use proper plural forms for some UI strings 2014-03-12 09:20:46 -07:00
Thomas Goyne 6374cb52e1 Add some missing inter-project dependencies 2014-03-11 13:02:14 -07:00
Thomas Goyne 409eee4510 Install CSRI and iconv headers rather than mucking about with include paths 2014-03-11 12:27:34 -07:00
Thomas Goyne 1745177b6c Fix compilation with non-bleeding edge boost 2014-03-11 12:15:01 -07:00
Thomas Goyne 843e71331f Add in-repo copy of Lua and use it rather than the system copy
Aegisub needs Lua built as C++ (for stack unwinding on errors). No one
packages it like that, so at the moment we can't actually use systme
packages for Lua.

Fixes a bunch of memory leaks on Automation errors.
2014-03-11 12:15:01 -07:00
Thomas Goyne 33a4a056a4 Move everything up a level since the root dir no longer has stuff 2014-03-11 12:14:57 -07:00
Thomas Goyne bdff48f19b Move submodules to aegisub/vendor 2014-03-11 09:17:21 -07:00
Thomas Goyne c97e2031d5 Move all in-repo deps to aegisub/vendor 2014-03-11 08:59:45 -07:00
Thomas Goyne 1b05310e32 Switch libass URL to github 2014-03-11 08:57:26 -07:00
Thomas Goyne 64f51c917f Kill the awkward automatic subtitle format (de)registration 2014-03-09 15:12:40 -07:00
Thomas Goyne e0d34bfb01 Update deps 2014-03-09 15:12:40 -07:00
Thomas Goyne 9a8e0075cb Silence some warnings from boost.crc 2014-03-09 15:12:40 -07:00
Thomas Goyne 8ee3095506 Do disgusting things to make LuaAssFile work
LuaAssFile relied on the lifetime guarantees of intrusive lists (i.e.
you can pretty much do whatever the fuck you want and it'll work out),
but AssInfo objects are no longer owned by an intrusive list. Do awful
things to lazily copy the header section when needed to provide similar
lifetime guarantees.
2014-03-09 15:12:40 -07:00
Thomas Goyne f6463f0fd4 Fix non-pch compilation 2014-03-09 15:12:40 -07:00
Thomas Goyne 7d08dca912 Make AssFile::Attachments a vector 2014-03-09 15:12:40 -07:00
Thomas Goyne bacbd8c2bf Devirtualize AssEntry::GetEntryData 2014-03-09 15:12:40 -07:00
Thomas Goyne 3d35ba894c Move the intrusive list hooks to the concrete entry types 2014-03-09 15:12:40 -07:00
Thomas Goyne cc7595e3c6 Remove AssEntry::Clone 2014-03-09 15:12:39 -07:00
Thomas Goyne 8acce1a9ee Don't return a const std::string from GetData
It has zero benefit and forces an extra copy.
2014-03-09 15:12:39 -07:00
Thomas Goyne e64fd78c51 Change AssFile::Info to a vector 2014-03-09 15:12:39 -07:00
Thomas Goyne b1639c6162 Make the entry lists be of the appropriate type rather than just AssEntry
Eliminates a bajillion dynamic casts.
2014-03-09 15:12:39 -07:00
Thomas Goyne 1506c1ab10 Remove some cruft from TextFileReader 2014-03-09 08:06:23 -07:00
Thomas Goyne 805481315e Split AssFile into separate lists for each section 2014-03-09 08:06:21 -07:00
Thomas Goyne 222b6ee099 Eliminate some duplicated exception handling code 2014-03-07 08:36:33 -08:00
Thomas Goyne 6bf986a63f Flush the clipboard on exit
Apparently flushing immediately after setting the clipboard sometimes
doesn't work.
2014-03-07 08:33:47 -08:00
Thomas Goyne e37e4b8231 Update to moonscript 0.2.5 2014-03-06 19:19:12 -08:00
Thomas Goyne 7d1cd576d1 Match the parser's section order when constructing files for undo 2014-03-05 17:31:40 -08:00
Thomas Goyne cb8b107bd9 Sort the actor and effect fields. Closes #1715. 2014-03-05 17:31:38 -08:00
Thomas Goyne c9582fe7cf Remove the added/removed items arguments from the selection changed signal
They're only used by one thing (the drag visual tool), so calculating
them is pointless overhead most of the time, and it simplifies the
visual tool code much less than it complicates the grid code.
2014-03-05 17:31:36 -08:00
Thomas Goyne c3fb54153f Store selection and active line in undo info and restore them on undo 2014-03-05 17:31:33 -08:00
Thomas Goyne 9ecb54333a Redesign the undo stack
Store the data in vectors rather than AssFiles since even an intrusive
linked list has comically high memory overhead. Cuts memory usage of a
full undo stack with 15k lines by 65 MB for 32-bit and 130 MB for
64-bit. Also roughly halves how long it takes to copy the file for the
undo stack, and makes undo/redo a bit faster.
2014-03-04 20:21:02 -08:00
Thomas Goyne 2a316e5a55 Make BaseGrid::UpdateMaps far less slow 2014-03-04 20:20:51 -08:00
Thomas Goyne 9a347b0b29 Use splice rather than swaps to pop the undo stack 2014-03-04 13:54:34 -08:00
Thomas Goyne ff21670388 Add Release-MinDep solution configuration 2014-03-04 13:54:34 -08:00
Thomas Goyne c02bdbcf9e Adjust the appears of the vector clip control handles
Make them significantly smaller to cover less of the video and fiddle
with the appearance to hopefully make them still visible enough.
2014-03-03 20:08:04 -08:00
Thomas Goyne 0f731bcf13 Cut the opacity of the vector clip tool's lines a bit 2014-03-03 19:04:20 -08:00
Thomas Goyne 1dbe7dd5f9 Return a rgba string for coloralpha lua controls 2014-03-02 07:24:06 -08:00
Thomas Goyne 5029b5286f Update libass 2014-03-02 07:19:12 -08:00
Thomas Goyne 4f2f8ef4cb Make missing boost libraries a configure error. Closes #1707. 2014-03-02 07:16:25 -08:00
Thomas Goyne 261ceaf969 Pass nullptr for the codepage for ass_read_memory
Passing a codepage makes libass convert to UTF-8 even if it's already
UTF-8.
2014-03-02 07:16:23 -08:00
Thomas Goyne 2c4eaa8d45 Remove no-longer-used header variable in ass parser 2014-03-02 07:16:13 -08:00
Thomas Goyne 3c59903420 Work around an incorrect assertion in older versions of boost. Closes #1702. 2014-02-02 09:14:33 -08:00
Thomas Goyne 0523c27393 Set ApplicationCompany for the Aegisub executable
Despite being completely unmentioned in the documentation this appears
to be required to show up in the default programs UI on Windows 8.1.

Closes #1699.
2014-02-02 08:53:29 -08:00
Thomas Goyne 51218d5d57 Add resource strings for file associations
These weren't merged from 2.1.9 with the rest of the file association
code, which results in the installer trying to reference nonexistent
resources and things breaking.

Updates #1699.
2014-02-02 08:53:20 -08:00
Thomas Goyne 3d22784998 Make lines_to_delete a vector 2014-02-01 20:57:30 -08:00
Thomas Goyne 2d259bb27e Make deleterange not do totally incorrect things 2014-02-01 20:57:30 -08:00
Thomas Goyne df3957393c Set extendRow even when active_line doesn't change
After shift-clicking on the grid the row to extend from doesn't equal
the active line, and clicking on the current active line to deselect all
other lines need to update the extend row.
2014-02-01 20:57:30 -08:00
Илиян Илиев db4a0e4c1e Add Bulgarian translation. Closes #1706. 2014-02-01 17:06:51 -08:00
Thomas Goyne ab44e51edc Never ask to change the script resolution when opening dummy video 2014-02-01 16:57:13 -08:00
Thomas Goyne 4dd76012cd Move YCbCr Matrix header setting from subtitle save to video open 2014-02-01 16:56:32 -08:00
Xabier Aramendi 9b75d4e0ab Update Basque translation 2014-02-01 08:33:33 -08:00
Thomas Goyne f8e8c955b7 Add nl.mo to the Windows installer. Closes #1698. 2014-02-01 08:30:55 -08:00
Thomas Goyne 89e3c45bd6 Use less ugly string formatting when resampling resolution 2014-02-01 08:26:12 -08:00
Thomas Goyne d4fb6f91e6 Resample \be and \blur when resampling resolution 2014-02-01 08:25:52 -08:00
Thomas Goyne 6b9c9091fe Bump libass version 2014-01-19 18:35:17 -08:00
Thomas Goyne e4e7457d7d Build libass without iconv support
We only ever feed UTF-8 to it, and it doesn't check whether the input is
UTF-8 before converting.
2014-01-19 18:35:17 -08:00
Thomas Goyne 1cf0100d5a Bump ffmpeg version 2014-01-19 18:35:17 -08:00
Thomas Goyne 00ff8c4b4a Update to ICU 52.1 2014-01-19 18:35:17 -08:00
Thomas Goyne 934431a29e Make respack less dumb 2014-01-19 18:35:17 -08:00
Thomas Goyne b1ffffaa4c Delete unused button bitmaps 2014-01-19 18:35:17 -08:00
Thomas Goyne a7027a6bfa Hide visual tools for commented lines 2014-01-19 18:35:17 -08:00
Thomas Goyne cc829b2322 Build with all icon sizes enabled on Windows. Closes #1692. 2014-01-19 18:35:17 -08:00
Thomas Goyne aa71e9ab9c Merge pull request #9 from computerfan/patch-2
Update Traditional Chinese translation.
2014-01-14 07:27:21 -08:00
computerfan 6f50c58011 Updated Traditional Chinese translation. 2014-01-14 19:29:49 +08:00
Yuri c035c45e53 Update Hungarian translation. Closes #1693. 2014-01-12 14:59:40 -08:00
Thomas Goyne 2de6a8b600 Fix codecvt errors on OS X
When launching Aegisub from Finder (but not via open), using the UTF-8
version of the locale breaks things for whatever reason, but fortunately
it's unneccesary as paths on OS X are always UTF-8 even if the locale
isn't.

Closes #1685.
2014-01-12 14:59:40 -08:00
Thomas Goyne 71cd017f0f Merge pull request #8 from computerfan/patch-1
Update Simplified Chinese translations
2014-01-12 06:10:52 -08:00
computerfan 5f3b4d1d53 Update and modify Chinese translations. 2014-01-12 17:46:45 +08:00
Thomas Goyne 1c07f92d02 Don't modify the "YCbCr Matrix" header when dummy video is opened
Color matching to dummy video makes zero sense, and setting it to None
results in breakage when someone opens dummy video for an already
typeset script.

Closes #1690.
2014-01-11 15:47:28 -08:00
Thomas Goyne cf79e521e4 Fix potential crash when a thesaurus finishes loading 2014-01-11 07:48:27 -08:00
Thomas Goyne 5cfb76fe9a Reenable shift-enter in the translation assistant
Newlines in the text are converted to \N, so no reason not to allow it
there.

Closes #1691.
2014-01-11 07:47:19 -08:00
Thomas Goyne 15280b4561 Delete some old unused stuff 2014-01-11 07:29:07 -08:00
Thomas Goyne 75df295fc0 Rearrage SinkMessage to eliminate padding 2014-01-11 07:29:04 -08:00
Thomas Goyne af544f05af Fix non-pch compilation 2014-01-11 07:28:38 -08:00
Thomas Goyne c19a1c7641 Delete unused copy-and-shift constructor for TimeRange 2014-01-11 07:28:23 -08:00
Tom Maneiro 6617d52178 Update Spanish translation. Closes #1687. 2014-01-06 08:21:48 -08:00
Thomas Goyne 3747d436cc Convert Factory to variadic templates 2014-01-06 08:19:39 -08:00
Thomas Goyne a8492fc02d Fix directory iteration on Vista
FindExInfoBasic was added in Windows 7, not Vista.
2014-01-05 10:04:25 -08:00
Thomas Goyne f71b380f01 Fix compilation with wx built with --enable-stl
--enable-stl replaces the implicit conversion to char/wchar_t* with one
to std::[w]string. This breaks conversions to boost::filesytem::path and
makes some ternaries ambiguous (which GCC helpfully reports as no
conversion existing rather than an ambiguous conversion).
2014-01-05 10:04:23 -08:00
Thomas Goyne 46315d872f Add a better error message when a hotkey is set for an invalid command 2014-01-03 16:56:18 -08:00
Thomas Goyne 40ddfa8e59 Fix typo in help text 2014-01-03 07:42:12 -08:00
صفا الفليج b57f0a9c6d Update arabic translation 2014-01-03 07:42:10 -08:00
Thomas Goyne afd69725fc Build with -dead_strip on OS X
Bumps 3.5 MB off the binary and doesn't seem to break anything.
2014-01-02 16:35:08 -08:00
Thomas Goyne fc63df571b Use -Werror for compiler flag support checks so that they actually work 2014-01-02 16:35:08 -08:00
Thomas Goyne a433a3f5e4 Silence unused local typedef warnings from gcc+boost 2014-01-02 16:35:08 -08:00
Thomas Goyne dce9dbf211 Silence warnings from other people's code 2014-01-02 16:35:08 -08:00
Thomas Goyne 1cbf20f8ab Work around wxGTK issues with time edits
Modifying the contents of a text control after IM processing happens in
the same cycle of the event loop seems to be seriously broken. Work
around this by disabling IM processing for time edits, as it should
never be relevant for them anyway.

Closes #1679. Closes #1680.
2014-01-02 11:47:15 -08:00
Thomas Goyne 5298634721 Fix infinite loop of error messages when an invalid command is displayed in the hotkey editor 2014-01-01 19:20:50 -08:00
Thomas Goyne 1d69efc35e Kill the Update Dependencies project
Move downloading the ICU data file to the ICU project, since that's the
only thing that was left.
2014-01-01 14:27:26 -08:00
Thomas Goyne 5d38a9c585 Also return full paths from aegisub.dialog.save 2014-01-01 11:46:27 -08:00
Thomas Goyne 418e1cad98 Fix some warnings when compiling with gcc 2014-01-01 10:28:10 -08:00
Thomas Goyne d21c33df31 Grab the .mo files for the installed from the po directory
Grabbing them from the package's src directory just adds another step
that needs to be done manually whenever a translation changes.
2014-01-01 09:39:49 -08:00
Thomas Goyne 56701605ff Port BuildTasks to C#
VS Express Edition doesn't support F#.
2014-01-01 09:20:37 -08:00
Thomas Goyne 75ecb0c2a8 Move fftw3 to a git submodule and update to 3.3.3 2014-01-01 07:36:53 -08:00
Thomas Goyne 11581ccd28 Bump copyright years 2014-01-01 07:22:37 -08:00
Thomas Goyne eb839ded82 Fix typo in readme 2014-01-01 07:13:25 -08:00
Thomas Goyne 58f35cd31c Merge pull request #7 from Leinad4Mind/patch-2
Update pt_PT.po due to 3.1.0 changes
2013-12-30 19:55:13 -08:00
Daniel Mota 5832b55d3f Update pt_PT.po due to 3.1.0 changes 2013-12-30 02:49:30 +00:00
Thomas Goyne 20b4515c24 Fix potential use-after-frees on redo
Don't delete the old copy of the file until after the new version is
committed to avoid a use-after-free when code tries to do things with
the active line in a COMMIT_NEW handler, as just trying to avoid doing
that hasn't really worked out.
2013-12-29 11:44:22 -08:00
Thomas Goyne 21b9fe1405 Replace the standard Lua include path entirely on Windows
The default Lua include path is encoded with the local charset rather
than UTF-8. This causes problems when the working directory includes
non-latin-1 characters which are valid in the local charset, as Aegisub
expects the string to be UTF-8. As the default path isn't very useful on
Windows (on other platforms it could potentially include things like
luarocks-installed modules), just clear it.

Closes #1676.
2013-12-27 14:52:01 -08:00
doplank 0a5a26a74d Update Indonesian translation 2013-12-27 09:56:43 -08:00
Thomas Goyne f0d35a1cf3 Retinafy the video display 2013-12-27 09:56:39 -08:00
Thomas Goyne c8368a500b Dynamically switch to the retina toolbar icons as appropriate 2013-12-27 09:29:53 -08:00
Thomas Goyne f4a6d90db4 Use retina icons for the main toolbar if first opened on a retina display 2013-12-27 09:29:53 -08:00
Thomas Goyne b4ed6a3b1a Add 48x48 and 64x64 icons 2013-12-27 09:29:53 -08:00
Thomas Goyne 55ff9bfd50 Simplify HelpButton a little
Switch to flat_map for trivially less memory usage and just use a global
map rather than a heap-allocated map since it's not
(de)initialization-order sensitive.
2013-12-26 17:43:55 -08:00
Thomas Goyne 6ca0349fc8 Simplify icon handling
Eliminate the pointless runtime command name -> icon map and just make
commands responsible for their icons. Don't bother predecoding and
caching icons since it wastes some RAM (~10 MB) and decoding icons takes
a trivial amount of time.

Fix a few places where icons were being set for the wrong command names.
2013-12-26 17:43:50 -08:00
Thomas Goyne 2ef352d365 Add an option to skip all of the slow configure checks
Cuts the total runtime of the configure script from 19 seconds to 5
seconds for me.
2013-12-24 16:34:19 -08:00
Thomas Goyne 6baa096a64 Add configure check to verify that boost was built with ICU support 2013-12-24 16:34:17 -08:00
Thomas Goyne 1645182b5d Add dependency on libaegisub for the tools directory 2013-12-24 12:41:42 -08:00
Thomas Goyne 5202829fbf Add stuff to .gitignore 2013-12-24 12:33:03 -08:00
Thomas Goyne 3e0ef08031 Merge the translations into the desktop file on install. Closes #1109. 2013-12-24 11:03:09 -08:00
Thomas Goyne 615f3b4880 Explicitly link boost.chrono
Boost.thread sometimes fails to link without this.
2013-12-24 10:16:05 -08:00
Thomas Goyne f95f2dcd25 Refactor spellchecker language listing 2013-12-24 09:42:20 -08:00
Thomas Goyne dbf5af1d49 Load the thesaurus dictionary asynchronously 2013-12-24 09:26:29 -08:00
Thomas Goyne 6957cd76a6 Refactor thesaurus language listing a bit 2013-12-24 09:25:45 -08:00
Thomas Goyne 6a193f280e Use a flat_map for the thesaurus index 2013-12-24 09:25:39 -08:00
Thomas Goyne d9a2669389 Add tool to repack thesaurus dictionaries
The standard MyThes dictionaries include words that we don't support
(nearly half the entries in the English dictionary have speaces in them)
which waste space, and they aren't UTF-8 which slows down loading as we
need to convert them.

Knocks a total of 10 MB off the thesaurus dictionaries.
2013-12-24 09:23:49 -08:00
Thomas Goyne c28a02a34d Don't overwrite alpha when using the color picker screen dropper 2013-12-24 09:23:32 -08:00
Thomas Goyne f534205a91 Make line_iterator less slow 2013-12-24 09:23:28 -08:00
Thomas Goyne 45726bea3c Fix loading automation script names from subtitle files 2013-12-23 11:46:52 -08:00
Thomas Goyne 22e4a8bd58 Ignore errors when canonicalizing paths for automation
It's only being done to make the error reporting prettier, so it failing
shouldn't block the loading of the file.
2013-12-23 11:37:20 -08:00
Thomas Goyne 41ce8d7c31 More crash log writing fixes 2013-12-23 10:19:01 -08:00
Thomas Goyne 40da549a56 Set the path to write crash recovery files to correctly 2013-12-23 10:00:24 -08:00
Thomas Goyne 1601c9c68d Handle uncaught exceptions thrown from more places 2013-12-23 09:07:20 -08:00
Thomas Goyne 3d6cbc8c99 Don't spam the user with many dialogs when pasting invalid styles
Just show a single error dialog regardless of the number of styles that
failed to parse.
2013-12-23 07:54:13 -08:00
Thomas Goyne 3c8160f1e3 Preserve the detached video dialog size when changing tools
The relayout to handle the changed subtoolbar size was fitting the
dialog to the size of the video, which was rather undesirable.
2013-12-21 08:25:01 -08:00
Thomas Goyne 32acb6067b Fix the default angle for styles 2013-12-16 20:23:02 -08:00
Thomas Goyne 01431aca41 Build stuff with /Gw
It's not very useful, but it doesn't appear to have any downsides.
2013-12-15 15:31:51 -08:00
Thomas Goyne d0bcc2e22c Apply the line's shear to the x/y rotation grid 2013-12-15 08:06:50 -08:00
Thomas Goyne 80cb3d04c7 Make the X/Y rotation grid much bigger
This is still a totally arbitrary size. Maybe it should be customizable
or adaptive somehow?
2013-12-13 19:51:44 -08:00
Thomas Goyne 41434ec5a1 Cut down on magic numbers in the drawing code for the x/y rotate grid 2013-12-13 19:47:29 -08:00
Thomas Goyne 70440a8874 Switch to unpatched libass since it's compilable with VC++ 2013 2013-12-12 10:28:27 -08:00
Thomas Goyne be485dd4d4 Use raw string literals for regular expressions where useful 2013-12-12 09:27:52 -08:00
Thomas Goyne cb0a55839d Switch to using the VC++ 12 redist in the portable installer 2013-12-12 06:41:05 -08:00
Thomas Goyne 14fcfce71a Delete pre-3.0 hotkey/option migration information 2013-12-12 06:36:54 -08:00
Thomas Goyne f8828f6658 Add semicolons to things that apparently sometimes need semicolons 2013-12-11 20:26:11 -08:00
Thomas Goyne 30b475410e Fix compilation with boost 1.52. Closes #1670. 2013-12-11 19:36:29 -08:00
Thomas Goyne 0a19a6d8f5 Don't use uniform initialization for structs because VC++ 2013 is buggy 2013-12-11 19:16:16 -08:00
Thomas Goyne 038eb6e58b Use the new much shorter event names 2013-12-11 18:50:12 -08:00
Thomas Goyne 7c68c81ea3 Remove #ifs for older versions of wx 2013-12-11 18:50:12 -08:00
Thomas Goyne e9f2194ca6 Bump required version of wx to 3.0.0 2013-12-11 18:50:12 -08:00
Thomas Goyne 6fad60e58d Use NSDMIs where applicable 2013-12-11 18:50:12 -08:00
Thomas Goyne d6a5d9c458 Use initializer lists in some places 2013-12-11 18:50:11 -08:00
Thomas Goyne a84e463a06 Fix test compilation on windows 2013-12-11 15:03:45 -08:00
Thomas Goyne af96b305bf Switch to VC++ 2013 on Windows
Remove the faux-variadic make_unique since 2013 has real variadic
templates.

Switch to the non-deprecated windows version check functions.

Switch to the develop branch of boost since master doesn't fully support
VS 2013 atm.

Fix some assorted compilation errors.

Hardcode the paths to a bunch of Visual Studio things since it's now
expanding the relevant macros to nothing for whatever reason.
2013-12-11 15:02:35 -08:00
Thomas Goyne 5493c025bc Fix the color picker recent colors box on OS X
SetBitmap triggers a size event, which results in UpdateBitmap being
called again. For some reason, rather than being an infinite loop this
just resulted in the bitmap never being set.
2013-12-11 10:14:55 -08:00
Thomas Goyne 5b7b5811f1 Remove pointless sizer in the colorpicker dialog 2013-12-11 09:38:40 -08:00
Thomas Goyne fc7bf8f1b0 Fix AssAttachment::Clone 2013-12-11 07:55:17 -08:00
Thomas Goyne 5776e058eb Update ffms2 version 2013-12-10 15:27:17 -08:00
Thomas Goyne d4c831e346 Fix crash when FFMS_GetCodecNameI returns NULL 2013-12-10 12:37:03 -08:00
Thomas Goyne 16d55f9d64 Also add the track cursor font name option to the non-OS X config file 2013-12-10 12:08:36 -08:00
Thomas Goyne 533bb4cd1c Fix crash when writing crash logs 2013-12-10 10:38:57 -08:00
Thomas Goyne c83b2ace2a Eliminate CoreText warnings on 10.9 from the audio track cursor 2013-12-10 09:18:27 -08:00
Thomas Goyne 85148002bc Get the UI font from CoreText on OS X 2013-12-10 09:08:30 -08:00
Thomas Goyne 1935e77261 Codesign the app bundle before creating the dmg 2013-12-09 13:55:44 -08:00
Thomas Goyne 29eb7b5e9e Preserve the filename header when reading attachments 2013-12-09 13:45:29 -08:00
Thomas Goyne 23a21b33b1 Use a fixed-size buffer for log messages
libc++'s implementation of ostrstream seems to have incorrect
range-checking and does some out-of-bounds reads and writes whenever a
resize is needed, which results in crashes on 10.7 (but not 10.9 for
unknown reasons).
2013-12-09 12:47:32 -08:00
Thomas Goyne f886237623 Update boost version 2013-12-08 14:38:47 -08:00
Thomas Goyne f56f9ade9b Merge pull request #5 from 11rcombs/osx-build-tweaks
Tweaked OSX build to not hate /usr/local quite as much
2013-12-08 06:53:16 -08:00
11rcombs 8e249b249e Tweaked OSX build to not hate /usr/local quite as much 2013-12-07 23:21:07 -06:00
Nuria Andión 9fe5ef7b86 Update Galician translation. Closes #1167. 2013-12-06 15:27:01 -08:00
sL1pKn07 079b341f98 Fix permissions on installed files. Closes #1669. 2013-12-06 15:25:17 -08:00
Thomas Goyne 4c1a8a21b9 Fix assertion failure when deleting all lines
Lines need to be deselected before they're deleted, but new lines need
to be committed before they can be selected, so reorder things to
remove -> insert new line if needed -> commit -> update selection -> delete.
2013-12-01 20:27:31 -08:00
Thomas Goyne 11d1348c2c Fix check for if the first arg to log is a number 2013-11-27 17:14:19 -08:00
Thomas Goyne 0b1b10fb52 Remove the installed copy of the docs
Keeping them up to date is annoying.
2013-11-24 09:19:33 -08:00
Thomas Goyne 795697fff5 Update to wx 3.0.0 2013-11-23 15:10:23 -08:00
Thomas Goyne 91e4cd292e Fix keyboard layout handling issues in time edits. Closes #1630. 2013-11-23 15:07:53 -08:00
Shimapan 53a90d5f18 Update german translation 2013-11-23 13:04:31 -08:00
Thomas Goyne a69f0d8af8 Regenerate aegisub.pot 2013-11-23 12:50:00 -08:00
Thomas Goyne 64a9026e57 Delete make_pot.bat 2013-11-23 12:47:49 -08:00
Thomas Goyne 14c57aad6e Update versions in make_pot.sh 2013-11-23 12:47:48 -08:00
Thomas Goyne 8aa0842b14 Add option to build with OpenAL on Windows 2013-11-23 10:18:18 -08:00
Thomas Goyne 1f66e776c1 Fix uncaught exception when resampling empty drawings 2013-11-23 09:57:22 -08:00
Thomas Goyne cf76fb343f Fix compilation of thesaurus tests 2013-11-23 09:57:22 -08:00
Thomas Goyne a7f4fb5b87 Run clang-modernize on things 2013-11-23 09:57:22 -08:00
Thomas Goyne 2e051a8fde Fix non-pch compliation 2013-11-23 09:57:21 -08:00
Thomas Goyne 3d573f0e70 Add Split at cursor (at video frame) 2013-11-17 17:21:23 -08:00
Thomas Goyne 0ef9963782 Replace Duplicate and Shift with Split (before|after) current frame
If the current frame is outside the bounds of the selected line, create
a duplicate of it at the current video frame. Otherwise, make the line
end on the previous frame and create a copy of it which starts on the
current frame (for split before).
2013-11-17 15:07:17 -08:00
Nuria Andión e5f1dc48fb Add Galician translation 2013-11-10 07:40:14 -08:00
Thomas Goyne bf13603ae1 Swallow all filesystem errors when automatically opening audio from video 2013-11-10 07:25:31 -08:00
Thomas Goyne 747e34b981 Fix crash when a subtitles file is not found 2013-11-09 15:56:18 -08:00
Thomas Goyne f0ff8c6179 Improve the error message in the fonts collector when a style does not exist
Closes #1661.
2013-11-09 06:25:51 -08:00
Thomas Goyne 466b69ba59 Fix ESC handling in automation dialogs when no button IDs are set
Closes #1660.
2013-11-09 06:17:41 -08:00
Thomas Goyne f0ef14669f Handle override blocks starting at the beginning of the line correctly 2013-11-04 13:54:12 -08:00
Thomas Goyne 10cbff0ee2 Fix crash when adjusting vertical zoom 2013-11-03 06:21:02 -08:00
Thomas Goyne 62a81df4b2 Fix handling of unpaired braces in the edit box buttons 2013-11-03 05:38:13 -08:00
Thomas Goyne 0a34a5fc94 Always search all lines if only one line is selected
I.e. ignore the "In Selection" option for find (but not Replace All) if
the selection is probably not meaningful.
2013-11-02 16:25:31 -07:00
Thomas Goyne a8bee18308 Select the contents of the Find Next box when the dialog is first created
It was only being selected when the dialog already existed and was just
being re-shown.
2013-11-02 07:57:57 -07:00
Thomas Goyne 766b82d71b Fix some edge-cases in the thesarus code
Handle missing parts-of-speach and trailing pipes on lines.
2013-11-02 07:53:04 -07:00
tophf 3948bdc6f4 Fix trimming of second line in Recombine Lines 2013-11-01 08:44:21 -07:00
Thomas Goyne dd325acd81 Add accelerators to more stuff in the find/replace dialog 2013-10-29 09:35:54 -07:00
Thomas Goyne e15ef04b72 Limit shift times history to the last 50 shifts 2013-10-27 13:08:58 -07:00
Thomas Goyne 95ef444c20 More unique_ptr 2013-10-27 13:07:19 -07:00
Thomas Goyne eee4da0642 Change the selection before committing deletions of lines
For whatever reason this was sometimes being done after the commit,
which resulted in a lot of code only working by coincidence when the
grid commit handler happened to be the first one to be called.
2013-10-27 07:03:51 -07:00
Thomas Goyne 2f14c395e7 Preserve line current length in Duplicate and Shift
It's quite rare to actually want a multi-frame line followed by a
single-frame line; in most cases they're either all a single frame (in
which case this behaves the same as it always has), or they're all
multi-line, in which case this should be more convenient.
2013-10-26 08:44:16 -07:00
Thomas Goyne 1f04d02c1b Fix check for script yuv matrix matching video yuv matrix 2013-10-25 16:31:56 -07:00
Thomas Goyne f275ed5628 Update the manual URL now that the 3.1 manual partially exists 2013-10-25 14:10:33 -07:00
Thomas Goyne 5f63a3fcce Remove the help/files command
The local docs it tries to open don't actually exists and if they're
ever added, the help contents command opens them anyway so I'm not sure
what the intended purpose of the command ever was.
2013-10-25 14:09:42 -07:00
Thomas Goyne 3a852f102d Remove entirely superfluous doxygen comments in commands 2013-10-25 14:03:35 -07:00
Thomas Goyne 51d516979b Improve some help text for commands
Consistently use the imperative mood and expand some overly terse help
messages.
2013-10-25 13:54:20 -07:00
Thomas Goyne c5e30709a6 Add a command to cycle between subtitle providers 2013-10-24 14:32:49 -07:00
Thomas Goyne 879ef35bd4 Add missing include 2013-10-24 13:17:53 -07:00
Thomas Goyne e737ea415d Fix compilation with UTF-8 wxString 2013-10-24 13:16:13 -07:00
Thomas Goyne 50f92ef573 Actually uudecode attachments when extracting them
Closes #1653.
2013-10-24 09:00:42 -07:00
Thomas Goyne b1ecefe0f2 Remove pointless data member (CID #739030) 2013-10-23 17:08:27 -07:00
Thomas Goyne 01a38a5e86 Use more make_unique
Shuts up a bunch of Coverity false-positives and might fix a true
positive or two.
2013-10-23 17:08:12 -07:00
Thomas Goyne da5445a09f Fix incorrect scope of variable in mkv_wrap.cpp
Worked by coincidence since the required value was left on the stack.

CID #1111282.
2013-10-23 17:08:12 -07:00
Thomas Goyne 9936bf0eca Initialize drop when loading timecodes (CID #1111295) 2013-10-23 17:08:12 -07:00
Thomas Goyne 09a3174cb8 Initialize more stuff in OpenALPlayer's constructor (CID #1111296) 2013-10-23 17:08:11 -07:00
Thomas Goyne 0e2cc0938f Strongly bind global lua functions used in the standard modules 2013-10-22 08:55:04 -07:00
Thomas Goyne 8367f9960c Eliminate warnings with VS2012 + Win8 SDK 2013-10-22 07:45:23 -07:00
Thomas Goyne d3247d16fb Pass -mmacosx-version-min=10.7 to more stuff 2013-10-21 18:12:42 -07:00
Thomas Goyne 535a17bcf2 Remove pointess OSX_ prefix from functions 2013-10-21 18:11:37 -07:00
Thomas Goyne cbff449f8f Put config files in the right place on OS X 2013-10-21 18:09:34 -07:00
Thomas Goyne eeb574b1f9 Fix dmg creation on 10.9 2013-10-17 10:08:27 -07:00
Thomas Goyne 2640dc42a1 Fix EBU STL export 2013-10-17 09:43:44 -07:00
Thomas Goyne 73e1dc1b60 Honor the color matrix tag from the subtitles file when appropriate
If the script's matrix matches the video's matrix, use that even if
Force BT.601 is on, and if it's TV.601, use that even if Force BT.601 is
off.

This should mostly eliminate the common problems resulting from  mixed
values of the Force BT.601 option.

Closes #1649.
2013-10-17 08:04:03 -07:00
Thomas Goyne 4116f030af Clean up factory_manager a bit 2013-10-16 18:08:43 -07:00
Thomas Goyne 7bd1da7d45 Fix saving screenshots of dummy video 2013-10-16 17:29:03 -07:00
Thomas Goyne e57035c832 Lock aspect ratio in the scale tool when alt is held down 2013-10-16 16:41:21 -07:00
Thomas Goyne b254a6823b Fix double confirmation when exiting with unsaved changes
For some reason the close event is getting sent multiple times and
them getting processed in the event loop for the confirmation dialog,
resulting in two dialogs.
2013-10-16 16:41:04 -07:00
Thomas Goyne 9ea3dbd847 Make ffmpeg explicitly depend on zlib 2013-10-16 14:04:42 -07:00
Thomas Goyne 9dbca06179 Actually copy the current value in IntValidator's copy constructor 2013-10-15 16:02:25 -07:00
Thomas Goyne d4a7a1a9b6 Build osx-bundle-restart-helper via the Makefile rather than as part of bundle creation 2013-10-15 12:17:47 -07:00
Thomas Goyne ebd01c50c9 Rewrite NumValidator
Split int validating and double validating into two separate classes.

Make double parsing, validating and stringifying locale-aware. This is
far more complicated than it needs to be due to that Aegisub's locale
handling is a total mess.

Use DoubleValidator rather than wxFloatingPointValidator, because the
latter doesn't work with Aegisub's locale mess (on OS X it uses the C
locale for some things, and the locale reported by CoreFoundation for
others).

Closes #1568.
2013-10-15 10:59:23 -07:00
Thomas Goyne 3691849bac Fix logging on OS X
Passing nullptr to ostrstream's constructor is a nonstandard extension
that libc++ doesn't support, and as it turns out preallocating a buffer
doesn't actually meaningfully improve performance anyway.
2013-10-13 09:06:46 -07:00
Thomas Goyne 82412e6428 Fix compilation with UTF-8 wxString 2013-10-12 08:41:37 -07:00
Thomas Goyne e5faae462f Remove some pointless configure checks
Speeds up configure by about 10%.
2013-10-11 18:45:22 -07:00
Thomas Goyne b0bbe748bf Move libass fork to Aegisub org on github 2013-10-09 07:13:55 -07:00
Thomas Goyne 267de7ed07 Fix crash when the video height or width is zero
Closes #1555. Closes #1644.
2013-10-08 15:21:26 -07:00
Thomas Goyne 4d8adff9d6 Build wx with wxStandardPaths enabled
It's still needed to get the path to the executable when restarting to
switch UI languages.
2013-10-08 07:33:01 -07:00
Thomas Goyne 6694baf3f0 Allow using , as the separator in time edit controls 2013-10-08 07:19:56 -07:00
Thomas Goyne 7a6fd4bb1e Make saving transient UI state in the file optional
It significantly increases the amount of noise when tracking subtitle
files in source control.

Closes #1535.
2013-10-07 17:57:16 -07:00
Thomas Goyne 1cdd461023 Separate UI state info from functional ASS info headers a bit
Prefix script info entries that are just storing Aegisub UI state with
"Aegisub ", and use a separate AssFile method to get/set them.
2013-10-07 17:57:16 -07:00
Thomas Goyne 62114d45f5 Fix reading MicroDVD files 2013-10-06 07:37:35 -07:00
Thomas Goyne 822c596206 Fix overriding charset for subtitle files
IconvWrapper needs the non-lowercased charset for the pretty -> real
name mapping to work.
2013-10-06 07:11:53 -07:00
Thomas Goyne 6f79d8731f Pass the detected or chosen charset to SubtitleFormat::CanReadFile
The MicroDVD format needs it since it also probes the file contents.
2013-10-06 07:04:40 -07:00
Thomas Goyne 73b0f7c88c Add support for Windows 7's taskbar progress indicator 2013-10-05 20:12:35 -07:00
Thomas Goyne 216b5ef0c7 Increase maximum template depth for parser.o
The latest version of clang has reduced the default.
2013-10-05 20:12:34 -07:00
Thomas Goyne 91c31f646e Opt out of AppNap while progress bars are active 2013-10-05 20:12:34 -07:00
Thomas Goyne 9a21c13cbe Use agi::scoped_holder to close files in mkvwrap 2013-10-05 15:41:22 -07:00
Thomas Goyne bbd4cbef78 Fix shifting contiguous selections downward
Reverse iterators behave differently from regular iterators when
swapping (regular iterators continue to point at the same elements,
while reverse iterators do not), so instead use regular iterators with a
negative step for shifting down.
2013-09-30 17:01:15 -07:00
Thomas Goyne 921d5ed01a Only paint the margin values in the grid if they're non-zero
Showing zero is mildly misleading since it's actually default margin
rather than no margin, and this makes it much easier to spot the rows
where there's actually an interesting value.
2013-09-27 18:02:54 -07:00
Thomas Goyne 04435a13a3 Remove some unused AudioPlayer methods 2013-09-26 20:31:20 -07:00
Thomas Goyne 703b1fc3a7 Extract common stuff for wrapper audio providers to a base class 2013-09-26 20:18:29 -07:00
Thomas Goyne 07ad40dd3f Improve audio loading progress reporting
Even without the animation the reported progress was an average of 1.5
blocks behind the actual progress, and with the animation it was two
blocks behind. Assuming constant-speed audio decoding it should now be
nearly accurate (it still ignores that the last block may be smaller
than the rest).
2013-09-26 19:01:18 -07:00
Thomas Goyne 932747e70a Make progress bars less jerky 2013-09-26 16:13:32 -07:00
Thomas Goyne 382708132c Update indexing progress less often
wxTheApp->QueueEvent is sufficiently slow that updating the progress
could sometimes take longer than the actual indexing.
2013-09-26 16:13:24 -07:00
Thomas Goyne a28aafcdab Fix crash when cancelling an automation script 2013-09-24 07:45:50 -07:00
Thomas Goyne 7651e83314 Fix setting selection/active line from automation scripts
The error handling function is under the results of the called function,
not at the top of the stack, so lua_pop was removing the wrong thing.
2013-09-23 14:15:45 -07:00
Thomas Goyne 8c7ec3a3b6 Don't build tests in release configuration 2013-09-22 19:06:58 -07:00
Thomas Goyne 260b37ba8e Fix line numbers for moonscript files in error messages 2013-09-22 18:44:03 -07:00
Thomas Goyne 646e5deb52 Canonicalize Automation script file names for nicer errors 2013-09-22 17:40:27 -07:00
Thomas Goyne 2be9218560 Double the size of the Automation log window 2013-09-21 16:20:19 -07:00
Thomas Goyne 32990fce49 Don't try to add stack traces to non-string errors 2013-09-21 16:12:19 -07:00
Thomas Goyne ec7d75d1ae Fix an occasional crash when loading Automation scripts
cmd::reg and AssExportFilterChain::Register are not thread-safe, so
guard them with a mutex.
2013-09-21 15:59:28 -07:00
Thomas Goyne f1ed0e4313 Fix display of automation errors on startup
The wxLogger isn't created until it's needed by the main thread, so any
errors logged on a background thread before the logger was first used on
the main thread were simply being discarded. Fix this by forcing the
creation of the logger very early in the startup process.
2013-09-21 12:52:11 -07:00
Thomas Goyne ced3dd7a7e Improve error reporting when an automation script fails to load
Cut down on the amount of redundant information displayed so that the
actual error is visible.
2013-09-21 12:10:37 -07:00
Thomas Goyne 1a8fbf35f1 Improve lua stack trace display 2013-09-21 11:22:58 -07:00
Thomas Goyne 8fade74026 Actually trim whitespace when combining lines
regex_replace does not mutate the string in place.
2013-09-21 11:21:25 -07:00
Thomas Goyne e315ceb236 Print the stack trace on lua errors 2013-09-21 09:44:44 -07:00
Thomas Goyne d81e2f45ac Add an option to ignore whitespace for the character counter 2013-09-20 07:43:33 -07:00
Thomas Goyne ac09590389 Devirtualize OptionValue::GetName 2013-09-20 06:51:04 -07:00
Thomas Goyne bd88cde436 Remove agi::OptionValue::GetDefault*
They aren't actually used for much of anything.
2013-09-20 06:51:04 -07:00
Thomas Goyne cb549e5aa9 Significantly speed up dragging lots of vector clip control points 2013-09-18 16:18:38 -07:00
Thomas Goyne 8d5a54ff5e Fix crash when smoothing freehand curves 2013-09-18 15:59:01 -07:00
Thomas Goyne 6a6c983f19 Add box selection to the move mode of the vector clip tool
Closes #1404.
2013-09-18 15:52:48 -07:00
Thomas Goyne c62ebf7e8b Use std::to_wstring rather than wxString::Format("%d", ...)
std::to_wstring is significantly faster and is a bit shorter.
2013-09-18 08:32:30 -07:00
Thomas Goyne 64ecd29169 Switch to using an intrusive list for the visual tool features
Slightly improves performance and eliminates a bunch of really clunky
passing around and storing of iterators.
2013-09-17 16:23:36 -07:00
Thomas Goyne b4ba31fe45 Bump dependency versions 2013-09-17 09:09:57 -07:00
Thomas Goyne 6cd6ee9845 Use auto more places 2013-09-17 07:51:07 -07:00
Thomas Goyne 0d50820178 Clean up BaseGrid a little 2013-09-17 07:51:06 -07:00
Thomas Goyne e5afaf8a45 Handle subtitle lines pasted into the edit box
If the text being pasted can be parsed as ASS dialogue events, then do
so even if the edit box is focused since it's rather unlikely that
the user actually wants ASS subtitle events in their subs.
2013-09-16 11:02:20 -07:00
Thomas Goyne 5787ca4ae0 Cache widths of strings in SetColumnWidths 2013-09-16 10:43:56 -07:00
Thomas Goyne 079ccc728d Significantly speed up resizing the window with large files open
SetColumnWidths can take a long time to run and the only column that can
change width on resize is the last one, so only update that.
2013-09-16 10:26:41 -07:00
Thomas Goyne bb89378b7f Skip empty lines in the kanji timer 2013-09-16 09:43:57 -07:00
Thomas Goyne 98048c135a Shut up clang analyzer warning 2013-09-16 08:40:27 -07:00
Thomas Goyne e72e183f27 Remove incorrect ! in check for changed calltip position 2013-09-16 07:58:06 -07:00
Thomas Goyne af2028e971 Pass unique_ptrs around by value 2013-09-16 06:43:17 -07:00
Thomas Goyne 40a0d8b2f7 Actually delete the lines in AssFile's destructor 2013-09-15 16:58:04 -07:00
Thomas Goyne bfc7f56e20 Only go back one line rather than two 2013-09-15 15:37:49 -07:00
Thomas Goyne 80c9f67ce8 Rewrite the auto-matcher for the karaoke timing copier
Operate on characters rather than bytes in the dialog so that it
actually works with Kanji.

Rewrite the auto-matcher to handle more cases and add unit tests for it.
2013-09-15 14:52:16 -07:00
Thomas Goyne 3e3bd37a26 Switch to using Bind for DialogKanjiTimer events 2013-09-14 08:26:59 -07:00
Thomas Goyne 1d7334c129 Disable the wxGTK accelerator workaround for wx 2.9.5
Unsurprisingly the munging around with the menu bar implementation
details has resulted in things breaking, but fortunately the problem it
was working around (#1314) appears to have been fixed entirely.

Closes #1628.
2013-09-01 13:34:53 -07:00
Thomas Goyne 2a35763a8a Add Backspace to the table of key names. Closes #1631. 2013-09-01 12:27:42 -07:00
Thomas Goyne 51b21576cc Support duplicate order numbers in Matroska files
Such files are pretty broken, but apparently other stuff allows it.
2013-08-26 17:25:26 -07:00
Thomas Goyne f427c4574d Revert "Don't invert horizontal scroll on the audio display on OS X"
This has been fixed upstream.
2013-08-20 12:20:37 -07:00
Thomas Goyne 0b210673f9 Zoom into the mouse's position in the audio display
Rather than pinning the time at the center of the audio display, pin the
time at the mouse's position since that's the area the user probably
cares about. If the mouse is not over the audio display (such as if the
user is adjusting the zoom via the sliders rather than the mouse wheel),
just use the center as it used to.
2013-08-20 12:11:39 -07:00
Thomas Goyne 1f5b98b11d Bump ffmpeg and boost versions 2013-08-19 12:51:19 -07:00
Thomas Goyne b4c2349b88 Switch git submodules to git:// rather than ssh
Fetching stuff via ssh requires a Github account.
2013-08-19 12:51:19 -07:00
Thomas Goyne 50eda65a14 Switch to the official FFMS2 git repo now that there is one 2013-08-19 12:51:19 -07:00
Thomas Goyne 6c5adde19a Fix wx compilation and silence a warning when compiling wx 2013-08-19 12:51:19 -07:00
Maxime Gauduin 0a2c0ab75e wxStandardPaths is protected as of wxgtk 2.9.5
Closes #1625, #1626, #1627.
2013-08-18 19:14:53 -07:00
Thomas Goyne aa66bcd8b7 Update to latest wxWidgets 2013-08-18 18:47:26 -07:00
Thomas Goyne ae9f05d876 "Allow grid to take focus" -> "Focus grid on click"
The grid can still be focused via the keyboard, so the previous label
was misleading.
2013-08-17 15:10:17 -07:00
Thomas Goyne f714d60a54 Build parser.cpp first
Shaves a few seconds off parallel builds with 4+ cores by avoiding
having everything else finish while it's still building.
2013-08-17 15:08:58 -07:00
Thomas Goyne b68578f1d9 Eliminate a bogus limit of 100 for a bunch of rarely-used options 2013-08-17 15:06:07 -07:00
Thomas Goyne dd6542c143 Use ForwardMouseWheelEvent rather than checking window bounds 2013-08-14 20:09:10 -07:00
tophf c7aba2f54a Also forward page up/down and home/end from the video slider to the subs grid 2013-08-14 20:06:16 -07:00
tophf 51edb4caca Add support for the scroll wheel to the video slider 2013-08-14 20:05:48 -07:00
Thomas Goyne 9eca8c5733 Correct custom labels for buttons with standard IDs 2013-08-10 07:50:07 -07:00
Thomas Goyne 92887b53cf Fix crash when pasting styles in the styles manager 2013-08-08 20:36:12 -07:00
Thomas Goyne 106fb663c7 Eliminate a pointless roundtrip through wxString when copying styles to the clipboard 2013-08-08 20:18:12 -07:00
tophf 74fbe22afe Honor custom labels for buttons with standard IDs 2013-08-01 20:42:01 -07:00
Thomas Goyne 52d67accb4 Fix some issues with resampling drawings
The X scale/offset was being used for both X and Y coordinates.

Only non-negative integers were supported. xy-VSFilter and libass both
now support non-integer coordinates, and negative coordinates have of
course always been valid. Resampled coordinates are now rounded to
eighth-pixels rather than whole pixels.
2013-07-30 20:50:31 -07:00
Thomas Goyne 13d31d17ef Return full paths from aegisub.dialog.open rather than just filenames 2013-07-21 16:38:32 -07:00
Thomas Goyne 5ebc2032d4 Fix test compilation 2013-07-13 09:50:21 -07:00
Thomas Goyne c4dae9e783 Support reading keyframes files from ffmpeg/avconv 2013-07-13 08:40:57 -07:00
Thomas Goyne d0779e7ed7 Make DialogTranslation::UpdateDisplay a bit less slow 2013-07-11 20:18:41 -07:00
Thomas Goyne b9b804ff55 Fix selection preserving in SubsTextEditCtrl::SetTextTo
Calling GetReverseUnicodePosition on the selection positioning after
calling SetText resulted in the conversions between UTF-8 indices and
wxString indices just being a very slow no-op.
2013-07-10 18:03:17 -07:00
Thomas Goyne 8ab163cb5a Make GetReverseUnicodePosition less horribly awful 2013-07-10 17:43:41 -07:00
Thomas Goyne 5ff42d9469 Also handle wxID_CANCEL in DialogManager
wxEVT_CLOSE_WINDOW is only triggered from the platform's close buttons,
not cancel buttons/ESC, so modeless dialogs closed in that way were not
getting deleted.
2013-07-09 08:35:51 -07:00
Thomas Goyne 791c1f88ad Remove pointless wxID_CANCEL binding 2013-07-09 08:35:51 -07:00
Thomas Goyne e0bf0317c9 Fix display of Unicode font names in the fonts collector dialog 2013-07-09 08:35:50 -07:00
Thomas Goyne 2fdbc73721 Fully extract the resolution resampling logic from DialogResample 2013-07-09 08:35:50 -07:00
Thomas Goyne ce23d72399 Kill AssDialogue::GetMarginString
It didn't actually make the calling code any shorter or simpler.
2013-07-09 08:35:50 -07:00
Thomas Goyne bb83193253 Kill AssDialogue::SetMarginString
It's no longer used anywhere.
2013-07-09 08:35:50 -07:00
Thomas Goyne df73591a54 Load autoloaded automation scripts in parallel 2013-07-09 08:35:50 -07:00
Thomas Goyne a75b7f6ca8 Prefetch the list of fonts for the style editor dialog
On my machine (with ~5000 fonts installed), enumerating the installed
fonts was about 75% of the total construction time of the style editor
dialog.
2013-07-09 08:35:50 -07:00
Xabier Aramendi (Azpidatziak) 55379d506a Update Basque translation 2013-07-04 10:45:38 -07:00
Thomas Goyne c542922a88 Use -Wno-c++11-narrowing when available
Needed to build boost.gil with Apple Clang 5.0
2013-07-04 08:29:06 -07:00
Thomas Goyne ecc08f5e77 Fix conversion of video frames to RGB
Video frames aren't actually BGRA; the alpha channel is actually just
garbage since CSRI uses 0 for opaque and other things use 255. To work
around this, add a custom colorspace converter.

Fixes the subtitles preview in the style editor and copying frames to
the clipboard/saving them.

Closes #1621.
2013-07-04 08:25:25 -07:00
Thomas Goyne cb3b72af36 Update to moonscript 0.2.4 2013-07-03 16:11:42 -07:00
Thomas Goyne 6b07002083 Fix libass compilation on Windows 2013-07-03 16:00:49 -07:00
Thomas Goyne dd49539555 Eliminate double dot in temporary file names
Probably didn't cause any problems, but it was slightly ugly.
2013-07-02 20:09:01 -07:00
Thomas Goyne af74371f6d Retry commits of file writes for up to a second to work around AV scanning
Poorly-written antivirus software briefly lock newly written files to
scan them for viruses, which makes the rename from the temp file to
actual file fail. Work around this by retrying the rename up to ten
times.

Closes #1620.
2013-07-02 20:09:01 -07:00
Thomas Goyne b77ca808d0 Bump dependency versions 2013-07-02 20:08:58 -07:00
Thomas Goyne 5bf4f80920 Slightly simplify spectrum image generation in the colorpicker 2013-07-02 20:08:57 -07:00
Thomas Goyne e2022449d9 Use gil in ColourButton rather than wxMemoryDC
Basic drawing with wxMemoryDC is relatively slow.
2013-07-02 20:08:57 -07:00
Thomas Goyne 991569463a Fix the Select None button in the export dialog 2013-07-01 18:52:15 -07:00
Thomas Goyne a1d44cafc1 Redesign VideoFrame
Eliminate the manual memory management and shuffle around where the
copies are made to eliminate the need for non-owning video frames.
2013-07-01 18:35:09 -07:00
Thomas Goyne 8760c9a547 Use unique_ptr in Connection rather than a shared_ptr 2013-06-30 16:06:36 -07:00
Thomas Goyne 098ffd0a92 Clean up signal.h a little 2013-06-30 15:51:51 -07:00
Thomas Goyne 7473fb1af6 Fix issues with loading the video AR from subtitles
Removing the first character from the non-custom case resulted in an
error when the value was empty and resulted in nothing happening when a
valid value was present.
2013-06-30 15:37:07 -07:00
Thomas Goyne 96d7912d0b Only generate fake focus lost events when using the generic implementation 2013-06-26 12:59:10 -07:00
Thomas Goyne a4dd4f6986 Send a fake focus lost event to wxSpinCtrlDouble before reading the value
wxSpinCtrlDouble only updates its value when the spin button is clicked
or it loses focus, and in some cases we want to read the value while it
still has focus.

Closes #1610.
2013-06-26 12:15:31 -07:00
Thomas Goyne 5199923a66 Correctly strip the separator character when loading plain-text files 2013-06-26 11:26:18 -07:00
Thomas Goyne b3ff6a854d Allow malformed timestamps in SRT. Closes #1614. 2013-06-22 07:54:56 -07:00
Thomas Goyne 135133e4c2 Allow garbage after the timestamp in SRT files. Updates #1614. 2013-06-22 07:53:42 -07:00
Thomas Goyne 7c7cfc79e6 Delete SubtitlesGrid since it's now empty 2013-06-18 19:43:16 -07:00
Thomas Goyne ad58ae14bf Extract RecombineLines from SubtitlesGrid 2013-06-18 19:43:16 -07:00
Thomas Goyne bda127144d Extract adjoin lines logic from SubtitlesGrid 2013-06-18 19:43:16 -07:00
Thomas Goyne e0fcfef32e Remove some unused includes in video_box.cpp 2013-06-12 20:01:21 -07:00
Thomas Goyne ca9a2f533e Clean up DialogJumpTo slightly 2013-06-12 20:01:21 -07:00
Thomas Goyne d2a16ed923 Slightly simplify DialogVideoDetails 2013-06-12 20:01:21 -07:00
Thomas Goyne de7b09f7f7 Change some enums into enum classes 2013-06-12 20:01:21 -07:00
Thomas Goyne e99f4c4da1 Simplify clipboard_set slightly 2013-06-12 15:52:30 -07:00
Thomas Goyne b90a77c74b Update the title of the detached video dialog when videos are opened. Closes #1607. 2013-06-12 14:21:56 -07:00
Thomas Goyne 0acec9c874 Fix crash when opening non-cached audio 2013-06-12 14:13:35 -07:00
Thomas Goyne 3306ee126d More unique_ptr 2013-06-11 20:54:07 -07:00
Thomas Goyne b67a0538ff Drop support for non-little-endian platforms
Aegisub doesn't actually currently run on any.
2013-06-11 20:54:07 -07:00
Thomas Goyne 160346df99 Remove a bunch of cruft from the configure script 2013-06-11 19:52:44 -07:00
Thomas Goyne 4472552fab Fix setting the style editor preview background color 2013-06-11 19:46:28 -07:00
Thomas Goyne 39bff418ca Remove handling for no subtitle providers available 2013-06-11 19:46:26 -07:00
Thomas Goyne 9735397a93 Make libass a hard dependency
There's really no point in letting people build Aegisub without any
subtitle renderers.
2013-06-11 19:46:12 -07:00
Thomas Goyne f5ee5ca740 Use ColorValidator in DialogStyleEditor 2013-06-11 19:46:10 -07:00
Thomas Goyne 77dd026555 Extract ColorValidator from Automation's dialog stuff 2013-06-11 16:32:59 -07:00
Thomas Goyne 72d4577d7d Kill scoped_ptr in favor of unique_ptr 2013-06-11 16:06:58 -07:00
Thomas Goyne 9133f17e82 Insignificantly speed up opening UTF-8 files 2013-06-09 07:56:20 -07:00
Thomas Goyne 2a2a623bb4 Fix importing styles from files in non-local charsets (i.e. hopefully all of them) 2013-06-09 07:53:07 -07:00
Thomas Goyne ef2a39fc7b Eliminate pointless UTF-8 -> utf-8 conversion 2013-06-09 07:39:00 -07:00
Thomas Goyne 51d083fe70 Add "edit/line/duplicate/shift_back" to the default grid context menu 2013-06-08 19:22:10 -07:00
Thomas Goyne 7658f6e329 Add default hotkey for "edit/line/duplicate/shift_back" 2013-06-08 19:21:51 -07:00
Thomas Goyne cff5afbb08 Don't overwrite existing hotkeys in migrations 2013-06-08 19:21:51 -07:00
Thomas Goyne 9809b66f61 Redesign hotkey migration logic to not rely on monotonically increasing revisions 2013-06-08 19:21:51 -07:00
Thomas Goyne e693fa97ba Clean up the hotkey code a bit 2013-06-08 19:21:51 -07:00
Thomas Goyne 6c08f53d1b Delete pre-3.0.0 hotkey migrations 2013-06-08 19:21:50 -07:00
Thomas Goyne f21a72992b Use unique_ptr for most non-wx owning pointers 2013-06-08 19:21:49 -07:00
Thomas Goyne d81dfc1e73 Use a unique_ptr in agi::io::Save 2013-06-08 19:21:31 -07:00
Thomas Goyne f051e59a61 Return a unique_ptr from agi::io::Open 2013-06-08 19:21:31 -07:00
Thomas Goyne cf7d548d17 Cosmetics in line_iterator 2013-06-08 19:21:31 -07:00
Thomas Goyne e668cc45e0 Delete stuff for VS 2008 2013-06-08 19:21:31 -07:00
Thomas Goyne 995a8642f0 Clean up vfr.cpp a little 2013-06-08 19:21:31 -07:00
Thomas Goyne 2781df7ce9 Use std::begin/std::end rather than countof 2013-06-08 19:21:30 -07:00
Thomas Goyne 151b1cb6ac Kill AegiFloatToString and AegiIntegerToString 2013-06-08 19:21:30 -07:00
Thomas Goyne ed7151a7a5 Remove some unneeded forward declarations 2013-06-08 19:21:30 -07:00
Thomas Goyne 5c4279a654 Add command "edit/line/duplicate/shift_back" 2013-06-08 19:21:28 -07:00
Thomas Goyne 48c44440f7 Set the horizontal zoom option consistently
Always store the actual zoom level, rather than sometimes the zoom level
and sometimes the slider position.

Updates #1597.
2013-06-05 19:03:47 -07:00
Thomas Goyne 8f65d43b6c Change the syntax for setting automation button IDs to be more backwards compatible 2013-05-27 13:10:05 -07:00
Thomas Goyne f90a5b21e9 Remove the hack for dynamically linking the runtime for FFmpeg as it's been fixed upstream 2013-05-27 10:50:28 -07:00
Thomas Goyne eacaf9bd67 Update to latest FFmpeg master 2013-05-27 10:36:38 -07:00
Thomas Goyne eac4a9f96d Don't set the focus on the default button in automation dialogs 2013-05-27 07:42:47 -07:00
Thomas Goyne ad695cf0a5 Escape the contents of object keys when writing JSON 2013-05-27 07:42:42 -07:00
Thomas Goyne 7deca9f43c Update to latest wx trunk 2013-05-26 15:53:44 -07:00
Thomas Goyne 5462d35708 Actually read the values from controls in automation dialogs 2013-05-26 08:37:15 -07:00
Thomas Goyne 6308104031 Fix dialog control table loading when there are buttons 2013-05-26 08:37:15 -07:00
Thomas Goyne bfa5a8df1e Use lua_for_each more places 2013-05-25 16:31:48 -07:00
Thomas Goyne e84b24e9f3 Implement TransferToWindow in DoubleValidator. Closes #1606. 2013-05-25 15:46:57 -07:00
Thomas Goyne 061e2a1ada non-pch compilation 2013-05-25 15:20:31 -07:00
Thomas Goyne 4c71fcc51b Don't invert horizontal scroll on the audio display on OS X
For some reason horizontal scroll comes pre-flipped.

Closes #1612.
2013-05-25 15:20:31 -07:00
Thomas Goyne 8e491a9ecc Add support for using standard button IDs from automation
Some example uses:

	-- ~special snowflake~ OK/Cancel
	aegisub.dialog.display(config, {ok='Accept', cancel='Cancel'})

	-- On OS X the 'Help' button will be just a left-aligned ?
	aegisub.dialog.display(config, {ok='OK', cancel='Cancel', help='Help'})

	-- Each button in its own subtable to preserve passed order
	-- Unnecessary when using only IDed buttons since the passed order will
	-- be ignored in favor of the platform-standard order
	aegisub.dialog.display(config,
	  {{ok='Accept'}, {cancel='Cancel'}, {help='Help'}, 'Another Button'})

In some cases the passed labels will be ignored in favor of the
platform-standard labels.

Available IDs:
	ok
	yes
	save
	apply
	close
	no
	cancel
	help
	context_help

Note that many combinations of button IDs do not make sense and may have
strange effects.

Buttons with an ID of 'cancel' return false, as if ESC was pressed. A
button with an ID of 'close' results in that button being triggered on
ESC rather than cancel.

Buttons with an ID of 'ok', 'yes' and 'save' are set as the default
affirmative button for the dialog.

Closes #1609.
2013-05-25 15:20:03 -07:00
Thomas De Rocker 657726b9ec Complete Dutch (nl) translation. Closes #1604. 2013-05-09 20:00:26 -07:00
Thomas Goyne f76b9ff356 Fix check for errors when compiling MoonScript 2013-05-09 06:27:35 -07:00
Thomas Goyne 536cff7cb6 Bump ICU version 2013-05-06 17:36:50 -07:00
Thomas Goyne ef459770a0 Add an option to ignore uppercase words when spellchecking. Closes #1460. 2013-05-06 17:36:25 -07:00
Thomas Goyne 3154090d2f Don't reuse commit IDs for new commits after undo. Closes #1598. 2013-05-05 21:01:02 -07:00
Thomas Goyne 95d773ebc9 Don't use the custom renders in the hotkeys editor on OS X
The standard controls aren't particularly usable, but the OS X
implementation of wxDVC doesn't actually support custom renderers and
not very usable is mildly better than entirely nonfunctional.

Updates #1589.
2013-05-05 20:55:10 -07:00
Thomas Goyne 2db687cc31 Remove use of copy_file from boost.filesystem
copy_file's signature varies depending on whether or not boost was
compiled as C++11, which makes Linux packaging awkward.

Closes #1580. Closes #1581.
2013-05-05 08:17:55 -07:00
Thomas Goyne 6e62f9e461 Pass the filename to moonscript.loadstring for error reporting 2013-05-04 18:31:33 -07:00
Thomas Goyne 5dd982b742 Fix util.deep_copy 2013-05-04 17:05:42 -07:00
Thomas Goyne d9ad794dcb Add FFTW3 to .gitignore 2013-05-04 06:47:13 -07:00
Thomas Goyne c23c3682aa Also set the moonpath for the automation tests 2013-05-04 06:26:14 -07:00
Thomas Goyne 3785cbb3a6 Remove lingering stuff from the fftw submodule 2013-05-04 06:14:16 -07:00
Thomas Goyne cefc045c05 Enable wxRegKey since a bunch of random stuff depends on it 2013-05-03 22:32:03 -07:00
Thomas Goyne 24735a2fbb Add lua CFLAGS for lpeg.o 2013-05-03 20:14:10 -07:00
Thomas Goyne d9cb5ae574 Update automation files to install 2013-05-03 20:00:55 -07:00
Thomas Goyne 6ec305f76b Fix non-pch compilation 2013-05-03 17:57:32 -07:00
Thomas Goyne 39f2a09aee Update installer files 2013-05-03 17:57:32 -07:00
Thomas Goyne 19854e207a Add native support for MoonScript 2013-05-03 17:57:32 -07:00
Thomas Goyne 99d74e18b3 Add LPeg 0.10
0.11 has a bug that makes it crash on MoonScript, and 0.12 is much slower.

LPeg isn't packaged as a C library and consists of a whopping two files
so just compile it as part of Aegisub.
2013-05-03 06:41:07 -07:00
Thomas Goyne 34be32d570 Don't build the automation tests helper so by default 2013-05-02 18:07:05 -07:00
Thomas Goyne bdebf392e2 Fix ipairs on tables 2013-05-02 17:57:06 -07:00
Thomas Goyne 4662f34774 Use std::this_thread on Windows to avoid having to build boost.chrono 2013-05-02 09:25:18 -07:00
Thomas Goyne 0638af6825 Use agi::line_iterator for loading keyframe files
line_iterator supports Windows newlines on non-Windows platforms, unlike
istream_iterator.
2013-05-02 09:20:54 -07:00
Thomas Goyne 1b96bf748f Fix calls to other util functions from within util functions 2013-05-02 07:44:40 -07:00
Thomas Goyne 9bcc6efcc8 Export the string functions from utils-auto4.lua 2013-05-02 07:30:25 -07:00
Thomas Goyne ffb8c29ca2 Set the maximum end time seen correctly in select-overlaps 2013-05-01 21:21:07 -07:00
Thomas Goyne b2f5a993d9 Actually define __ipairs on LuaAssFile 2013-05-01 21:21:07 -07:00
Thomas Goyne 995e0d85e9 Make pairs and ipairs call the appropriate metamethods when present
As is done in Lua 5.2. This makes it possible to use ipairs on the
subtitles object.
2013-05-01 21:21:07 -07:00
Thomas Goyne a6f7375427 Add lua cflags for auto4_regex.cpp 2013-04-29 20:32:27 -07:00
Thomas Goyne e033078488 Make automation depend on libaegisub 2013-04-29 20:28:24 -07:00
Thomas Goyne 05baa4b0e4 Fix compilation with gcc 4.7 2013-04-29 20:24:33 -07:00
Thomas Goyne 380e5fd99f Use boost::thread in LibassSubtitlesProvider
libstdc++ 4.7's std::thread is missing sleep_for.
2013-04-29 20:18:29 -07:00
Thomas Goyne 3e299958bd Fix compilation with gcc 2013-04-29 18:21:55 -07:00
Thomas De Rocker 722d8558bb Add partial Dutch translation. Updates #1599. 2013-04-29 18:19:20 -07:00
Thomas Goyne 0216d9d5bd Make utils.lua a proper module with a compat wrapper 2013-04-28 20:52:36 -07:00
Thomas Goyne a40b1d0028 Make unicode.lua a proper module and add basic tests
Also drop support for >4 byte sequences as they were eliminated in RFC 3629.
2013-04-28 20:52:36 -07:00
Thomas Goyne 37e74b8274 Add a basic test harness for running Automation tests 2013-04-28 20:51:45 -07:00
Thomas Goyne 7232de2cdd Move Aegisub modules to aegisub.(module) and add wrapper shims 2013-04-28 20:02:54 -07:00
Thomas Goyne bbd8bb0eab Fix compilation on platforms where int64_t == long 2013-04-24 20:04:35 -07:00
Thomas Goyne 13521a0c3e Default to only showing the maximum in the waveform view 2013-04-24 19:40:15 -07:00
Thomas Goyne 7820b2a6dc Restore the position of the audio zoom slider from the options correctly. Closes #1597. 2013-04-21 19:04:15 -07:00
Thomas Goyne b2953e82cb Add the beginnings of a README file 2013-04-21 18:24:10 -07:00
Thomas Goyne 90b35efa75 Remove most of the fetched dependencies since they're now submodules 2013-04-21 18:24:07 -07:00
Thomas Goyne 9667a7b21f Build Lua as C
Linux distros nearly always package Lua built as C, so build it as C on
Windows as well to cut down on needless differences.
2013-04-21 18:02:04 -07:00
Thomas Goyne 8cd1a0a9d4 Remove in-repo copy of lua 5.1 and use the submodule instead 2013-04-21 18:02:03 -07:00
Thomas Goyne 5a4b70b8b9 Don't create a global 'clipboard' object in the clipboard module 2013-04-21 18:02:03 -07:00
Thomas Goyne a2055b5db9 Add submodules for most of the deps 2013-04-21 18:02:00 -07:00
Thomas Goyne 7d5a8a1b4c Fix x64 compilation on Windows 2013-04-20 07:58:58 -07:00
Thomas Goyne 9c98d1bc13 Fix the output path for dictionaries in the portable install 2013-04-20 06:53:20 -07:00
Thomas Goyne f68cc1e584 Fix crash when opening kanji timer dialog. Closes #1585. 2013-04-16 20:21:06 -07:00
Thomas Goyne d6fd2f016b Shuffle some stuff around in MicroDVDSubtitleFormat::ReadFile 2013-04-16 20:05:45 -07:00
Thomas Goyne b743bb39b0 Report a more useful line number for bad lines in the TPP. Closes #1596. 2013-04-16 20:05:45 -07:00
Thomas Goyne 3c7527c2f7 Do a better job of picking a new active line after deleting lines
Set it to the first line not part of the selection after the selection
begins if there are any, and the last line remaining in the file if not
(i.e. the last line before the selection).

Closes #1595.
2013-04-16 20:05:44 -07:00
Thomas Goyne 71b14ecc74 Select the right things in the select overlaps macro. Closes #1594. 2013-04-16 20:05:44 -07:00
Thomas Goyne 1096ef8c6e Disable a pile of wx things we don't use 2013-04-16 20:05:44 -07:00
Thomas Goyne 82476832af Build wx without wxRegex 2013-04-16 20:05:44 -07:00
Thomas Goyne 4e7d6df6b2 Remove the use of wxRegex for case-insensitive filtering 2013-04-16 20:05:44 -07:00
Thomas Goyne 17170fc5fe Remove the charset detection from TextFileReader since it's never used 2013-04-16 20:05:44 -07:00
Thomas Goyne 8bdb7d32ad Drop support for non-UTF-8 lua scripts 2013-04-16 20:05:44 -07:00
Thomas Goyne 68662211a1 Make Lua 5.1 a required dependency 2013-04-16 20:05:43 -07:00
Thomas Goyne c556a47509 Replace wxRegex bindings for lua with boost::regex bindings
API is mostly unchanged other than the addition of a lot more flags.
Should be less buggy since it has an actual test suite, and generally
has a more powerful regex syntax with better support for Unicode.

The bindings are written in MoonScript. For now the compiled form is
store in the repo for convenince.
2013-04-16 20:05:43 -07:00
Thomas Goyne 44188267d6 Extract some common helper methods to auto4_lua_utils.h 2013-04-09 20:14:53 -07:00
Thomas Goyne e5c25fa066 Fix crash when clearing the contents of one of the Margin boxes 2013-04-07 11:36:10 -07:00
Thomas Goyne d3cfa20db9 Fix unicode issues in the karaoke split/join bar
Use ICU to split the text into characters rather than assuming that one
wchar_t == one character in some places, and one char == one character
in other places.
2013-04-07 11:36:06 -07:00
Thomas Goyne e33dc4ae3a Add the en_US dictionary to the portable installer 2013-04-07 08:43:57 -07:00
Thomas Goyne a15d1cb43d Fix the paths in the PortableInstaller filters 2013-04-07 08:43:57 -07:00
Thomas Goyne 5ff00c6996 Remove MPC-HC VSFilter from the portable installer files 2013-04-07 08:43:57 -07:00
Thomas Goyne c640f279ba Create the output directory for the portable installer if it doesn't exist 2013-04-07 08:43:56 -07:00
Thomas Goyne c49f4c68db Add 64-bit installer script 2013-04-07 08:43:56 -07:00
Thomas Goyne e89fb6eeb8 Improve the edit box tooltips 2013-04-07 08:43:56 -07:00
Thomas Goyne 51e17b4c38 Remove unused private member 2013-03-30 07:52:49 -07:00
Thomas Goyne cb9c48d6af Strip Collisions lines on read
Nothing supports them and malformed values crash VSFilter.

Closes #1583.
2013-03-30 07:18:34 -07:00
Thomas Goyne 1598e81773 Remove the 'Collisions' setting from the properties dialog
No renderers actually support it so there's really no reason for it to
be settable.
2013-03-30 07:08:57 -07:00
Thomas Goyne 4603f39962 Fix the option name for the subtitle MRU list. Closes #1592. 2013-03-29 21:24:47 -07:00
Thomas Goyne c1b99aba0e Select the contents of the find box when opening the search/replace dialog 2013-03-29 17:21:07 -07:00
Thomas Goyne de68a1995d Fix crashes from unchecked uses of lua_tostring. Closes #1588. 2013-03-18 07:01:54 -07:00
صفا الفليج d0a86904b9 Update Arabic translation. Updates #1532. 2013-03-03 20:04:49 -08:00
Thomas Goyne 890379bb86 Fix compilation error in auto4_lua_scriptreader.cpp 2013-02-16 19:53:54 -08:00
Thomas Goyne a9f83663e8 Revert "Return the ifstream from agi::io::Open by move"
This reverts commit 1f5484fedb.

Move constructors for fstreams are not implemented yet in libstdc++.

Closes #1578.
2013-02-16 19:47:31 -08:00
Thomas Goyne 84410f770b Fix loading subtitles from Matroska files without track names 2013-02-13 20:22:02 -08:00
Lasse Liehu 76a088e7c1 Update Finnish translation. Updates #1522. 2013-02-13 08:06:43 -08:00
Thomas Goyne c83fff12a9 Match HTML colors in a way that actually works in extract_color
Lua patterns don't have optional capture groups, so instead make the
contents of the capture groups optional.

Closes #1575.
2013-02-12 17:09:04 -08:00
Thomas Goyne 959be0a64a Handle partial characters at the end of the read buffer when loading Lua scripts. Closes #1576. 2013-02-12 15:52:00 -08:00
Thomas Goyne 1f5484fedb Return the ifstream from agi::io::Open by move 2013-02-12 15:51:59 -08:00
Thomas Goyne d99647ba28 Fix crash when closing video while a frame request is pending 2013-02-08 21:05:57 -08:00
Thomas Goyne e7306ae642 Release mouse capture from the visual tools when the zoom is changed 2013-02-08 20:37:43 -08:00
Thomas Goyne e9a949954f Split ass drawings on spaces, not | 2013-02-08 20:29:39 -08:00
Thomas Goyne 1a8c88faea Actually decode strings in inline_string_decode 2013-02-08 20:27:38 -08:00
Thomas Goyne c9ffffda54 Fix compilation with clang 2013-02-08 09:53:34 -08:00
Thomas Goyne 4a4583a77d Fix path generation for saving screenshots 2013-02-08 09:53:34 -08:00
Thomas Goyne d34f88080c Fix directory iteration on Windows XP 2013-02-08 09:03:00 -08:00
Thomas Goyne d3606eac99 Don't complain about things in the autoload folder which aren't automation scripts 2013-02-07 16:02:44 -08:00
Thomas Goyne a872fc50b8 Store ass attachments in the encoded form in memory
This marginally increases memory use, but vastly speeds up pretty much
everything when a file has attachments (other than extracting the
attachments, but that's generally IO-bound anyway).
2013-02-07 16:02:44 -08:00
Thomas Goyne 73217fd0e9 Move uuencoding logic to libaegisub and add tests 2013-02-07 16:02:44 -08:00
Thomas Goyne be8790942a Change AssParameterClass to an enum class 2013-02-07 08:55:01 -08:00
Thomas Goyne e115206998 Change VariableDataType to an enum class 2013-02-07 08:49:11 -08:00
Thomas Goyne 14afce006e Remove AssStyleStorage's dependencies on other Aegisub classes 2013-02-07 08:47:43 -08:00
Thomas Goyne 2bad9029cb Set ?data in a way that works with spaces in the path on Windows 2013-02-06 19:15:21 -08:00
Thomas Goyne 9a69017752 Don't drop the last two chaacters in inline_string_decode 2013-02-06 17:13:14 -08:00
Thomas Goyne e0a3f1d399 Explicitly link boost.thread for static boost.locale 2013-02-06 14:04:59 -08:00
Thomas Goyne 79cd9448f8 Update to ICU 50.1.2 2013-02-06 13:38:35 -08:00
Thomas Goyne bec9483429 Cut all the stuff from ICU's data file that we don't need 2013-02-06 13:38:35 -08:00
Thomas Goyne 48921c35e0 Use ICU for checking if characters are whitespace 2013-02-06 13:38:35 -08:00
Thomas Goyne 9f2fdb2a86 Count characters rather than bytes in the character counter 2013-02-06 13:38:35 -08:00
Thomas Goyne 777649a551 Update the character count asynchronously 2013-02-06 13:38:35 -08:00
Thomas Goyne 40a7a452a2 Delay loading command line arguments until after Aegisub is fully initialized 2013-02-06 13:38:35 -08:00
Thomas Goyne f0054f61bc Fix crash on exit from the dispatch thread pool 2013-02-06 13:38:35 -08:00
Thomas Goyne 8118d790a4 Don't display an error message if user cancels the charset selection dialog 2013-02-06 13:38:35 -08:00
Thomas Goyne 3d48f18542 Display the full list of supported character sets if detection fails catastrophically 2013-02-06 13:38:34 -08:00
Thomas Goyne 1f831be170 Ask the user if they want to close the current file before prompting for a new file to open rather than after 2013-02-06 13:38:34 -08:00
Thomas Goyne d7531a723a Add missing include in dialogue_parser.h 2013-02-06 13:38:34 -08:00
Thomas Goyne d92ef13d44 Add ICU to configure 2013-02-06 13:38:34 -08:00
Thomas Goyne 6905fb3efd Bump required version of boost to 1.50 2013-02-06 13:38:34 -08:00
Thomas Goyne 6cb9665202 Support extensions with multiple dots in agi::fs::HasExtension 2013-02-06 13:38:34 -08:00
Thomas Goyne b885c2c19d Disable the signed/unsigned comparison warning for the tests 2013-02-06 13:38:34 -08:00
Thomas Goyne 523fcd72b0 Add agi::fs tests 2013-02-06 13:38:34 -08:00
Thomas Goyne 761bc80d8b Switch to a less terrible set of m4 macros for boost 2013-02-06 13:38:34 -08:00
Thomas Goyne 386f60daa7 Remove an unused private member from VideoDisplay 2013-02-06 13:38:34 -08:00
Thomas Goyne 841ec898d3 Add ICU to the configure script 2013-02-06 13:38:33 -08:00
Thomas Goyne fd6f4a38e5 Remove unused private member in AudioMarkerInteractionObject 2013-02-06 13:38:33 -08:00
Thomas Goyne 10a88dfb52 Use boost.locale for spellchecker word splitting
This is currently only correct if the UI language is the same as the
subtitles language as the global locale is used, but it should still
never be worse than the small hardcoded table of word splitters.

Closes #1206.
2013-02-06 13:38:33 -08:00
Thomas Goyne 5efba3fda1 Improve handling of whitespace in the fonts collector
When whitespace characters are missing in the font, print the names of
the characters rather than seemingly printing nothing.

Closes #1553.
2013-02-06 13:38:33 -08:00
Thomas Goyne 2a5134a5ca Add an option to not skip blank lines when importing plain text files 2013-02-06 13:38:33 -08:00
Thomas Goyne d55949d9c1 Only perform charset detection once when opening subtitles
Relying on TextFileReader to do the charset detection results in the
user being prompted to pick a charset twice when it can't be
auto-detected, since the result from trying to open the subtitles as
timecodes was not being reused.

Closes #1512.
2013-02-06 13:38:33 -08:00
Thomas Goyne 47c36c9033 Use ICU/boost.locale for case-insensitive searching
Do proper unicode case-folding for case-insensitive searching rather
than converting only ascii characters to lowercase. The Turkish 'i' is
still not handled correctly (since it's the only place where
case-folding is locale-dependent), but that's probably not worth caring
about as long as we don't have a Turkish UI translation.

This affects both the find/replace dialog and the select lines dialog.

Closes #1342.
2013-02-06 13:38:33 -08:00
Thomas Goyne 1cc52611de Rearrange the tests files 2013-02-06 13:22:34 -08:00
Thomas Goyne 09aa873ed7 Hide the StatusTimeout awfulness in a util function 2013-02-06 13:22:34 -08:00
Thomas Goyne a9467836f9 Move autosave logic to SubsController 2013-02-06 13:22:34 -08:00
Thomas Goyne 74028b9bcd Sort the files in the project 2013-02-06 13:22:33 -08:00
Thomas Goyne 1d5e270283 Remove duplicate copy of hotkey.h in the project file 2013-02-06 13:22:33 -08:00
Thomas Goyne 396ff897e5 Kill StandardPaths
It's now just a pointless wrapper around agi::Path.
2013-02-06 13:22:33 -08:00
Thomas Goyne af37047736 Build the tests on Windows 2013-02-06 13:22:33 -08:00
Thomas Goyne 937f8497a5 Build gtest on Windows 2013-02-06 13:22:33 -08:00
Thomas Goyne 053bb9b76a Add googletest to the dependency fetcher 2013-02-06 13:22:33 -08:00
Thomas Goyne 9f7e865196 Set the default string encoding to UTF-8 2013-02-06 13:22:33 -08:00
Thomas Goyne 86aca22502 Build boost.locale on Windows 2013-02-06 13:22:33 -08:00
Thomas Goyne 8846d77845 Use ICU regular expressions for user-entered regexps 2013-02-06 13:22:33 -08:00
Thomas Goyne 07adb5c84e Build boost.regex with ICU support 2013-02-06 13:22:32 -08:00
Thomas Goyne 91e43d3c17 Build ICU on Windows 2013-02-06 13:22:32 -08:00
Thomas Goyne 855902edb8 Add ICU to the libraries downloaded by the dependencies fetcher 2013-02-06 13:22:32 -08:00
Thomas Goyne be930e68ef Use std::atomic rather than a mutex in the progress dialog 2013-02-06 13:22:32 -08:00
Thomas Goyne bc5417de4a Give all of the Aegisub-created threads names 2013-02-06 13:22:32 -08:00
Thomas Goyne a0d3dbc550 Extract Loading/Saving/Undo stuff from AssFile
Add SubsController, which deals with things like what subtitle file is
currently open, rather than the contents of the current subtitle file.
Move the rest of the relevant logic from FrameMain there in addition to
all of the stuff from AssFile.
2013-02-06 13:22:32 -08:00
Thomas Goyne 9a146d1fc0 Remove AssFile::loaded since it isn't actually used for anything 2013-02-06 13:22:17 -08:00
Thomas Goyne 5092ab20c9 Do logging on a background thread
Makes logging actually thread-safe and slightly improves performance.
2013-02-06 13:22:17 -08:00
Thomas Goyne 2e99223977 Factor out some duplicated code in the color picker slider generation 2013-02-06 13:22:16 -08:00
Thomas Goyne 2113ed9580 Use boost.gil for overlaying images from libass 2013-02-06 13:22:16 -08:00
Thomas Goyne 6bd6ed5e5b Remove support for saving to memory with CSRI since there aren't actually any non-VSFilter renderers 2013-02-06 13:22:16 -08:00
Thomas Goyne 2d646b447d Don't add a hardcoded path that's unlikely to actually exist to the include path on OS X 2013-02-06 13:22:16 -08:00
Thomas Goyne a942687050 Use a circular buffer to store only the last 250 log messages 2013-02-06 13:22:16 -08:00
Thomas Goyne c6005be4a1 Write log files incrementally so that they actually exist for crashes 2013-02-06 13:22:16 -08:00
Thomas Goyne 101721863a Make log messages a little saner 2013-02-06 13:22:16 -08:00
Thomas Goyne 69e1744fc7 Make agi::util::time_log less insane 2013-02-06 13:22:16 -08:00
Thomas Goyne ca9be4caef Extract some duplicated wxFileSelector code to a helper function 2013-02-06 13:22:16 -08:00
Thomas Goyne bc7229782c Use an enum for the predefined aspect ratio types 2013-02-06 13:22:15 -08:00
Thomas Goyne 9537e14c3c Use boost.rational for AR normalization 2013-02-06 13:22:15 -08:00
Thomas Goyne 1e1a09e67a Use AssTime's formatting for DialogVideoDetails 2013-02-06 13:22:15 -08:00
Thomas Goyne 1e0f08c0ed Mostly purge wxWidgets from non-UI stuff
Use boost::filesystem::path for all paths, and std::string for all other
strings, converting to/from wxString as close to the actual uses of wx
as possible.

Where possible, replace the uses of non-UI wxWidgets functionality with
the additions to the standard library in C++11, or the equivalents in
boost.

Move the path token management logic to libaegisub (and rewrite it in
the process).

Add a basic thread pool based on asio and std::thread to libaegisub.

This touches nearly every file in the project and a nontrivial amount of
code had to be rewritten entirely, so there's probably a lot of broken
stuff.
2013-02-06 13:22:15 -08:00
Thomas Goyne 10e06ac3f9 Build and/or link the non-header-only boost libraries 2013-02-01 19:07:51 -08:00
Thomas Goyne 89a431a68b Set end times to zero when pasting plain text. Closes #1570. 2013-01-17 14:04:50 -08:00
Thomas Goyne cbbcc35e4f Remove some pointless initializers in AssDialogue's constructor 2013-01-17 14:03:48 -08:00
Thomas Goyne c08a9d4d7d Always make a full copy of the subtitles for ThreadedFrameSource after a save
Saving can add new lines to the file without making a commit, resulting
in the rendering thread's copy of the file getting out of sync.
2013-01-14 08:37:04 -08:00
Thomas Goyne 9a69ca9de4 Add padding between the split editbox buttons 2013-01-14 08:37:03 -08:00
Thomas Goyne 3499a0546a Make the split editor readonly rather than disabled 2013-01-14 08:37:03 -08:00
Thomas Goyne 879c2c19ae Add a button to the split editbox to remove the line text only, leaving override tags 2013-01-14 08:37:03 -08:00
Thomas Goyne 31d2054ab3 Don't update the initial line state after undo 2013-01-14 08:37:03 -08:00
Thomas Goyne 9a36e5cfe1 Add a unique ID to dialogue lines
This is needed to track lines across undo, as the previous method of
using the row number was slow and broke on inserts/deletes.
2013-01-14 08:37:03 -08:00
Thomas Goyne 0e7df15170 Initial implementation of the split editbox 2013-01-14 08:37:03 -08:00
Thomas Goyne 8162ebea24 Actually read the initial alpha for the color picker buttons 2013-01-14 08:37:03 -08:00
Thomas Goyne abf592e705 Add support for parsing alpha override parameters 2013-01-14 08:37:03 -08:00
Thomas Goyne 948d3055d5 Eliminate some unnecessary includes of subs_grid.h 2013-01-14 08:37:03 -08:00
Thomas Goyne 8d3202652f Paste over the selected lines if the selection has multiple lines
This seems to be what most users expect, rather than pasting downwards
from the active line, and is what pre-3.0 versions did as long as the
selection was continuous (since it pasted over from the first selected
line rather than the active line).
2013-01-14 08:37:02 -08:00
Thomas Goyne 50baf2d97f Only add alpha tags if the user actually changes the alpha 2013-01-14 08:37:02 -08:00
Thomas Goyne 9e37e0897f Implement the "coloralpha" automation control type 2013-01-14 08:37:02 -08:00
Thomas Goyne 0b5674e6aa Hide the alpha controls when the alpha isn't used 2013-01-14 08:37:02 -08:00
Thomas Goyne 7a3b221847 Use wxStaticBitmap for ColorPickerRecent 2013-01-14 08:37:02 -08:00
Thomas Goyne 0e58e3b09f Inline the bodies of the color picker controls
Scrolling between the declarations and definitions is annoying.
2013-01-14 08:37:02 -08:00
Thomas Goyne fa8fb65b8a Change PickerDirector to an enum class 2013-01-14 08:37:02 -08:00
Thomas Goyne 2072241e54 Move the implementation of the color picker dialog into an anonymous namespace 2013-01-14 08:37:01 -08:00
Thomas Goyne 247a92607b Remove the now-pointless convenience overload of GetColorFromUser 2013-01-14 08:37:01 -08:00
Thomas Goyne 4c147cbf0b Make ColourButton saner
Emit a separate event for when a color is picked rather than horribly
overloading the onclick event, and switch to a wxButton base since
wxBitmapButton no longer does anything useful.
2013-01-14 08:37:01 -08:00
Thomas Goyne c37c1ad477 Add alpha support to the color picker. Closes #217. 2013-01-14 08:37:01 -08:00
Thomas Goyne e19da4ffe7 Make the tag parameter parsing more forgiving of malformed input 2013-01-13 09:59:41 -08:00
Thomas Goyne ed6c052e7f Use SearchReplaceEngine in DialogSelection 2013-01-13 09:00:19 -08:00
Thomas Goyne 6be8d32929 Clean up SearchReplaceEngine a bit 2013-01-13 09:00:19 -08:00
Thomas Goyne f8b717e9ac Don't clear the body of \t tags when doing stuff to them 2013-01-13 09:00:18 -08:00
Thomas Goyne 3b4d121d4a Add an option to skip override tags when searching. Closes #104. 2013-01-13 09:00:18 -08:00
Thomas Goyne 5fff88473f Add option to skip comments in the find/replace dialog. Updates #683. 2013-01-13 09:00:18 -08:00
Thomas Goyne ab3ef175cd Rewrite SearchReplaceEngine
Decouple it from the subtitles grid and do everything through the
project context instead.

Actually obey the "In Selection" option for things other than Replace
All.

Cut down on the amount of logic duplicated between Replace All and
normal find/replace.

Start searching from the current cursor position, rather than the last
found position.
2013-01-13 09:00:18 -08:00
Thomas Goyne b1dbb9a94b Decouple SearchReplaceEngine from DialogSearchReplace 2013-01-13 09:00:18 -08:00
Thomas Goyne 59db22e905 Use STL names for wxString functions with a bunch of aliases 2013-01-11 08:55:35 -08:00
Thomas Goyne 2f4cae46b4 Move the SearchReplaceEngine instance to the context 2013-01-11 08:53:36 -08:00
Thomas Goyne bc2ddfbaee Fix compilation with clang 2013-01-11 08:44:35 -08:00
Thomas Goyne b337fbd691 Fix loading unicode actor names from plain text files
'isComment ? "" : actor' results in actor decaying to a const char * in
the local charset rather than converting "" to wxString, which breaks
things when unicode is involved.
2013-01-11 08:41:12 -08:00
Thomas Goyne d459b7089c Use enums rather than magic numbers 2013-01-11 08:41:12 -08:00
Thomas Goyne 199507a58a Remove an unused variable and rename a misleading one 2013-01-11 08:41:12 -08:00
Thomas Goyne c923b05c23 Eliminate some duplicated code in the find dialog 2013-01-11 08:41:12 -08:00
Thomas Goyne 2d521fafc5 Shuffle around the find dialog sizers to cut down on empty space 2013-01-11 08:33:52 -08:00
Thomas Goyne 13851ff74d Delete worthless comments 2013-01-11 08:33:52 -08:00
Thomas Goyne 4334514c78 Remove the "update video" box from the find dialog
It hasn't worked for a few years and doesn't really make any sense with
how committing works now.
2013-01-11 08:33:52 -08:00
Thomas Goyne 76d93f0036 Actually stretch the volume/zoom link button 2013-01-09 20:03:22 -08:00
Thomas Goyne e9a5494910 Calculate the required size for the subs edit box time edits rather than hardcoding it 2013-01-09 19:44:26 -08:00
Thomas Goyne d7d2e17093 Remove calls to SetBackgroundStyle(wxBG_STYLE_COLOUR)
With wx2.9 it's a no-op.
2013-01-09 19:40:49 -08:00
Thomas Goyne ca80156a4d Add some padding between the video box textctrls 2013-01-09 19:38:41 -08:00
Thomas Goyne cb1b5401e3 Remove the border around the video box in the detached video dialog 2013-01-09 19:26:39 -08:00
Thomas Goyne 442bbcc682 Add libass cflags to subtitles_provider.o 2013-01-09 19:24:47 -08:00
Thomas Goyne 8cb2d5bf16 Drop MPC-HC VSFilter and default to xy-VSFilter 2013-01-09 16:48:32 -08:00
Thomas Goyne 8566960312 Write the version comments under the [Script Info] header. Closes #1567. 2013-01-09 16:48:32 -08:00
Thomas Goyne 8470ffdbf0 Allow negative values for shadow depth, angle and spacing in the style editor 2013-01-09 16:48:32 -08:00
Thomas Goyne 7bc79b2d9f Significantly speed up AssDialogue::GetData
wxString::Format is astonishingly slow, and while this normally doesn't
particularly matter, AssEntry::EntryData's speed can become relevant on
large files.

Switch to a slightly more manual approach that's about four times as
fast.
2013-01-09 16:48:32 -08:00
Thomas Goyne a99428c49d Extract options and MRU stuff from main.h
Nearly all of the files including main.h are doing so only for OPT_GET
and friends, which are rather unrelated to the main things that main.h
declares.
2013-01-09 16:48:31 -08:00
Thomas Goyne bd9a81372d Cut down on the ifdefs in main.cpp
Shuffle some stuff around to reduces the number of ifdefs and always
define MacOpenFile since there's no reason not to.
2013-01-09 16:48:31 -08:00
Thomas Goyne 9b24ab38a4 Don't write the crash xml file
Nothing uses it and it's not even valid xml.
2013-01-09 16:48:31 -08:00
Thomas Goyne c691099d24 Use CRC32 for ffms2 index filenames
No real advantages other than that it means md5.h/c can be deleted.
2013-01-09 16:48:30 -08:00
Thomas Goyne e8344ab0c7 Add agi::util::Remove for deleting files 2013-01-03 17:36:50 -08:00
Thomas Goyne cec5f2256c Add agi::util::try_parse 2013-01-03 17:36:50 -08:00
Thomas Goyne 4116e88fe5 Get rid of auto-running exporters, since they aren't really used for anything anymore 2013-01-03 17:36:50 -08:00
Thomas Goyne 7d6e246ace Handle filters which unregister themselves in AssExportFilterChain::Clear 2013-01-03 16:44:07 -08:00
Thomas Goyne 451de69e54 Trim whitespace from all of the style fields when parsing. Closes #1565. 2013-01-01 21:00:06 -08:00
Thomas Goyne b1cd2db023 Don't throw exceptions from destructors 2013-01-01 20:55:00 -08:00
Thomas Goyne faad79479f Handle FileNotFound errors when the user dictionary file doesn't exist 2012-12-31 07:50:17 -08:00
Thomas Goyne 3e5ba4fd98 Catch wxStrings in OnInit as there's still a few things that throw them 2012-12-31 07:49:57 -08:00
Thomas Goyne 8f765f3955 Add AssOverrideBlockComment
Nothing actually wants to treat comments as plain text, so using the
same type for both just makes things more complex.
2012-12-31 07:09:32 -08:00
Thomas Goyne 1f1cb36b6d Extract TEXT -> DRAWING conversion from SplitWords 2012-12-31 07:09:31 -08:00
Thomas Goyne 3ec82952f8 Partially de-wxify AssStyle 2012-12-31 07:09:31 -08:00
Thomas Goyne d49758edbf De-wxify AssOverride 2012-12-31 07:09:31 -08:00
Thomas Goyne 134fe60517 Fix tests compilation 2012-12-31 07:09:31 -08:00
Thomas Goyne 426e4593c7 Fix a bunch of incorrect implicit wxString <-> std::string conversions
The implicit conversion assumes that std::string is encoded in the local
charset, while it's always actually UTF-8.
2012-12-31 07:09:31 -08:00
Thomas Goyne e04c46fd45 Replace the body of autogen.sh with a call to autoreconf. Closes #1564. 2012-12-31 07:08:56 -08:00
Thomas Goyne 2bf92fec6e Fix crash when amending commits with video open
The video source's copy of the subtitle file was being discarded once it
was fully loaded (as it was previously never needed again), so amending
it only worked if the user had made a non-amend commit after the last
seek.
2012-12-29 08:40:10 -08:00
Thomas Goyne d5f36af87e Add override attributes to the subtitle formats 2012-12-28 19:49:48 -08:00
Thomas Goyne 43d3fac178 Fix compilation with libc++ 2012-12-28 09:44:53 -08:00
Thomas Goyne b0cbc049ec Fix 64-bit compilation 2012-12-28 09:19:43 -08:00
Thomas Goyne c6cd86f2da Actually initialize AssOverrideParameter::omitted 2012-12-28 09:18:54 -08:00
Thomas Goyne 87e60bca2a Fix fonts collector crash when the font isn't found 2012-12-28 07:32:55 -08:00
Thomas Goyne 9955a2c39d Log more stuff when creating audio providers 2012-12-27 08:49:37 -08:00
Thomas Goyne 572a58cd90 Have FFMS2 do the audio downmixing when possible
Aegisub's downmixer is terrible for anything with more than two channels
(averaging all the channels together is not even vaguely close to the
correct thing to do for 5.1), so libavresample should be far better.
2012-12-27 08:42:00 -08:00
Thomas Goyne 745b9ab2a9 Build ffmpeg and ffms2 with libavresample 2012-12-26 19:32:47 -08:00
Thomas Goyne 44323cef6d Use max_element rather than a loop 2012-12-26 19:27:25 -08:00
Thomas Goyne 6e3cc883b3 Replace most uses of type::iterator with auto 2012-12-22 15:35:13 -08:00
Thomas Goyne d0f4d9df99 Replace all uses of lagi_wxString with to_wx 2012-12-22 15:18:38 -08:00
Thomas Goyne e270dc9aec Use stable_vector for AudioProviderRam's cache
stable_vector allocates its elements non-contiguously (as is required
for stability), while still giving O(1) indexing.
2012-12-22 14:44:35 -08:00
Thomas Goyne 433368dc58 Fix some weirdness in the AVS audio provider 2012-12-22 12:14:32 -08:00
Thomas Goyne 46d2819312 Use lambdas for some of DialogProgress's stuff 2012-12-22 11:51:08 -08:00
Thomas Goyne 6e5b53d1a9 Move the logic for which AudioProvider to create out of AudioController
Audio providers should be responsible for determining whether or not
they can open a URI, since it's not really possible for anything else
to. As such move the (lack of) parsing of dummy audio URIs to
DummyAudioProvider, and try to create DummyAudioProviders in
AudioProvider::CreateProvider.
2012-12-22 09:30:47 -08:00
Thomas Goyne a4607ff6be Clean up AudioProvider a bit
Factor out some duplicated code and clean up some cruft.
2012-12-22 07:49:59 -08:00
Thomas Goyne 31feab4a8b Rewrite the dummy video dialog
Use validators for transferring data to/from the controls and for
validating the values rather than a bunch of custom logic.
2012-12-21 17:01:13 -08:00
Thomas Goyne 0b5994e8eb Always update edit box styles when it's called directly 2012-12-21 16:56:27 -08:00
Thomas Goyne e25fc4b334 Add Remove From Dictionary to the subs edit box context menu when applicable. Closes #1184. 2012-12-21 16:56:27 -08:00
Thomas Goyne 24aef1ffef Fix word-boundary checking for edit box spellchecking 2012-12-21 16:56:27 -08:00
Thomas Goyne 835f7c0f78 Only enable the Remove Word button when the word can be removed. Updates #1184. 2012-12-21 16:56:26 -08:00
Stjepan Henc fe630e052b Add Remove Word button to the spellchecker dialog. Updates #1184. 2012-12-21 16:56:26 -08:00
Thomas Goyne 36012c3302 Delete the respack-generated files on Clean 2012-12-17 17:21:26 -08:00
Thomas Goyne a2c14e9c5f Check the error code when FFMS2 can't create an indexer
Creating an indexer can fail for reasons other than the file not
existing. This check is still not completely correct, since FFMS2 uses
the wrong error codes in a bunch of places.
2012-12-17 10:14:08 -08:00
Thomas Goyne eab11666a9 Remove some cruft from option.h 2012-12-17 09:32:42 -08:00
Thomas Goyne 4c6be1fe55 Fix y4m loading 2012-12-17 09:32:42 -08:00
Thomas Goyne 229e5d98c5 Avoid making a full copy of the file for ThreadedFrameSource when possible
When the set of changed lines is populated, only copy those lines rather
than the entire file. On large files, this makes amend commits roughly
twice as fast when video is open.
2012-12-17 09:32:42 -08:00
Thomas Goyne fee60be5db Announce the set of lines changed in commits
Currently this is only populated when commits are amended, for the
simple reason that it's the only time that AssFile knows what lines
changed. It is probably worth expanding this in the future.
2012-12-17 09:32:42 -08:00
Thomas Goyne 4e72fff1d9 Check the right substrings in the spellchecker dialog. Closes #1560. 2012-12-12 18:08:07 -08:00
Thomas Goyne 72ae116196 Rename SubsEditBox's private members
Mostly to cut down on conflicts with the split-editbox branch.
2012-12-12 15:17:21 -08:00
Thomas Goyne 090905056b Remove spaces in > > in nested templates 2012-12-11 10:58:28 -08:00
Thomas Goyne 6e153ed7d9 Make OpenGLTextTexture moveable so that it doesn't need to be in a shared_ptr 2012-12-11 10:41:20 -08:00
Thomas Goyne 0b133de08f Remove pointless empty destructors
An explicit empty destructor is only needed when a class has a smart
pointer to an incomplete type.
2012-12-11 09:06:21 -08:00
Thomas Goyne 9a77d564e4 Cut down on the padding under the audio toolbar 2012-12-11 08:32:58 -08:00
Thomas Goyne 7c477f3cd1 Use a real toolbar for the video box's buttons 2012-12-11 08:25:24 -08:00
Thomas Goyne 534f574a87 Delete AssDialogue::StripTag
It is not actually used anywhere.
2012-12-10 17:43:29 -08:00
Thomas Goyne 8c2062f0c7 Store AssOverrideTags directly rather than a vector of pointers 2012-12-10 17:04:18 -08:00
Thomas Goyne a0d3b8595f Redesign AssOverrideParameter
Always store the original string form and convert it to the desired type
on demand. In most cases this is significantly faster as typically only
a few of the parameters in a line are actually read. In addition, this
makes it so that parameters which did not actually change are always
reserialized in their original form.

Delete VariableData as it's no longer used by anything.

Closes #1513.
2012-12-10 14:41:11 -08:00
Thomas Goyne f28f6ad5b3 Join lines copied to the clipboard with newlines rather than nothing 2012-12-10 14:03:03 -08:00
Thomas Goyne fb3500b354 Make the configure check for lua more specific
Move the generic lua check to after the checks for lua 5.1 and check for
lua < 5.2.

Closes #1559.
2012-12-10 14:01:56 -08:00
Thomas Goyne 936598e9f5 Add include directory and log files to .gitignore 2012-12-10 07:43:23 -08:00
Thomas Goyne 681de8cf37 Fix order of VariableData's initializers 2012-12-09 17:19:01 -08:00
Thomas Goyne a36011a9dd Don't insert [Script Info] entries for empty values 2012-12-09 17:07:05 -08:00
Thomas Goyne c1409b5c25 Add a space after the colon in [Script Info] entries 2012-12-09 17:05:11 -08:00
Thomas Goyne 96b3656742 Stick to the standard order of sections when inserting lines 2012-12-09 15:44:03 -08:00
Thomas Goyne 205d408f3e Move tag/param proto declarations to the cpp file
It's purely an implementation detail of the parser that should not be
exposed to the outside world.
2012-12-09 15:40:29 -08:00
Thomas Goyne 8cf47c38b6 Drop AssOverrideParameter::omitted since it's equivalent to the type being VARDATA_NONE 2012-12-09 10:36:13 -08:00
Thomas Goyne d2a0a76ca9 Store AssOverrideParameters directly rather than a vector of pointers to them 2012-12-09 10:12:50 -08:00
Thomas Goyne 851f7f40e6 Make VariableData uncopyable but moveable 2012-12-09 10:12:50 -08:00
Thomas Goyne 482d31299b Remove unused things from VariableData 2012-12-09 08:04:29 -08:00
Thomas Goyne 7e38ad6ec7 Don't add {} to the body of \t tags 2012-12-09 08:04:20 -08:00
Thomas Goyne bd35d9308d Use unordered_set for the actor/effect values 2012-12-07 19:24:42 -08:00
Thomas Goyne 9b44f92235 Make AssEntry purely a base class and add AssInfo
Now that all the other junk is being dropped from the file, script info
lines are the only thing left which was a concrete AssEntry, and
AssEntry wasn't actually a very good way to store them.
2012-12-07 18:55:29 -08:00
Thomas Goyne cccd95941d Fix syntax highlighting for multiple karaoke templater expression blocks 2012-12-07 18:20:09 -08:00
Thomas Goyne 28705000bb Use boost::join in a handful of places 2012-12-07 08:25:47 -08:00
Thomas Goyne 0ac8df140c Make the check for if an override tag needs parens less dumb 2012-12-07 08:12:45 -08:00
Thomas Goyne 422cfb153f Add a box with the character count of the longest line
Character counts are a pretty terrible measure of anything, but it's
still the main measure of length used in most subtitling standards
(because subtitling standards are written under the assumption that the
tools are terrible (which is generally an accurate assumption)).
2012-12-06 10:01:47 -08:00
Thomas Goyne 1b15a753a1 Add .m4v to the list of video file extensions
It would be nice if this didn't require adding it in five different places...
2012-12-05 20:23:32 -08:00
Thomas Goyne 222c09b58f Increase maximum undo levels to 10000 from 100 2012-12-05 19:12:34 -08:00
Thomas Goyne f3122aca30 Make the precompiled header depend on the .h file 2012-12-05 18:46:25 -08:00
Thomas Goyne d5aae26d83 Use boost::flyweight to intern the wxString members of AssDialogue
100 no-op non-amend commits on a subtitle file with 6689 dialogue lines,
with the undo limit set to 100:

Without flyweight:
	No video open:
		Initial memory usage: 30.6 MB
		Final memory usage: 498.0 MB
		Elapsed time: 6.3 seconds
	Video open, using libass:
		Initial memory usage: 54.3 MB
		Final memory usage: 653.3 MB
		Elapsed time: 23.7 seconds

With flyweight:
	No video open:
		Initial memory usage: 26.0 MB
		Final memory usage: 104.5 MB
		Elapsed time: 3.0 seconds
	Video open, using libass:
		Initial memory usage: 46.7 MB
		Final memory usage: 251.8 MB
		Elapsed time: 13.0 seconds

No video open:
	Memory usage: -79%
	Time: -52%
Video open:
	Memory usage: -61.5%
	Time: -45%

100 no-op amend commits on a line in the middle of a subtitle file with
6689 dialogue lines, with video open:

Without flyweight:
	Initial memory usage: 48.2 MB
	Final memory usage: 182.3 MB
	Elapsed time: 22.3 seconds

With flyweight:
	Initial memory usage: 39.8 MB
	Final memory usage: 165.8 MB
	Elapsed time: 13.8 seconds

Note: The large jump in memory usage here is due to that the benchmark
is blocking the main thread, so at the end there are ~100 video frames
waiting to be displayed.
2012-12-05 18:43:44 -08:00
Thomas Goyne c7c270cf12 Use an enum for the SRT parser states 2012-12-05 15:06:02 -08:00
Thomas Goyne c1ed667025 Add the curly braces in AssDialogueBlockOverride::GetText
All of the calling code added them, so there's no reason not to just do
it in one place.
2012-12-04 19:49:05 -08:00
Thomas Goyne 17ffacb6a0 Use iota rather than partial sum 2012-12-02 13:34:32 -08:00
Thomas Goyne de4ef14598 Use lambdas for very short event handlers 2012-12-02 13:29:46 -08:00
Thomas Goyne 004b032a54 Update LICENSE 2012-12-02 13:16:10 -08:00
Thomas Goyne 91fa11e375 Relicense all of my stuff that's still 3-BSD to ISC 2012-12-02 13:14:24 -08:00
Thomas Goyne 009518271a Document a few things and kill all remaining placeholders 2012-12-02 13:08:42 -08:00
Thomas Goyne 3949ccec24 Drop the position argument from ProcessParametersCallback since nothing needs it 2012-12-02 12:39:37 -08:00
Thomas Goyne 1c176e8568 Store parsed dialogue blocks in a ptr_vector
This eliminates the need to explicitly delete the parsed blocks.

Also go ahead and remove AssDialogue::Blocks since it's really not a
very good idea in general.
2012-12-02 12:29:33 -08:00
Thomas Goyne 67d796731a Replace SubsEditBox::OnUndoTimer with a lambda 2012-12-02 07:59:32 -08:00
Thomas Goyne b507f49cec Remove the pad argument from GetMarginString
It's no longer ever actually set to true.
2012-12-02 07:59:31 -08:00
Thomas Goyne 3045e2d012 Move the Margin controls to an array 2012-12-02 07:59:31 -08:00
Thomas Goyne fae9a5496a Extract some duplicated code for the margin controls 2012-12-02 07:59:31 -08:00
Thomas Goyne 0b46fdff49 Refactor time ctrl handling in SubsEditBox 2012-12-02 07:59:31 -08:00
Thomas Goyne 1b6f122d12 Replace field_setter with a lambda 2012-12-02 07:59:31 -08:00
Thomas Goyne 621b665885 Move the project configurations to aegisub.props 2012-12-02 06:33:30 -08:00
Thomas Goyne d3fc4dcb25 Remove things used in one (or zero) files from agi_pre.h 2012-12-02 06:33:30 -08:00
Thomas Goyne 7090d2f513 Don't include wx/wx.h in subs_grid.h 2012-12-02 06:33:29 -08:00
Thomas Goyne 96cf5ea7ed Kill the #ifndef AGI_PRE guards
They don't actually improve compilation performance and make it more
annoying to modify what things are in the precompiled header.
2012-12-02 06:33:29 -08:00
Thomas Goyne ff03fef2db Use the C++ versions of C headers 2012-12-01 17:24:59 -08:00
Thomas Goyne f337db86d3 Make AssStyle::UpdateData and GetSSAText less weird 2012-12-01 17:24:59 -08:00
Thomas Goyne 56993f7f5e Don't use emplace_back for wxDataViewItemArray since it doesn't work in non-STL builds 2012-11-30 18:47:24 -08:00
Thomas Goyne e0ce2962cf Fix typo in a VFW error message 2012-11-30 17:06:01 -08:00
Thomas Goyne c2a43a2356 Clean up AssKaraoke a little bit 2012-11-30 16:40:00 -08:00
Thomas Goyne ffef9a1485 Round syllable durations to centiseconds when splitting syllables 2012-11-30 16:25:20 -08:00
Thomas Goyne af35e50810 Also move karaoke markers after the dragged marker if Ctrl is held down. Closes #1557. 2012-11-30 16:22:45 -08:00
Thomas Goyne 5b31f10d0b Use the XP-compatible msvc runtime 2012-11-30 12:01:45 -08:00
Thomas Goyne 66becbab16 Fix crash on exit
Subtitle formats unregister themselves when deleted, so using
delete_clear on the list of subtitle formats does not work very well.
2012-11-30 12:01:44 -08:00
Thomas Goyne 5513d774bf Rewrite the fontconfig font lister
FcFontRenderPrepare discards excess family names and fullnames, so in
some cases it may be impossible to verify that the font returned by it
is the one we asked for. To work around this, prefilter the available
fonts to only do fontconfig's matching on the ones with the correct
names.
2012-11-30 12:01:44 -08:00
Thomas Goyne 0b19908e7b Use std::prev and std::next where applicable 2012-11-30 10:54:57 -08:00
Thomas Goyne 174a992974 Use remove_and_dispose_if where applicable 2012-11-30 10:44:09 -08:00
Thomas Goyne 6ab8345148 Use nullptr in more places 2012-11-30 10:44:09 -08:00
Thomas Goyne 7a7a036017 Switch lists of pointers to vectors of pointers 2012-11-30 10:44:09 -08:00
Thomas Goyne e77e810bd8 Use emplace_back where applicable 2012-11-30 10:44:09 -08:00
Thomas Goyne eca70285f1 Switch all uses of std::list for signal connections to std::deque 2012-11-28 07:28:18 -08:00
Thomas Goyne df4fffede5 Add a solution configuration with all external deps disabled 2012-11-28 06:51:52 -08:00
Thomas Goyne 42a8a55b51 Fix setting hotkeys
Populating a vector by resizing it to the target size then using
push_back does not work very well.
2012-11-27 16:14:06 -08:00
Thomas Goyne d7b01edc64 Support styles after the dialogue in the fonts collector
Make two passes over the file to collect all of the styles before
processing the dialogue lines, as the styles section can legally come
after the dialogue lines which use those styles.
2012-11-26 16:37:53 -08:00
Thomas Goyne a5ac77368c Use EVT_CHAR_HOOK rather than EVT_KEY_DOWN in TimeEdit
With wxWidgets trunk keydown events are no longer generated for
Ctrl-C/X/V on Windows, which breaks the custom copy/paste handling.
2012-11-26 07:38:50 -08:00
Thomas Goyne 5309f7fb9d Add explicit override specifiers to ASS-related virtuals 2012-11-26 07:11:30 -08:00
Thomas Goyne 2a6c6616a9 Rename AssStyle::GetType() to AssStyle::Group() so that it actually gets called 2012-11-26 07:11:30 -08:00
Thomas Goyne 1a6caa27b6 Switch to using lambdas in a few places 2012-11-26 07:11:30 -08:00
Thomas Goyne 2c1f593a13 Delete declarations of LuaParseTagData and LuaUnparseTagData 2012-11-26 07:11:30 -08:00
Thomas Goyne 6b09bdfe70 Factor out some duplicated code 2012-11-26 07:11:30 -08:00
Thomas Goyne 947dc537d1 Add a generic function for invoking functions on the GUI thread 2012-11-26 07:11:30 -08:00
Thomas Goyne 1d020b851e Add picked colors to the recently used colors 2012-11-25 16:47:39 -08:00
Thomas Goyne 59e6a1bef7 Fix crash when playing audio before time 0
There were two checks for reads past the end rather than checks for
before start and after end.

Closes #1556.
2012-11-25 14:01:50 -08:00
Thomas Goyne 4e8e5b597c Change AssEntry::group to an enum 2012-11-25 14:01:50 -08:00
Thomas Goyne 49ed0551ad Consolidate all entries of each group when there are duplicate sections
Dealing with multiple instances of each section makes the code
significantly more complicated, and in most cases Aegisub doesn't
actually bother to handle it correctly.
2012-11-24 16:24:01 -08:00
Thomas Goyne b94547aa71 Drop format and header lines from the in-memory file representation
They're just pointless cruft, so drop them from the file when parsing
and re-add them when saving as ASS or SSA.
2012-11-24 16:24:00 -08:00
Thomas Goyne 30ceced39f Skip the current line when searching for the next matching line in the kanji timer 2012-11-24 16:24:00 -08:00
Thomas Goyne 0483c1cfbe Fix string vs color logic in the option parsing 2012-11-24 16:24:00 -08:00
Thomas Goyne 28b056e422 Add a msbuild project to build the portable installers 2012-11-24 16:24:00 -08:00
Thomas Goyne 6ed970ed5b Write a msbuild xml file with the current version information 2012-11-24 10:44:44 -08:00
Thomas Goyne 3ff6158d85 Fix configure check for libc++ 2012-11-24 10:04:53 -08:00
Thomas Goyne bdf7a0ca83 Parse unclosed override blocks as plain text as VSFilter does 2012-11-24 10:04:53 -08:00
Thomas Goyne a4311b50f7 Update the correct inputs when typing in the HTML box in the color picker 2012-11-24 10:04:53 -08:00
Thomas Goyne ded55272a0 Use the correct format for ASS colors in the color picker 2012-11-24 10:04:53 -08:00
Martin Herkt b1e40455ed ASS: Fix script header
Previously, Aegisub wrote its "Script generated by" lines without a
semicolon to mark them as comments. As a result, it prepended these
lines every time a script was loaded and then saved again. Fix.

Also fix a bug that caused the ASS parser to treat comments before
the [Script Info] section as non-blank lines, therefore inserting a
duplicate section header whenever such comments were present.
2012-11-22 07:50:14 -08:00
Thomas Goyne 3f840ceec8 Fix crash when rearranging styles in the style manager
Inserting lines already in an intrusive list at a different position
does not work, unlike with unintrusive lists. Instead, swap each item in
to the correct place.
2012-11-21 07:32:06 -08:00
Thomas Goyne 8e10d67d2f Read strings from Matroska as UTF-8
Strings in Matroska files are all either UTF-8 or a UTF-8 subset, not
whatever the current locale happens to be.
2012-11-21 06:27:27 -08:00
Thomas Goyne 3b90e81fee Install 64-bit xy-VSFilter 2012-11-20 19:18:18 -08:00
Thomas Goyne e2fdabe1fd Unconditionally install the runtime 2012-11-20 19:18:18 -08:00
Thomas Goyne bd259b7197 Fix awesome variable shadowing derp 2012-11-20 14:28:57 -08:00
صفا الفليج 87851a76db Update Arabic translation. Update #1532. 2012-11-19 16:49:07 -08:00
Thomas Goyne 55ba0d042a Add _32 to the filename of 32-bit ffms2 2012-11-19 16:18:09 -08:00
Thomas Goyne f6197a99ea Unconditionally install the vc++ runtime for now as the check needs to be updated 2012-11-19 16:14:14 -08:00
Thomas Goyne 1880bb71df Disable parallel make for fribidi since it seems to have broken deps 2012-11-19 11:08:34 -08:00
Thomas Goyne b8b9bfdfb6 Fix non-pch compilation 2012-11-18 21:10:36 -08:00
Thomas Goyne ffa69421cd Rename setup.h to setup-build.h
build is in the include path for git_version.h, so build/wx/setup.h
would get included rather than $PREFIX/include/wx/setup.h.
2012-11-18 21:10:21 -08:00
Thomas Goyne 799ca651d0 Copy the platform header before running respack 2012-11-18 07:12:04 -08:00
Thomas Goyne ee38d27c2b Set the newline style for ffmpeg before checking out the working copy 2012-11-18 06:48:18 -08:00
Thomas Goyne 1a0258596a Fix some incorrect header includes in the projects resulting in excess rebuilds 2012-11-17 21:09:16 -08:00
Thomas Goyne 38efa5679e Fix statically linking fribidi 2012-11-17 17:34:38 -08:00
Thomas Goyne 4a749530f4 Add libass project 2012-11-17 17:34:37 -08:00
Thomas Goyne 291e411f4c Use a patched zconf.h that doesn't try to include unistd.h when it isn't available 2012-11-17 11:13:08 -08:00
Thomas Goyne 2c4908caf5 Add boost to the automatically fetched dependencies 2012-11-17 11:13:06 -08:00
Thomas Goyne 9344493558 Add boost path to configuration UI 2012-11-17 11:13:05 -08:00
Thomas Goyne 92b09ea7c6 Fix gratuitous rebuilding of libresrc 2012-11-17 11:12:59 -08:00
Thomas Goyne d98bd816a6 Use a timestamp file rather than trying to track FFmpeg's dependencies 2012-11-17 11:12:12 -08:00
Thomas Goyne 39e642d20e Add wxWidgets project 2012-11-16 20:21:23 -08:00
Thomas Goyne b6c2cf887f Add an empty unistd.h for zconf.h 2012-11-16 15:58:56 -08:00
Thomas Goyne e0144394f5 Add the directory with inttypes.h to the include path for Makefile projects 2012-11-16 15:58:56 -08:00
Thomas Goyne 8ca862fa93 Force autocrlf to input for ffmpeg since it barfs on Windows newlines 2012-11-16 15:58:56 -08:00
Thomas Goyne 497f23e22d Clean up the solution build configurations a bit 2012-11-16 15:58:56 -08:00
Thomas Goyne 7bf664b28d Enable automatic NuGet package restoration 2012-11-16 15:58:56 -08:00
Thomas Goyne 30dd139cf3 Fix the include path for FFTW3 2012-11-16 15:58:55 -08:00
Thomas Goyne dfefdeaf8a Don't try to load the user config file if it doesn't exist 2012-11-16 15:58:55 -08:00
Thomas Goyne 8c5c4cfd20 Add the solution file 2012-11-16 15:58:55 -08:00
Thomas Goyne b169a05f08 Try to autodetect the location of msys 2012-11-16 15:58:55 -08:00
Thomas Goyne d6c8215df7 Set the default source paths for the deps to where the updater will put them 2012-11-16 15:58:55 -08:00
Thomas Goyne 6f01ad7f95 Add project to fetch and update most of Aegisub's external deps 2012-11-16 13:47:51 -08:00
Thomas Goyne b055abae44 Fix compliation with gcc 4.7 2012-11-15 18:15:40 -08:00
Thomas Goyne 89fef06d6b Replace all uses of auto_ptr with unique_ptr 2012-11-15 18:15:39 -08:00
Thomas Goyne 0be698965a Obey the platform/configuration set in the UI for ffmpeg and fribidi 2012-11-15 18:15:39 -08:00
Thomas Goyne eaf66ea329 Dynamically link the runtime for FFMS2 and FFmpeg 2012-11-15 15:25:24 -08:00
Thomas Goyne 558325bce3 Add zlib project 2012-11-14 14:35:49 -08:00
Thomas Goyne 73696b8efa Add msbuild target for building translations. Closes #1076. 2012-11-14 07:08:43 -08:00
Thomas Goyne 9a2b8fc408 Add dependency information to the fribidi project 2012-11-13 16:15:39 -08:00
Thomas Goyne d70094917b Add some dependency information to avoid pointlessly rebuilding ffmpeg 2012-11-13 11:01:50 -08:00
Thomas Goyne 06aaaff16b NULL -> nullptr 2012-11-13 08:51:01 -08:00
Thomas Goyne 47c678bd63 Make UCDetect a little less insane 2012-11-13 08:46:31 -08:00
Thomas Goyne 2dd1da8333 Use C++11 stuff in libaegisub 2012-11-13 08:46:30 -08:00
Thomas Goyne 653aa32eb2 Use std::any_of rather than std::find_if() != end() 2012-11-13 05:52:24 -08:00
Thomas Goyne b6b68b789d Use lambdas in a few places 2012-11-12 19:40:42 -08:00
Thomas Goyne dbbb73651d Replace the post-build events with a new target with dep tracking and such 2012-11-12 18:35:34 -08:00
Thomas Goyne 6a0c790ff2 Add a FFMS2 project 2012-11-12 18:35:34 -08:00
Thomas Goyne 938a1d32c8 Add ffmpeg project 2012-11-12 18:35:28 -08:00
Thomas Goyne eeb28dbdb1 Fix SSA parsing test 2012-11-12 18:35:28 -08:00
Thomas Goyne 6212afb314 Add karaoke templater support to the syntax highlighter 2012-11-12 18:35:27 -08:00
Thomas Goyne b3c1af11b7 Fix handling of unclosed override blocks starting at position 0 2012-11-12 18:35:27 -08:00
Thomas Goyne 7ca7b1d934 Fix syntax highlighting for fonts with spaces 2012-11-12 18:35:27 -08:00
Thomas Goyne 1375da556f Default to O3 rather than O2 2012-11-12 18:35:27 -08:00
Thomas Goyne 692ef37b8f Add Clean and Rebuild targets to fribidi 2012-11-12 18:35:27 -08:00
Thomas Goyne 31e347febf Use ToolTask for ShellWrapper for simpler effective logging 2012-11-12 18:35:27 -08:00
Thomas Goyne e7ab194809 Set the output base relative to the project so that it works when building projects directly 2012-11-12 18:35:27 -08:00
Thomas Goyne ffcd455713 Add fribidi project 2012-11-12 18:35:27 -08:00
Thomas Goyne 3cf2a39884 Add msbuild task to update git_version.h 2012-11-12 18:35:27 -08:00
Thomas Goyne c759beda96 Add msys root directory to paths page 2012-11-12 18:35:27 -08:00
Thomas Goyne c1dc875a05 Always add the spellchecker language list to the edit box context menu
There's really no reason not to include it even if the right-click
wasn't on a word, and leaving it out can lead to confusing situations
when the dictionary file for the user's currently selected language
doesn't exist.
2012-11-12 18:35:26 -08:00
Thomas Goyne 01c833d9b3 Make the autosave dialog resizeable 2012-11-12 18:35:26 -08:00
Thomas Goyne c41f2ff343 Add an icon to the autosave dialog 2012-11-12 18:35:26 -08:00
Thomas Goyne 59a165f022 Change the crash recovery naming scheme to be like the autosave files 2012-11-12 18:35:26 -08:00
Thomas Goyne eb823e66d3 Add backups and crash recovery files to the autosave dialog. Closes #657. 2012-11-12 18:35:26 -08:00
Thomas Goyne 154f831c7c Add a basic dialog for opening Autosave files
This currently consists of just a list of autosave files and the
timestamps of the versions available for each file. It'd probably be a
good idea to add more information to this later, such as the original
file path and perhaps a preview of the file?

Closes #781.
2012-11-12 18:35:26 -08:00
Thomas Goyne 6f05d4b466 Change the test for json parse errors to work with libc++
libc++ is of the opinion that "123eee" is a well-formed double equal to 0.
2012-11-12 18:35:26 -08:00
Thomas Goyne ae231ce5a5 Add test files to .gitignore 2012-11-12 18:35:26 -08:00
Thomas Goyne 9c37a50b4d Add support for gtest 1.6
1.6.0 removed support for 'make install' as the maintainers are
apparently unaware that their library is not actually a unique snowflake
and that having to use identical compilation settings for every library
is in fact a completely normal thing for C++ libraries that people
somehow manage to deal with.

Building the tests now requires passing the root directory of a copy of
the googletest source to make, via 'make GTEST_ROOT=~/path/to/gtest'.
2012-11-12 18:35:26 -08:00
Thomas Goyne 4853119153 Add .cc extension to Makefile.target 2012-11-12 18:35:26 -08:00
Thomas Goyne 88fdee726b Extract word-splitting logic from the syntax highlighter 2012-11-12 18:35:25 -08:00
Thomas Goyne 24c21dd425 Don't update the editbox styling when it hasn't changed
The syntax highlighting isn't especially slow, but the stylesneeded
event seems to be sent repeatedly until the styles aren't changed, so it
was pointlessly reparsing and restyling the text on every idle event.
2012-11-12 18:35:25 -08:00
Thomas Goyne f628f92747 Significantly restructure the msbuild projects to make them actually work 2012-11-12 18:35:25 -08:00
Thomas Goyne 7a116db07d Unbind shift-enter in the edit box since it does weird things 2012-11-12 18:35:25 -08:00
Thomas Goyne 238356406f Extract calltip logic from the edit ctrl to libaegisub 2012-11-12 18:35:25 -08:00
Thomas Goyne e4d6b8661b Add range adaptor for filtering to a specific subclass from a heterogeneous range
This makes looping over the subtitle file and parsed dialogue lines less
awkward in many cases.
2012-11-12 18:35:25 -08:00
Thomas Goyne 67df64e879 Use range-based for loops in a bunch of places 2012-11-12 18:35:25 -08:00
Thomas Goyne 8af78a6a61 Add fontconfig project 2012-11-12 18:35:25 -08:00
Thomas Goyne 3add0e5b91 Add freetype2 project 2012-11-12 18:35:24 -08:00
Thomas Goyne aaccf94269 Remove support for externally-built FFTW3 2012-11-12 18:35:24 -08:00
Thomas Goyne 6b52c4f4aa Copy FFTW3's header to a more convenient place after building it 2012-11-12 18:35:24 -08:00
Thomas Goyne 4bb1b182c8 Add a conditional project reference to FFTW3 2012-11-12 18:35:24 -08:00
Thomas Goyne b308b1ec9c Add a project file for FFTW3 2012-11-12 18:35:24 -08:00
Thomas Goyne a4e96f22f7 Use the full path to the source file for the intermediate file location
This fixes the issues with multiple files in different directories with
the same name overwriting each other's object files.
2012-11-12 18:35:24 -08:00
Thomas Goyne 8ad1e2d4a9 Actually include the user's global properties file 2012-11-12 18:35:24 -08:00
Thomas Goyne 338e604455 Include user config file in libresrc to get the wx path 2012-11-12 18:35:24 -08:00
Thomas Goyne cfc9f81f85 Define NOMINMAX for Aegisub 2012-11-12 18:35:24 -08:00
Thomas Goyne 735d687ec5 Add wx paths to the config properties 2012-11-12 18:35:24 -08:00
Thomas Goyne 83597e1a68 Actually define the update checker defines when enabled 2012-11-12 18:35:23 -08:00
Thomas Goyne 7f4a3b4967 Set defaults for more build options 2012-11-12 18:35:23 -08:00
Thomas Goyne 5f1f84ec32 Include default config before aegisub.props so that it actually works 2012-11-12 18:35:23 -08:00
Thomas Goyne c4daf53030 Remove logic to create the default config file 2012-11-12 18:35:23 -08:00
Thomas Goyne 45ff83637a Rearrange the build settings a bit and add update checker settings 2012-11-12 18:35:23 -08:00
Thomas Goyne b7e7a9054c Remove FinalRelease config setting 2012-11-12 18:35:23 -08:00
Thomas Goyne 5db559265f Drop support for config_windows.h 2012-11-12 18:35:23 -08:00
Thomas Goyne 0aba5206c0 Normalize whitespace in Aegisub.targets 2012-11-12 18:35:23 -08:00
Thomas Goyne f1ef0582cb Update Aegisub project 2012-11-12 18:35:23 -08:00
Thomas Goyne 1531ef88bd Visual Studio 2012 compilation fixes
VS11 only defines pseudo-variadic template stuff for up to 5 arguments,
so use lambdas rather than bind.
2012-11-12 18:35:23 -08:00
Thomas Goyne f3d32c6726 Increase memory limit for precompiled header compilation 2012-11-12 18:35:23 -08:00
Thomas Goyne 67af6f89a8 Fix Aegisub source directory path 2012-11-12 18:35:22 -08:00
Thomas Goyne 8c3f556387 Remove SubWCRev build step 2012-11-12 18:35:22 -08:00
Thomas Goyne b2a5fe406c Unconditionally enable Lua and Hunspell 2012-11-12 18:35:22 -08:00
Thomas Goyne 71af4127ce Add error checking to respack 2012-11-12 18:35:22 -08:00
Thomas Goyne 08eb738de5 Update libresrc project 2012-11-12 18:35:22 -08:00
Thomas Goyne 98cf1b7350 Update respack project 2012-11-12 18:35:22 -08:00
Thomas Goyne c2510b1ef0 Remove explicit references to libraries and use project references instead 2012-11-12 18:35:22 -08:00
Thomas Goyne fc7d50dfb5 Update CSRI source path 2012-11-12 18:35:22 -08:00
Thomas Goyne e5a852fc0c Update hunspell project 2012-11-12 18:35:22 -08:00
Thomas Goyne 0905290acc Add ipch to .gitignore 2012-11-12 18:35:22 -08:00
Thomas Goyne 6c23f14c81 Fix the default Aegisub source base 2012-11-12 18:35:22 -08:00
Thomas Goyne 2cf834806e Update libaegisub project 2012-11-12 18:35:21 -08:00
Thomas Goyne 7230afc3cf Update iconv project 2012-11-12 18:35:21 -08:00
Thomas Goyne a9bc2c99a7 Update lua project 2012-11-12 18:35:21 -08:00
Thomas Goyne e259418190 Add lib and obj dirs to .gitignore 2012-11-12 18:35:21 -08:00
Thomas Goyne 9b4fd7a051 Update universalchardet project 2012-11-12 18:35:21 -08:00
Thomas Goyne c41468354a Convert msbuild projects to vs 2012 format 2012-11-12 18:35:21 -08:00
Thomas Goyne e0f16da866 Move msbuild stuff to top level build folder 2012-11-12 18:35:21 -08:00
Thomas Goyne b4c71e4673 Delete vs2008 build system 2012-11-12 18:35:21 -08:00
Thomas Goyne 1848aad5c1 Fix compilation with C++ 11/libc++ 2012-11-12 18:35:21 -08:00
Thomas Goyne ebd56f2163 Include cstdint rather than stdint.h 2012-11-10 18:05:57 -08:00
Thomas Goyne 0893ed3f0a Remove references to tr1 2012-11-10 18:05:57 -08:00
Thomas Goyne 4500edef39 Build as C++11 on non-windows 2012-11-10 18:05:57 -08:00
Thomas Goyne fdeb661a79 Bump required OS X version to 10.7 for libc++ 2012-11-10 18:05:57 -08:00
Thomas Goyne 13b83b0996 Use libc++ when it's available 2012-11-10 18:05:57 -08:00
Thomas Goyne b077c0991b Move the split line at cursor functionality to commands 2012-11-10 18:05:57 -08:00
Thomas Goyne 9d4be82be8 Replace syntax highlighting logic with new stuff in libaegisub 2012-11-10 18:05:57 -08:00
Thomas Goyne 76adcad999 Move the spellchecker base class to libaegisub 2012-11-10 18:05:57 -08:00
Thomas Goyne 47bafe4b9f Add a lexer for the body of dialogue lines to libaegisub 2012-11-10 18:05:56 -08:00
Thomas Goyne bd78692148 Use wxSTC::GetTextRaw rather than converting utf-8 -> wxString -> utf-8 2012-11-10 18:05:56 -08:00
Thomas Goyne 9088ae994c Remove windows.h from the precompiled header
It's only used by a few source files and it defines a ton of garbage.
2012-11-10 18:05:56 -08:00
Thomas Goyne 08983adc96 Move agi::Color parsing to its own file
Keeping all uses of boost.spirit in a single translation unit helps
avoid having it murder compile times, which requires that it be off by
itself.
2012-11-10 18:05:56 -08:00
Thomas Goyne ea5428b65f Replace AssColor with agi::Color
Add agi::Color, and replace AssColor and all uses of wxColor that are
not immediately passed to/from wx with it.
2012-11-10 18:05:56 -08:00
Thomas Goyne 83761d881a Convert AssFile::Line to an intrusive list
Gives O(1) pointer -> iterator conversions, better memory usage, better
performance, and overall slightly simplifies the code using it.
2012-11-10 18:05:56 -08:00
Thomas Goyne 28175aadbe Switch to boost.container for containers of incomplete types
STL containers are not required to support incomplete types, and while
most implementations do, clang's libc++ does not.
2012-11-10 18:05:56 -08:00
Thomas Goyne dfa4f33f25 Add boost check to configure 2012-11-10 18:05:56 -08:00
Thomas Goyne 59eae9ab85 Store the lines in LuaAssFile in a vector
This makes the implementation better match the exposed interface and
simplifies some of the code.
2012-11-10 18:05:55 -08:00
Thomas Goyne 10f0f5fc7b Kill AssFile::AddComment and just add it when writing the file 2012-11-10 18:05:55 -08:00
Thomas Goyne a51b3d8d7f Handle errors which occur in the progress dialog worker thread 2012-11-10 18:01:22 -08:00
Thomas Goyne ed43623743 Create well-formed ASS when reading SRT-in-Matroska
The conversion to ASS was creating invalid lines which could not be
parsed, resulting in the worker thread crashing.

Closes #1554.
2012-11-10 18:01:20 -08:00
Thomas Goyne 6b0ea92f8e Actually read dialogue lines from SRT-in-Matroska
Pass the ASS parser a [Events] line before feeding it dialogue lines so
that the dialogue lines are parsed as such rather than as script info
lines.

Updates #1554.
2012-11-10 18:01:18 -08:00
Thomas Goyne 8701d7cdb1 Add Malay to the spellchecker language list. Closes #1552. 2012-11-03 16:08:36 -07:00
ZHAOLI 776b080564 Update Simplified Chinese translation. Closes #1550. 2012-11-03 15:57:24 -07:00
Thomas Goyne b006bcc8c4 Commit pending audio changes on Enter in the edit box. Closes #1544. 2012-11-03 15:57:24 -07:00
Thomas Goyne 6c2ccd8639 Don't display an error when opening read-only formats 2012-10-29 06:29:45 -07:00
Thomas Goyne b5baacec2c Fix merge error in df60c2e7a4
Although wxSTC defines SetValue, it doesn't actually work correctly.
2012-10-28 07:20:12 -07:00
Thomas Goyne 0e7501f45c Fix some cases where the detached video dialog would get set to bogus sizes
At very large and very small sizes, setting the window's size with
SetSize may not actually result in the window changing to the requested
size.  Once this happened future adjustments to the size were incorrect,
and the video display would sometimes not fit in the window, and on os x
the window could get set to a negative size, with weird results.
2012-10-27 20:44:09 -07:00
Thomas Goyne f35e10c76a Decode the autosave path when cleaning up old files 2012-10-27 19:26:45 -07:00
Thomas Goyne a266d32ce4 Remove pointless GetString override in the list option values 2012-10-27 05:54:50 -07:00
Thomas Goyne 99a20e4d1c Move InvalidMarginIdError to ass_dialogue.h 2012-10-26 17:26:53 -07:00
Thomas Goyne ce05857bfa Use std::tr1::array for AssStyle::Margin
This eliminates the need for an explicit operator= on AssStyle.
2012-10-26 17:26:53 -07:00
Thomas Goyne e0705f1c84 Fix a capitalization error in Info.plist. Closes #1547. 2012-10-25 17:39:50 -07:00
Thomas Goyne e44c47c863 Remove $Id$ markers since git doesn't support them 2012-10-25 17:39:49 -07:00
Thomas Goyne df60c2e7a4 Factor out a bunch of duplicated code for clipboard stuff 2012-10-25 17:39:49 -07:00
Thomas Goyne ff6394c95e Throw only real exceptions from subtitle io stuff 2012-10-25 17:39:49 -07:00
Thomas Goyne 78b70e987e Disable Ubuntu's global menu bar for Aegisub
wxWidgets currently doesn't generate menu open or update events for the
Ubuntu menubar (since GTK doesn't send the relevant signals to the
application), which we rely on.

Updates #1531.
2012-10-25 17:39:49 -07:00
Thomas Goyne 67c01d11f6 Delete unfinished and unused stuff from libaegisub 2012-10-25 17:39:49 -07:00
Thomas Goyne 56ced22c63 Mark autosave files with the current date and time
This makes it so that autosave files are (almost) never overwritten, so
that opening an old version of the file won't result in the autosaves
from a newer version being replaced.

Clean up old autosave files on startup to limit the total to 100
files/100 MB. Maybe make this configurable in the future?

Closes #1155.
2012-10-25 07:50:31 -07:00
Thomas Goyne 820732b97e Add i386 to the supported architectures in the plist 2012-10-22 10:10:20 -07:00
Thomas Goyne decbf06de3 Timestamp temporary files to reduce the chance of name collisions 2012-10-21 15:29:52 -07:00
Thomas Goyne b43f27396e Verify that creating the temp file for saving actually succeeded 2012-10-21 15:29:52 -07:00
Thomas Goyne 715c882a97 Actually check MoveFileEx's return value 2012-10-21 08:13:46 -07:00
Thomas Goyne da79178cc9 Add _tmp before the extension when saving
This makes it easier to open the temporary file if an error occurs at
some point in the saving process.
2012-10-21 08:04:06 -07:00
Thomas Goyne c7fb6a57a4 Remove the platform-specific agi::io implementations since they were nearly identical 2012-10-21 08:00:02 -07:00
Thomas Goyne 40bb3b857e Allow scrolling the subtitles grid a page past the last row. Closes #888. 2012-10-20 08:26:38 -07:00
Thomas Goyne 7553534d96 Update all selected rows in the vector clip tool rather than just the active line 2012-10-20 08:07:15 -07:00
Thomas Goyne b74130579f Update all selected rows in the rectangular clip tool rather than just the active line 2012-10-20 07:59:07 -07:00
Thomas Goyne 6b3cfcebfd Change the Effect box to a combobox like the Actor box. Closes #1461. 2012-10-20 07:34:55 -07:00
Thomas Goyne bd3df29a1c Fix splitting lines by karaoke
New lines have to be committed before they can be selected.

Closes #1541.
2012-10-19 13:28:18 -07:00
Thomas Goyne 49a442bded Fix non-pch compilation 2012-10-19 08:57:56 -07:00
Thomas Goyne 8575fb9c87 Don't use wxRemoveFile in the cache cleaner
wxRemoveFile notifies the user of errors via a dialog box, and errors
when cleaning the cache are normally just due to two copies of Aegisub
trying to clean it at the same time.
2012-10-19 07:35:37 -07:00
Thomas Goyne 938ccfe39b Mark TimecodeRange::operator< as const 2012-10-16 15:53:49 -07:00
Thomas Goyne 30165e4392 Truncate syllables which extend past the end of the line rather than normalizing all of the syllable lengths 2012-10-16 14:29:31 -07:00
Thomas Goyne a267a15de0 Play right-clicked syllables when in karaoke mode 2012-10-16 14:08:20 -07:00
Thomas Goyne 7b3f2d0414 Remove pointless #pragma once from ass_file.h 2012-10-16 09:53:30 -07:00
Thomas Goyne 9547bc4ef2 Move some stuff from AssFile::Load to FrameMain::LoadSubtitles
This is still not a very good place for it, but AssFile really shouldn't
be mucking around in global program state.
2012-10-16 09:53:28 -07:00
Thomas Goyne a53432736c Get wxMessageBox out of AssFile 2012-10-16 09:52:47 -07:00
Thomas Goyne 33dd0abc7f Kill AssFile::GetWildcardList
It did not actually simplify or clarify any of the code that called it.
2012-10-16 09:52:47 -07:00
Thomas Goyne d3e2585faf Refactor AssParser so that AddLine is less of a monolithic monstrosity 2012-10-16 09:52:19 -07:00
Thomas Goyne 7e1bb8348a Move ASS parsing to its own class 2012-10-16 09:52:19 -07:00
Thomas Goyne c7fd04a739 Rename ASS -> Ass in symbol names
Most types and functions used Ass, but a decent number used ASS, so make
them consistent.
2012-10-16 09:52:19 -07:00
Thomas Goyne 006f820aea Move ass parsing logic from AssFile to ASSSubtitleFormat 2012-10-16 09:52:19 -07:00
Thomas Goyne 682c7d5371 Fix an occasional crash on startup on Windows debug builds
Some of the debug iterator code seems to not like 'delete map[key]', so
change things a little to do things in a way that appears to be fine.
2012-10-16 09:51:31 -07:00
Thomas Goyne 712a5e0d8b Skip unprocessed keydown events in the styling assistant so that typing style names actually works 2012-10-16 08:51:21 -07:00
Thomas Goyne ce89183b8c Remove config_unix.h from the vcproj 2012-10-15 18:16:09 -07:00
Thomas Goyne b52099f0fa Delete SubtitlesGrid::SetSelectionFromAbsolute and SubtitlesGrid::GetAbsoluteSelection
Nothing uses them anymore (and nothing should be using them).
2012-10-15 18:16:09 -07:00
Thomas Goyne 53433426bb Fix some stuff from Coverity Scan
Mostly just bugs in unreachable code and stylistic things, but there's a
few incorrect reachable things that were working by coincidence and
gratuitous dynamic_casts.
2012-10-15 18:16:09 -07:00
Thomas Goyne ccafd0be17 Update the selection correctly after setting a tag via the edit box buttons
The valid bounds for a selection are not updated until the contents of
the edit box are updated on commit, so set the selection after
committing rather than before.
2012-10-14 20:35:08 -07:00
Thomas Goyne be94ab70f4 Extract cut/copy/delete lines logic from SubtitlesGrid 2012-10-14 18:57:57 -07:00
Thomas Goyne 8aeb611745 Make the correct row visible when selecting rows with shift + arrow keys in the grid. Closes #1533. 2012-10-14 08:31:16 -07:00
Thomas Goyne b7e0af6bbb Delete BaseGrid::GetFirstSelRow() since it's no longer used by anything 2012-10-14 08:22:13 -07:00
Thomas Goyne a40b76ea59 Insert new lines before/after the active line rather than the first selected line 2012-10-14 08:21:41 -07:00
Thomas Goyne 610b2a9494 Make pasting lines not horribly slow and bad. Closes #1534. 2012-10-13 21:32:26 -07:00
Thomas Goyne 7410e37e07 Fix some places where the margin count wasn't updated when removing ASS2 support 2012-10-12 14:54:09 -07:00
Thomas Goyne afd24913d6 Fix find/replace derp 2012-10-12 14:54:09 -07:00
Thomas Goyne cc3ca715a1 Set the focus to the edit box after any of the edit box buttons are clicked 2012-10-12 14:54:09 -07:00
Thomas Goyne daf28e2005 Use the native placeholder text functionality on OS X 2012-10-12 14:54:09 -07:00
Thomas Goyne 7ca2c5cb65 Actually set the correct color tags from the color picker buttons 2012-10-12 14:54:09 -07:00
Thomas Goyne a1fad1f947 Drop support for ASS2
It is very unlikely that anyone has ever actually used ASS2 for
anything, and in practice it was not usable anyway as the bottom margin
was always either ignored or blindly overwritten.
2012-10-12 14:54:08 -07:00
Thomas Goyne 983d0b19eb Add default hotkeys for the color buttons 2012-10-12 14:54:08 -07:00
Thomas Goyne b3486440f3 Show the hotkeys for the edit box buttons in the tooltip 2012-10-12 14:54:08 -07:00
Thomas Goyne 1b68790c4b Convert the subs edit box buttons to commands
This makes they hotkeyable and extracts a large chunk of logic from the
giant mess that is SubsEditBox.
2012-10-12 14:54:08 -07:00
Thomas Goyne 44f0fcce07 Go through TextSelectionController rather than hitting the text edit directly in SubsEditBox 2012-10-12 14:54:08 -07:00
Thomas Goyne a948924850 Add a TextSelectionController interface to avoid exposing the wxSTC edit directly in the context 2012-10-12 14:54:08 -07:00
Thomas Goyne 1c2ec34cb1 Bump version number in installer to 3.1.0 2012-10-12 14:54:08 -07:00
Thomas Goyne 93a567e800 Update hunspell from 1.2.1 to 1.3.2 2012-10-12 14:54:08 -07:00
Thomas Goyne e4a6092b36 Use signals for selection change notifications 2012-10-12 14:54:07 -07:00
Thomas Goyne a0c92f83f9 Fix some PVS-Studio warnings 2012-10-12 14:51:30 -07:00
Thomas Goyne 189615bf48 Don't use a full-size subbitmap for icons for no apparent reason 2012-10-12 14:51:30 -07:00
Thomas Goyne 7d2da48ddb Remove config_unix.h since the things it was working around were fixed years ago 2012-10-12 14:51:30 -07:00
Thomas Goyne e42cbe5cd3 Enable HiDPI on OS X
Everything but the audio and video displays and toolbar icons just work,
and they're not too hideously ugly.
2012-10-12 14:51:29 -07:00
Thomas Goyne fc01b8bafe Delete the freetype fonts collector
It's pretty horribly broken and fixing it would essentially consist of
rewriting fontconfig.
2012-10-12 14:51:29 -07:00
Thomas Goyne 2dcbf77e29 Use printf rather than echo -n in autogen.sh 2012-10-12 14:51:29 -07:00
Thomas Goyne a3ff3e966d Bump version to 3.1 2012-10-12 14:51:29 -07:00
Thomas Goyne 67af44b889 Fix compilation with no audio players enabled 2012-10-12 14:51:29 -07:00
Thomas Goyne d0a7388581 Remove ifdef checks for header inclusion in audio_player.cpp as the headers themselves have the checks 2012-10-12 14:51:29 -07:00
Thomas Goyne 95a1b7e9b5 Remove AudioPlayer::OpenStream and CloseStream
Instead, just pass the provider to the constructor and let the player
worry about when to create its things. The ability to explicitly open
and close the playback wasn't actually required for anything, and it
complicated the implementations of the players.
2012-10-12 14:51:29 -07:00
صفا الفليج 6e90d9498d Add partial Arabic translation. Updates #1532. 2012-10-12 14:44:13 -07:00
Thomas Goyne 79ef194238 Fix compilation error with clang 2012-10-12 14:36:29 -07:00
Yuri ab47cfa1a5 Update Hungarian translation 2012-10-12 14:11:32 -07:00
doplank c3f56fe5d7 Update Indonesian translation 2012-10-12 14:11:02 -07:00
Thomas Goyne 863e041d4d Honor the configured MRU limits
Actually use the limits set in the preferences dialog rather than always
limiting the MRU lists to 16.

Currently only the Find and Replace limits can be set to above 16 due to
how the open recent items commands are implemented.

Closes #1528.
2012-10-11 10:19:49 -07:00
Thomas Goyne e5251544ea Don't save separate wavs for each selected line
Instead, save a single wav spanning the full range of all selected
lines.
2012-10-11 09:41:25 -07:00
Adam Rambousek 254e7564e1 Update Czech translation 2012-10-10 19:49:10 -07:00
Thomas Goyne f691335e3b Run the icons through ImageOptim
Knocks 70 KB off the total size.
2012-10-10 18:49:19 -07:00
Thomas Goyne a7bb608a34 Mark Command::Icon as const 2012-10-10 18:48:47 -07:00
Thomas Goyne 50b70f6979 Remove DOCME placeholders from AssDialogue 2012-10-10 18:48:39 -07:00
Thomas Goyne 9009c963e3 Fix rounding errors that resulted in karaoke syllables drifting 2012-10-09 20:40:49 -07:00
Thomas Goyne 004b41f0eb Switch the Duration field back to time mode when video is closed 2012-10-09 20:40:47 -07:00
Thomas Goyne 05e4a237cb Fix a few errors in the German translation. Closes #1523. 2012-10-09 15:37:21 -07:00
Thomas Goyne 2dc7366871 Delete aegisub.desktop on distclean rather than clean since it's generate at configure time 2012-10-09 15:29:13 -07:00
Thomas Goyne 89d7e0a321 Allow framerate transform to/from variable without external timecodes loaded
This is a potentially sensible operation (to convert from VFR to/from
the video's average FPS), so there's no reason to require that the input
and output timecodes be from different places.

Closes #1530.
2012-10-09 09:20:35 -07:00
Thomas Goyne a56bf25d00 Actually load the fontconfig config file in the fonts collector on OS X 2012-10-09 09:20:34 -07:00
Thomas Goyne f7ff76a251 Set datarootdir 2012-10-09 07:30:27 -07:00
Thomas Goyne 269dd79230 Increase the undo-group-breaking timer to 30 seconds (from 10) 2012-10-09 07:28:16 -07:00
Thomas Goyne 28e041de6f Bump version number in installer to 3.0.2 2012-10-08 14:06:37 -07:00
Thomas Goyne b44d53c227 Don't install the somewhat out-of-date automation design docs. Updates #1135. 2012-10-08 14:01:05 -07:00
Thomas Goyne 49184f2d0e Honor docdir and localedir configure variables. Updates #1135. 2012-10-08 14:00:45 -07:00
Thomas Goyne a13d06318b Remove all glu.h includes since no glu functions are ever used. Updates #1511. 2012-10-08 10:21:20 -07:00
Thomas Goyne db30fdedbd Use the correct option name for reporting the user's UI language 2012-10-07 19:55:26 -07:00
Xabier Aramendi (Azpidatziak) 695de800c3 Update Basque translations. Updates #1499. 2012-10-07 19:28:46 -07:00
Lasse Liehu 7c990ecd7e Update Finnish translation. Updates #1522. 2012-10-07 19:28:36 -07:00
Thomas Goyne 0f90f8a627 Delete svn-revision-base.h 2012-10-07 09:03:44 -07:00
Thomas Goyne 07257e1bb3 Fix non-precomp header compilation 2012-10-06 09:39:44 -07:00
Daniel Mota 4a62073df0 Fix some errors in the Portuguese Translation 2012-10-06 08:46:37 -07:00
Thomas Goyne 846449cb03 Center the audio display when a line is within 5% of an edge as 2.1 did 2012-10-06 08:46:10 -07:00
Thomas Goyne 8d89e8c268 Bump version number in installer to 3.0.1 2012-10-05 08:21:40 -07:00
Thomas Goyne de862cb6e8 Remove the correct syllable split on a click on the left side of the split line 2012-10-05 08:21:40 -07:00
Thomas Goyne 5cdcd3dcb3 Increase the hit area for removing syllable splits a little 2012-10-05 08:21:40 -07:00
Thomas Goyne d0a9f3f7cd Change the karaoke split cursor color to indicate whether it'll add or remove a split 2012-10-05 08:21:40 -07:00
Thomas Goyne 1cd9f2dcf2 Add a default hotkey for "audio/play/line" 2012-10-04 16:56:02 -07:00
Thomas Goyne d97ad27354 Add the play line button to the audio toolbar 2012-10-04 16:49:55 -07:00
Thomas Goyne 44468fbd3d Add "audio/play/line" command 2012-10-04 16:48:35 -07:00
Thomas Goyne 2db488ee81 Update Greek translation. Closes #1526. 2012-10-04 15:59:02 -07:00
Thomas Goyne 050721a90d Update Russian translation. Closes #1525. 2012-10-04 13:02:24 -07:00
Thomas Goyne 7343392823 Don't use StandardPaths before OnInit is called
AegisubLocale is created extremely early in the application
initialization, and using StandardPaths in its constructor resulted in
?user being set to an incorrect value as the app name hadn't been set
yet.
2012-10-04 12:58:01 -07:00
Thomas Goyne 662cf01493 Remove solidbreak from installer flags since there's no longer optional components 2012-10-04 11:33:58 -07:00
Thomas Goyne 782c6310f3 Don't include glu.h in the precompiled header since it's never actually used 2012-10-03 15:58:14 -07:00
Thomas Goyne 2c4de3a635 Remove unused things from osx-bundle.sed.in 2012-10-02 16:06:05 -07:00
Thomas Goyne 0e3fabddfa Set the plist version correctly 2012-10-02 16:06:05 -07:00
Thomas Goyne f3f9d2c34d Also convert sr_RS to sr_YU in the plist on OS X 2012-10-02 16:06:05 -07:00
Thomas Goyne 4e723184a1 Put the Serbian translation in the right place on windows. Closes #1325. 2012-10-02 16:06:05 -07:00
Thomas Goyne 86a39cc9ac Update config.guess and config.sub to a version that isn't close to a decade old 2012-10-02 16:06:05 -07:00
Thomas Goyne 1f6a6087c6 Remove waf build system since it's pretty out of date 2012-10-02 16:06:05 -07:00
Thomas Goyne 21c2259d94 Rename configure.in to configure.ac 2012-10-02 16:06:05 -07:00
Thomas Goyne 40f97dbfea Redesign AegisubLocale
Use wxTranslations directly rather than going through wxLocale. This
significantly simplifies the code, eliminates the hardcoded list of
languages for non-windows, and makes it possible to use mismatched
languages and locales.

Closes #1508.
2012-10-02 16:06:05 -07:00
Thomas Goyne 0346fbf715 Remove all optional components from the installer other than icons
There's really no reason to present the user with a giant list of
checkboxes that lets them unselect at most a few megabytes of local
files.
2012-10-02 12:56:35 -07:00
Thomas Goyne 8fad077e88 Don't ignore loaded timecodes when converting frames to times for the subtitle renderer 2012-10-02 12:56:19 -07:00
Thomas Goyne 57a253004d Scroll the audio display after a click near an edge
When auto scrolling is enabled, scroll the audio display after a click
near an edge to mimic the effect of scrolling to show the new audio
selection (as 2.1.9 did), but hopefully without all the weird
undesirable cases that had.
2012-10-02 08:09:33 -07:00
Thomas Goyne 05f5d37576 Split AudioDisplay::OnMouseEvent into several methods 2012-10-02 07:40:50 -07:00
Thomas Goyne 3d3a74c5d2 Audio display cosmetics 2012-10-02 07:27:52 -07:00
Thomas Goyne 55bdbf8d48 Add scroll arrows to the karaoke syllable bar when the contents are too wide to fit. Closes #1516. 2012-10-01 16:55:20 -07:00
Thomas Goyne b020322a3a Update the size of the karaoke syllable bar when the window is resized. Updates #1516. 2012-10-01 15:38:02 -07:00
Thomas Goyne 1b089795f1 Also stop the video when stopping audio playback as 2.1.9 did. Closes #1515. 2012-10-01 10:28:42 -07:00
Thomas Goyne 0d844de245 Fix an error in the Portuguese translations 2012-10-01 09:37:46 -07:00
Thomas Goyne 0a5fa6ff39 Don't use ARC in the Obj-C++ code
It never allocated any non-autoreleased objects so ARC wasn't actually
doing anything other than breaking compilation with gcc.
2012-09-29 22:10:45 -07:00
Thomas Goyne afe0213317 Delete most of the dictionary installers and replace them with a shell script 2012-09-29 21:46:09 -07:00
Thomas Goyne 0c3d321124 Remove the .x from 3.0.x in the dictionary installers 2012-09-29 21:46:09 -07:00
Thomas Goyne 25e65237cd Mark "Action" as translatable in the fonts collector dialog
Fortunately "Action" is also used in the select lines dialog so it's
already present in the translations.
2012-09-27 17:10:33 -07:00
Thomas Goyne 17295357e2 Update Indonesian translation 2012-09-25 09:37:49 -07:00
Thomas Goyne 08c9781dfb Actually modify the line time when applying lead-in/out in karaoke mode 2012-09-24 18:56:49 -07:00
Thomas Goyne 7433b814a7 Modify the first syllable when normalizing karaoke syllable lengths 2012-09-24 18:46:15 -07:00
Thomas Goyne 85f2774033 Report the user's UI language in addition to the system language to the update checker 2012-09-24 13:00:52 -07:00
Thomas Goyne ccf3e94d96 Bundle the Serbian translation as sr_YU on OS X as it doesn't have sr_RS 2012-09-23 08:20:24 -07:00
Thomas Goyne 68fcf90de5 Update Serbian translation 2012-09-23 08:20:23 -07:00
Thomas Goyne 51e23a3c7e Remove the period from the catalog name since gettext seems to not like it 2012-09-22 21:29:44 -07:00
Thomas Goyne 39bf2ab5fd Don't list languages in the language dialog which won't actually work. Updates #1508. 2012-09-22 09:51:39 -07:00
Thomas Goyne 9a6eb70f12 Try to find an English locale ID which is available
wxLANGUAGE_ENGLISH corresponds to the "en" locale on Linux, which is
generally not installed, which resulted in English actually being the
system default locale.

Updates #1508.
2012-09-22 09:42:32 -07:00
Thomas Goyne c4f6e729f9 Add missing period in 2.35 in a string that probably isn't actually visible anywhere 2012-09-21 18:13:10 -07:00
Thomas Goyne 6943b868da Handle file not found errors when opening linked audio from subtitles 2012-09-21 18:07:30 -07:00
Thomas Goyne ffab39b21f Don't automatically load audio from video if audio from that file is already open 2012-09-21 17:58:22 -07:00
Thomas Goyne d66c8709ae Update Portuguese translation 2012-09-16 19:18:33 -07:00
Thomas Goyne 7b5bb6f57a Add missing languages to the hardcoded list for non-windows 2012-09-16 19:12:05 -07:00
Thomas Goyne 9c9413a209 Update Portuguese translation 2012-09-16 19:08:07 -07:00
Thomas Goyne ef99f77087 Make the open/save keyframes dialog title translatable 2012-09-16 18:52:50 -07:00
Thomas Goyne d2f724afa5 Update Spanish translation 2012-09-14 19:32:23 -07:00
Thomas Goyne 9048d8a59a Fix compilation failure in it.po 2012-09-14 07:55:36 -07:00
Thomas Goyne 2c2f60d4e0 Fix completely incorrect behavior when AR changing is enabled in the resolution resampler 2012-09-14 07:55:31 -07:00
Thomas Goyne e552dc4c9c Remove some dead assigns 2012-09-14 07:55:01 -07:00
Thomas Goyne f3fe0b6a0b Update German translation 2012-09-11 09:20:32 -07:00
Thomas Goyne 429dfe08b6 Update Italian translation 2012-09-10 17:45:29 -07:00
Thomas Goyne d0de419e21 Bump copyright year in dictionary installers 2012-09-07 17:11:53 -07:00
Thomas Goyne 3dcb553203 Add installer for Basque dictionaries 2012-09-07 17:10:47 -07:00
Thomas Goyne 14457fb87e Update Euskara (Basque) translation 2012-09-07 08:04:21 -07:00
Thomas Goyne 32560df6be Update French translation 2012-09-07 07:31:05 -07:00
Thomas Goyne 9ae6e3c538 Fix compilation with precompiled headers disabled 2012-09-06 08:25:38 -07:00
3122 changed files with 353400 additions and 326058 deletions

239
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,239 @@
name: Meson CI
on:
push:
branches:
- master
- feature
- cibuilds
pull_request:
branches:
- master
- feature
workflow_dispatch:
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- name: Windows MSVC Release
os: windows-latest
msvc: true
buildtype: release
args: >-
-Ddefault_library=static
--force-fallback-for=zlib,harfbuzz,freetype2,fribidi,libpng
-Dfreetype2:harfbuzz=disabled
-Dharfbuzz:freetype=disabled
-Dharfbuzz:cairo=disabled
-Dharfbuzz:glib=disabled
-Dharfbuzz:gobject=disabled
-Dharfbuzz:tests=disabled
-Dharfbuzz:docs=disabled
-Dharfbuzz:icu=disabled
-Dfribidi:tests=false
-Dfribidi:docs=false
-Dlibass:fontconfig=disabled
-Dffmpeg:libdav1d=enabled
-Davisynth=enabled
-Dbestsource=enabled
-Dvapoursynth=enabled
- name: Windows MSVC Release (wx master)
os: windows-latest
msvc: true
buildtype: release
args: >-
-Ddefault_library=static
--force-fallback-for=zlib,harfbuzz,freetype2,fribidi,libpng
-Dfreetype2:harfbuzz=disabled
-Dharfbuzz:freetype=disabled
-Dharfbuzz:cairo=disabled
-Dharfbuzz:glib=disabled
-Dharfbuzz:gobject=disabled
-Dharfbuzz:tests=disabled
-Dharfbuzz:docs=disabled
-Dharfbuzz:icu=disabled
-Dfribidi:tests=false
-Dfribidi:docs=false
-Dlibass:fontconfig=disabled
-Dffmpeg:libdav1d=enabled
-Davisynth=enabled
-Dbestsource=enabled
-Dvapoursynth=enabled
-Dwx_version='3.3.0'
#- {
# name: Windows MinGW,
# os: windows-latest,
# msvc: false
#}
- {
name: Ubuntu Debug,
os: ubuntu-latest,
buildtype: debugoptimized,
args: ''
}
- {
name: Ubuntu Release,
os: ubuntu-latest,
buildtype: release,
args: ''
}
- name: Ubuntu AppImage
os: ubuntu-22.04
buildtype: release
appimage: true
# distro ffms is currently broken
args: >-
--prefix=/usr
-Dbuild_appimage=true
-Ddefault_library=static
--force-fallback-for=ffms2
-Dffmpeg:libdav1d=enabled
-Davisynth=enabled
-Dbestsource=enabled
-Dvapoursynth=enabled
- {
name: macOS Release,
os: macos-13,
buildtype: release,
args: -Ddefault_library=static -Dbuild_osx_bundle=true -Dlocal_boost=true -Dvapoursynth=enabled --force-fallback-for=ffms2
}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: '0'
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Setup Meson
run: |
python -m pip install --upgrade pip setuptools
pip install meson
- name: Setup MSVC
if: matrix.config.os == 'windows-latest' && matrix.config.msvc == true
uses: ilammy/msvc-dev-cmd@v1
- name: Install dependencies (Windows)
if: matrix.config.os == 'windows-latest'
run: |
choco install ninja innosetup
$moonscripturl = "https://github.com/leafo/moonscript/releases/download/win32-v0.5.0/moonscript-187bac54ee5a7450013e9c38e005a0e671b76f45.zip"
mkdir moonscript
Invoke-WebRequest -Uri $moonscripturl -OutFile ".\moonscript\moonscript.zip"
pushd moonscript
7z e moonscript.zip
Get-Location | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
popd
$gettexturl = "https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-static-64.zip"
Invoke-WebRequest -Uri $gettexturl -OutFile ".\gettext.zip"
Expand-Archive ".\gettext.zip" -DestinationPath gettext
pushd gettext/bin
Get-Location | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
popd
- name: Install dependencies (MacOS)
if: startsWith(matrix.config.os, 'macos-')
run: |
export HOMEBREW_NO_INSTALL_CLEANUP=1
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
# Skip brew update for now, see https://github.com/actions/setup-python/issues/577
# brew update
brew install luarocks ninja
sudo luarocks install luafilesystem 1.8.0
sudo luarocks install moonscript --dev
brew install libass zlib ffms2 fftw hunspell
brew install pulseaudio # NO OpenAL in github CI
- name: Install dependencies (Linux)
if: startsWith(matrix.config.os, 'ubuntu-')
run: |
sudo apt-get update
sudo apt-get install ninja-build build-essential libx11-dev libwxgtk3.0-gtk3-dev libfreetype6-dev pkg-config libfontconfig1-dev libass-dev libasound2-dev libffms2-dev intltool libboost-all-dev libhunspell-dev libuchardet-dev libpulse-dev libopenal-dev libxxhash-dev nasm
- name: Configure
run: |
meson setup build ${{ matrix.config.args }} -Dbuildtype=${{ matrix.config.buildtype }}
meson configure build
- name: Build
run: meson compile -C build
- name: Run test
run: meson test -C build --verbose "gtest main"
# Windows artifacts
- name: Generate Windows installer
if: matrix.config.os == 'windows-latest'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run:
meson compile win-installer -C build
- name: Generate Windows portable installer
if: matrix.config.os == 'windows-latest'
run: cd build && ninja win-portable
- name: Upload artifacts - win_installer
uses: actions/upload-artifact@v4
if: matrix.config.os == 'windows-latest'
with:
name: ${{ matrix.config.name }} - installer
path: build/Aegisub-*.exe
if-no-files-found: error
- name: Upload artifacts - portable.zip
uses: actions/upload-artifact@v4
if: matrix.config.os == 'windows-latest'
with:
name: ${{ matrix.config.name }} - portable
path: build/aegisub-portable-64.zip
# macOS artifacts
- name: Generate macOS installer
if: startsWith(matrix.config.os, 'macos-')
run: |
meson compile osx-bundle -C build
meson compile osx-build-dmg -C build
- name: Upload artifacts - macOS dmg
uses: actions/upload-artifact@v4
if: startsWith(matrix.config.os, 'macos-')
with:
name: ${{ matrix.config.name }} - installer
path: build/Aegisub-*.dmg
if-no-files-found: error
# Linux artifacts (AppImage)
- name: Generate AppImage
if: matrix.config.appimage
run: |
mkdir -p appimage/appdir
meson install -C build --destdir=../appimage/appdir
cd appimage
sudo apt-get install libfuse2
curl -L "https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20220822-1/linuxdeploy-x86_64.AppImage" -o linuxdeploy
curl -L "https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage" -o appimagetool
chmod +x linuxdeploy appimagetool
./linuxdeploy --appdir appdir --desktop-file=appdir/aegisub.desktop
./appimagetool appdir
- name: Upload artifacts - Linux AppImage
uses: actions/upload-artifact@v4
if: matrix.config.appimage
with:
name: ${{ matrix.config.name }}
path: appimage/*.AppImage
if-no-files-found: error

115
.gitignore vendored
View File

@ -1,68 +1,49 @@
*.App
*.[oadi]
*.ass
*.avi
*.bz2
*.cache
*.dep
*.dll
*.dmg
*.exe
*.gch
*.gz
*.idb
*.ilk
*.manifest
*.mkv
*.mo
*.ncb
*.obj
*.orig
*.patch
*.pch
*.pdb
*.sdf
*.sln
*.so
*.srt
*.suo
*.swp
*.ts
*.user
*.vsp
*.y4m
*.zip
*~
/tests/data
.lvimrc
.syntastic_cpp_config
BuildLog.htm
Debug
Makefile.inc
Release
Win32
acconf.h
acconf.h.in
aclocal.m4
aegisub/conf.sh
aegisub/desktop/aegisub.desktop
aegisub/libaegisub/libaegisub-3.0.so.3
aegisub/reporter/reporter-3.0
aegisub/src/aegisub
aegisub/src/aegisub-3.0
aegisub/src/libresrc/bitmap.cpp
aegisub/src/libresrc/bitmap.h
aegisub/src/libresrc/default_config.cpp
aegisub/src/libresrc/default_config.h
aegisub/src/libresrc/default_config_platform.json
aegisub/tools/common-respack
aegisub/tools/osx-bundle.sed
autom4te.cache
config.log
config.status
config_windows.h
configure
svn-revision.h
svn_revision
svnmove.txt
git_version.h
automation/vapoursynth/__pycache__
packages/desktop/aegisub.desktop
packages/desktop/aegisub.desktop.template
src/libresrc/bitmap.cpp
src/libresrc/bitmap.h
src/libresrc/default_config.cpp
src/libresrc/default_config.h
src/libresrc/default_config_platform.json
tests/*.json
tests/run
tools/osx-bundle-restart-helper
tools/repack-thes-dict
tools/repack-thes-dict.dSYM
# Platform-specific
.DS_Store
# Meson
build*/
subprojects/avisynth
subprojects/bestsource/
subprojects/boost*/
subprojects/cairo*
subprojects/dav1d
subprojects/ffmpeg
subprojects/ffms2
subprojects/fontconfig*
subprojects/freetype2
subprojects/fribidi
subprojects/glib*
subprojects/googletest-*
subprojects/harfbuzz
subprojects/icu
subprojects/libass
subprojects/libffi*
subprojects/libpng-*
subprojects/luajit
subprojects/nasm-*
subprojects/packagecache
subprojects/proxy-libintl*
subprojects/wxWidgets
subprojects/zlib-*
subprojects/dirent-*
subprojects/hunspell-*
subprojects/uchardet-*
subprojects/vapoursynth
subprojects/xxhash

View File

@ -1,4 +1,4 @@
Copyright (c) 2004-2010, Aegisub Project
Copyright (c) 2004-2012, Aegisub Project
All rights reserved.
Redistribution and use in source and binary forms, with or without
@ -26,16 +26,13 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
--- END AEGISUB LICENSE --
Any file that does not have a license in the header is covered by the above
license with exception to any directories that contain a license file, or are
Any file that does not have a license in the header is covered by the above
license with exception to any directories that contain a license file, or are
covered by another license in the file itself.
The following directories and file are covered by their respective licenses as
The following directories and file are covered by their respective licenses as
follows:
src/boost/
- Boost Software License Version 1.0 see src/boost/LICENSE_1_0.txt.
src/gl/
- MIT license. See src/gl/glext.h

186
README.md Normal file
View File

@ -0,0 +1,186 @@
## arch1t3cht's Aegisub "fork"
Download release builds [here](https://github.com/arch1t3cht/Aegisub/releases), or the latest CI builds [here](https://github.com/arch1t3cht/Aegisub/actions?query=branch%3Afeature+event%3Apush).
The release page also has detailed list of all changes and new features. If you're interested in the technical details or want to compile yourself, read on.
### Don't we have enough Aegisub forks already??
We absolutely do, and I'm aware that adding another one [doesn't sound like](https://xkcd.com/927/) a [good idea on paper](https://cdn.discordapp.com/attachments/425357202963038208/1007103606421459004/unknown.png). However,
- None of the existing forks are completely satisfying at the moment:
- [wangqr's fork](https://github.com/wangqr/Aegisub) is actively maintained, but focussing more on stability. It's missing most of the modern features.
- [AegisubDC](https://github.com/Ristellise/AegisubDC) has the most modern features (in particular video-panning), but is Windows-only and not actively maintained anymore.
- [The TypesettingTools fork](https://github.com/TypesettingTools/Aegisub) is the one that will one day become the upstream version and builds relatively effortlessly on all operating systems, but at the moment it's not moving much. It's the base for this fork, and I hope to one day merge most of these additions into it.
- Only PR'ing the changes in here to various forks would cause even more chaos
- ~~I try to convince myself that this isn't really a "fork" in the traditional sense - one which aims to provide extended support and stability fixes. It's a collection of new feature additions which I built myself, together with some of the most important new features floating around other forks.~~ At this point it's probably too late to still be saying this. Still, the general mission hasn't changed. This fork collects new features and critical bugfixes, but won't be putting extra time into maintenance aspects like cleanup and refactors. Partly, this is also because any big refactors would make it harder to pull these changes into upstream repositories or future forks.
While this is usually also the version of Aegisub I'm currently using, I make no promises on stability. **Don't** use this version if you're just looking for any version of Aegisub - this is mostly intended for typesetting and other advanced usage.
### Organization
Being a collection of different feature additions, this repository consists of a set of branches for different features, so that they can easily be merged into other repositories. The [`feature`](https://github.com/arch1t3cht/Aegisub/tree/feature) branch merges together all the features I deem as currently usable. Due to the structure of the repository, I will be force-pushing to this branch and some of the individual branches very frequently, so they're not ideal for basing further branches on.
The `cibuilds` branch makes some CI builds of snapshots of `feature` at relevant points in time.
### Branch/Feature list
This list is for navigating the repository. Go to the [release page](https://github.com/arch1t3cht/Aegisub/releases) for a more structured changelog.
- [`folding`](https://github.com/arch1t3cht/Aegisub/tree/folding): Add the ability to visually group and collapse lines in the subtitle grid
- [`lua_api`](https://github.com/arch1t3cht/Aegisub/tree/lua_api): Add new functions to the Lua automation API, like controlling the selection or cursor in the text edit box
- [`vector_clip_actions`](https://github.com/arch1t3cht/Aegisub/tree/vector_clip_actions): Make the different modes of the vector clip tool (lines, bezier curves, adding points, etc) bindable to hotkeys
- [`color_picker_fix2`](https://github.com/arch1t3cht/Aegisub/tree/color_picker_fix2): Add an option (under "Interface") to restrict the color picker to the window, which fixes the color picker on Linux in a lot of cases.
- [`avisynth`](https://github.com/arch1t3cht/Aegisub/tree/avisynth): Reenable Avisynth support on Windows and enable Avisynth on Linux
- [`bestsource`](https://github.com/arch1t3cht/Aegisub/tree/bestsource): Add BestSource audio and video source. This source is slower than others by multiple orders of magnitude, but in exchange it can guarantee exact seeking.
- [`vapoursynth`](https://github.com/arch1t3cht/Aegisub/tree/vapoursynth): Add Vapoursynth audio and video source
- [`bugfixes`](https://github.com/arch1t3cht/Aegisub/tree/bugfixes): Various fixes necessary for compilation. Most branches are based on this.
- [`workarounds`](https://github.com/arch1t3cht/Aegisub/tree/workarounds): Same as `bugfixes`, but these are hacky fixes that probably shouldn't be pulled without more work.
- [`fixes`](https://github.com/arch1t3cht/Aegisub/tree/fixes): Miscellaneous bugfixes
- [`misc`](https://github.com/arch1t3cht/Aegisub/tree/misc): Other miscellaneous additions
- [`wangqr_gui`](https://github.com/arch1t3cht/Aegisub/tree/wangqr_gui): Merge wangqr's changes regarding the GUI. In particular, add high-DPI compatibility.
- [`misc_dc`](https://github.com/arch1t3cht/Aegisub/tree/misc_dc): Miscellaneous changes taken from AegisubDC
- [`xa2-ds`](https://github.com/arch1t3cht/Aegisub/tree/xa2-ds): Add XAudio2 backend and allow stereo playback for some other backends, by wangqr and Shinon.
- [`stereo`](https://github.com/arch1t3cht/Aegisub/tree/stereo): Add multi-channel support for the other audio backends where possible.
- [`video_panning_option`](https://github.com/arch1t3cht/Aegisub/tree/video_panning_option): Merge [moex3's video zoom and panning](https://github.com/TypesettingTools/Aegisub/pull/150), with several bugfixes and more options to control zoom behavior
- [`spectrum-frequency-mapping`](https://github.com/arch1t3cht/Aegisub/tree/spectrum-frequency-mapping): Merge EleonoreMizo's [spectrum display improvements](https://github.com/TypesettingTools/Aegisub/pull/94), and also make Shift+Scroll vertically zoom the audio display
- [`wangqr_time_video`](https://github.com/arch1t3cht/Aegisub/tree/wangqr_time_video): Merge wangqr's feature adding a tool for timing subtitles to changes in the video
### Troubleshooting
I'll gladly take any bug reports, but if you encounter an issue, please check first if it occurs only on my fork, or also on [earlier TSTools builds](https://github.com/TypesettingTools/Aegisub/actions).
If it wasn't introduced by my fork, I can still take a look, but I can't promise anything.
You can find me for support on various servers, including the cave and the TSTools server linked below.
#### Aegisub on Linux doesn't recognize my GTK theme
This is probably because you're building with wxgtk2. Building with wxgtk3 fixes this, but causes some problems of its own (notably the broken color picker, occasional crashes when opening file dialogs from automation scripts, and general layouting issues).
The exact way of switching depends on your Linux distribution, but essentially you need to ensure that `wx-config` or the next best variant of it points to wxgtk3. If it points to wxgtk2 by default and deinstalling wxgtk2 isn't an option, you can also temporarily move it out of the path or use a `native-file` in your meson project. Then, fully reconfigure meson using `meson configure --clearcache` and `meson setup --reconfigure`.
#### The video is desynced / Frames don't appear at the right time
This is probably due to the ffms2 seeking bug ([#394](https://github.com/FFMS/ffms2/issues/394)). On Windows, this specific regression shouldn't happen anymore. On Linux, you need to install the latest git version of ffms2 - for example the [`ffms2-git`](https://aur.archlinux.org/packages/ffms2-git) AUR package on Arch linux, or just compile it yourself.
If it's not because of this particular bug, you can also try an alternative video source like LSMASHSource via Avisynth or Vapoursynth, or BestSource.
#### On Windows: Aegisub crashes whenever I open a video
If you're compiling yourself, try adding `--force-fallback-for=zlib` to the meson options.
### Compilation
If you're just looking to install Aegisub, you might want to check out the [releases page](https://github.com/arch1t3cht/Aegisub/releases) or the [CI builds](https://github.com/arch1t3cht/Aegisub/actions) first.
For compilation on Windows, see the TSTools documentation below. Also check the [GitHub workflow](https://github.com/arch1t3cht/Aegisub/blob/cibuilds/.github/workflows/ci.yml) for the project arguments.
On Arch Linux, there is an AUR package called [aegisub-arch1t3cht-git](https://aur.archlinux.org/packages/aegisub-arch1t3cht-git). It's not maintained by me but seems to work.
On other Linux distributions or for manual compilation you can use this package or the [TSTools PKGBUILD](https://aur.archlinux.org/packages/aegisub-ttools-meson-git) as a reference, in particular for installing the necessary dependencies if you don't want to compile them yourself.
If all dependencies are installed:
- Install Meson
- Clone the repository
- In the repository, run `meson setup build --buildtype=release` for the default configuration. See below for further options.
- `cd` to the `build` directory and run `ninja`
- You'll get an `aegisub` binary in the `build` folder. To install it to a system-wide location, run `ninja install`. To install to `/usr` instead of `/usr/local`, pass `--prefix=/usr` when configuring or reconfiguring meson.
- When recompiling after pulling new commits, skip the `meson setup` setup and just immediately run `ninja` from the build directory - even when the build configuration changed.
#### Compilation flags
Some features are not enabled by default. To enable them, pass `-D<feature>=enabled` with the `meson setup` command:
- `-Davisynth=enabled`: Avisynth support
- `-Dbestsource=enabled`: BestSource
- `-Dvapoursynth=enabled`: Vapoursynth support
You can also disable options that are active by default in the same way. Check the file `meson_options.txt` for all options.
To change the options of an existing build directory, run `meson setup --reconfigure <new arguments>` from inside the `build` directory.
### Dependencies
Apart from the dependencies for the TSTools version, there are some additional dependencies. These are cloned and compiled from scratch if not found, but you might want to install binaries instead:
- `xxhash`: For BestSource
- `ffmpeg`: Becomes a direct dependency when compiling with BestSource
- `avisynth` (or `avisynthplus`): Optional run-time dependency for the Avisynth audio/video provider
- `vapoursynth`: Optional run-time dependency for the VapourSynth audio/video provider
The following VapourSynth plugins are used by the default scripts set in the default configuration:
- [`lsmas`](https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works): For LWLibavSource
- [`bs`](https://github.com/vapoursynth/bestsource): For BestSource, used for audio
- [`wwxd`](https://github.com/dubhater/vapoursynth-wwxd) and [`scxvid`](https://github.com/dubhater/vapoursynth-scxvid) (depending on settings): For keyframe generation
# Aegisub
For binaries and general information [see the homepage](http://www.aegisub.org).
The bug tracker can be found at https://github.com/Aegisub/Aegisub/issues.
Support is available on [Discord](https://discord.com/invite/AZaVyPr) or [IRC](irc://irc.rizon.net/aegisub).
## Building Aegisub
### Windows
Prerequisites:
1. Visual Studio (Community edition of any recent version is fine)
2. The June 2010 DirectX SDK (the final release before DirectSound was dropped)
3. Python 3
4. Meson
5. CMake
6. Powershell execution policy set to Unrestricted
There are a few optional dependencies that must be installed and on your PATH:
1. msgfmt, to build the translations
2. InnoSetup, to build the regular installer
3. 7zip, to build the regular installer
4. Moonscript, to build the regular installer
All other dependencies are either stored in the repository or are included as submodules.
Building:
1. Clone Aegisub's repository: `git clone https://github.com/arch1t3cht/Aegisub.git`
2. From the Visual Studio "x64 Native Tools Command Prompt", generate the build directory: `meson build -Ddefault_library=static` (if building for release, add `--buildtype=release`)
3. Build with `cd build` and `ninja`
You should now have a binary: `aegisub.exe`.
Installer:
You can generate the installer with `ninja win-installer` after a successful build. This assumes a working internet connection and installation of the optional dependencies.
You can generate the portable zip with `ninja win-portable` after a successful build.
### OS X
A vaguely recent version of Xcode and the corresponding command-line tools are required.
For personal usage, you can use pip and homebrew to install almost all of Aegisub's dependencies:
pip3 install meson
brew install cmake ninja pkg-config libass boost zlib ffms2 fftw hunspell
export LDFLAGS="-L/usr/local/opt/icu4c/lib"
export CPPFLAGS="-I/usr/local/opt/icu4c/include"
export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
Once the dependencies are installed, build Aegisub with `meson build && meson compile -C build`.
#### Build dmg
```bash
meson build_static -Ddefault_library=static -Dbuildtype=debugoptimized -Dbuild_osx_bundle=true -Dlocal_boost=true
meson compile -C build_static
meson test -C build_static --verbose
meson compile osx-bundle -C build_static
meson compile osx-build-dmg -C build_static
```
## Updating Moonscript
From within the Moonscript repository, run `bin/moon bin/splat.moon -l moonscript moonscript/ > bin/moonscript.lua`.
Open the newly created `bin/moonscript.lua`, and within it make the following changes:
1. Prepend the final line of the file, `package.preload["moonscript"]()`, with a `return`, producing `return package.preload["moonscript"]()`.
2. Within the function at `package.preload['moonscript.base']`, remove references to `moon_loader`, `insert_loader`, and `remove_loader`. This means removing their declarations, definitions, and entries in the returned table.
3. Within the function at `package.preload['moonscript']`, remove the line `_with_0.insert_loader()`.
The file is now ready for use, to be placed in `automation/include` within the Aegisub repo.
## License
All files in this repository are licensed under various GPL-compatible BSD-style licenses; see LICENCE and the individual source files for more information.
The official Windows and OS X builds are GPLv2 due to including fftw3.

View File

@ -1,2 +0,0 @@
* To be written.

View File

@ -1,89 +0,0 @@
include Makefile.inc
SUBDIRS += \
universalchardet \
libaegisub \
tools \
src \
automation \
desktop \
po
ifeq (yes, $(ENABLE_REPORTER))
SUBDIRS += reporter
endif
all: ;
ifeq (yes, $(BUILD_DARWIN))
osx-bundle:
$(BIN_SHELL) tools/osx-bundle.sh "$(AEGISUB_COMMAND)" "$(BIN_WX_CONFIG)" DICT_DIR=$(DICT_DIR)
osx-dmg: osx-bundle
$(BIN_SHELL) tools/osx-dmg.sh "$(BUILD_VERSION_STRING)"
osx-tinderbox-bundle:
$(BIN_SHELL) tools/osx-bundle.sh "$(T_BUNDLE)" $(AEGISUB_VERSION_DATA) "$(BIN_WX_CONFIG)" DICT_DIR="$(DICT_DIR)"
osx-tinderbox-dmg:
$(BIN_SHELL) tools/osx-dmg.sh "$(T_DMG)" "$(T_BUNDLE)"
$(BIN_MV) "$(T_DMG).dmg" bundle.dmg
endif
EXTRA_DIST = \
INSTALL \
LICENCE \
README \
acinclude.m4 \
autogen.sh \
configure.in \
acconf.h.in\
configure \
svn_revision \
config.log \
config.sub \
config.guess \
install-sh \
Makefile.inc.in \
Makefile.target
# m4macros/
EXTRA_DIST += \
m4macros/ac_agi.m4 \
m4macros/ac_agi_mdcpucfg.m4 \
m4macros/ac_flag.m4 \
m4macros/agi_find_libheader.m4 \
m4macros/ax_check_gl.m4 \
m4macros/ax_lang_compiler_ms.m4 \
m4macros/ax_pthread.m4 \
m4macros/check_gnu_make.m4
# packages/osx_bundle/
EXTRA_DIST += \
packages/osx_bundle/Contents/Info.plist \
packages/osx_bundle/Contents/Resources/*.icns \
packages/osx_bundle/Contents/Resources/etc/fonts/fonts.conf \
packages/osx_bundle/Contents/Resources/etc/fonts/fonts.dtd \
packages/osx_bundle/Contents/Resources/etc/fonts/conf.d/*.conf
# packages/osx_dmg/
EXTRA_DIST += \
packages/osx_dmg/dmg_background.png \
packages/osx_dmg/dmg_set_style.applescript
DISTCLEANFILES += \
acconf.h \
configure \
acconf.h.in~ \
svn_revision \
Makefile.inc \
config.log \
acconf.h.in \
config.status \
autom4te.cache \
aclocal.m4 \
include Makefile.target

View File

@ -1,147 +0,0 @@
#########################
# AEGISUB FEATURE SUPPORT
#########################
HAVE_ALSA = @with_alsa@
HAVE_AUTO4_LUA = @with_auto4_lua@
HAVE_HUNSPELL = @with_hunspell@
HAVE_OPENAL = @with_openal@
HAVE_OSS = @with_oss@
HAVE_PORTAUDIO = @with_portaudio@
HAVE_FFMS2 = @with_ffms2@
HAVE_LIBPULSE = @with_libpulse@
HAVE_LIBASS = @with_libass@
###################
# PLATFORM SETTINGS
###################
BUILD_BSD = @build_bsd@
BUILD_DARWIN = @build_darwin@
BUILD_DEFAULT = @build_default@
BUILD_LINUX = @build_linux@
#######
# FLAGS
#######
CFLAGS = @CFLAGS@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
CFLAGS_DEP = -MD -MP
LIBS = @LIBS@
LDFLAGS = @LDFLAGS@
INSTALL_FLAGS = -m 664
CCACHE_ENV = CCACHE_SLOPPINESS=time_macros
LIB_SHARED_LINK = -shared -Wl,-soname -Wl,$(LIB_SHARED_FULL)
LIB_SHARED_LINK_OSX = -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -compatibility_version $(LIB_VERSION) -current_version $(LIB_VERSION) -Wl,-single_module -mmacosx-version-min=10.5 -install_name ${CURDIR}/$(LIB_SHARED_FULL)
#########
# STRINGS
#########
AEGISUB_COMMAND = @AEGISUB_COMMAND@
BUILD_DATE = @BUILD_DATE@
PACKAGE_TARNAME = aegisub-@BUILD_GIT_VERSION_STRING@
PACKAGE_DEBUG = @PACKAGE_DEBUG@
BUILD_VERSION_STRING = @BUILD_GIT_VERSION_STRING@
#######
# PATHS
#######
P_PREFIX = @prefix@
prefix = ${P_PREFIX}
P_PREFIX_EXEC = @exec_prefix@
exec_prefix = ${P_PREFIX_EXEC}
P_BINDIR = @bindir@
P_SBINDIR = @sbindir@
P_LIBEXEC = @libexecdir@
P_DATAROOT = @datarootdir@
P_SYSCONF = @sysconfdir@
P_SHAREDSTATE = @sharedstatedir@
P_LOCALSTATE = @localstatedir@
P_INCLUDE = @includedir@
P_LIB = @libdir@
P_LOCALE = $(P_DATAROOT)/locale
P_DESKTOP = @P_DESKTOP@
P_ICON = @P_ICON@
P_DATA = $(P_DATAROOT)/aegisub/
P_DOC = $(P_DATAROOT)/doc/aegisub/
###############
# LIBRARY FLAGS
###############
CFLAGS_WX = @WX_CFLAGS@
CXXFLAGS_WX = @WX_CXXFLAGS@
CPPFLAGS_WX = @WX_CPPFLAGS@
LIBS_WX = @WX_LIBS@ -lz
CFLAGS_FFMS2 = @FFMS2_CFLAGS@
CFLAGS_FFTW3 = @FFTW3_CFLAGS@
CFLAGS_FONTCONFIG = @FONTCONFIG_CFLAGS@
CFLAGS_FREETYPE = @FREETYPE_CFLAGS@
CFLAGS_GL = @GL_CFLAGS@
CFLAGS_HUNSPELL = @HUNSPELL_CFLAGS@
CFLAGS_ICONV = @ICONV_CFLAGS@
CFLAGS_LIBASS = @LIBASS_CFLAGS@
CFLAGS_LIBCURL = @LIBCURL_CFLAGS@
CFLAGS_LUA = @LUA_CFLAGS@
CFLAGS_OPENAL = @OPENAL_CFLAGS@
CFLAGS_OSS = @OSS_CFLAGS@
CFLAGS_PORTAUDIO = @PORTAUDIO_CFLAGS@
CFLAGS_PTHREAD = @PTHREAD_CFLAGS@
CFLAGS_LIBPULSE = @LIBPULSE_CFLAGS@
CFLAGS_UCHARDET = -I../universalchardet
LIBS_ALSA = @ALSA_LIBS@
LIBS_FFMS2 = @FFMS2_LIBS@
LIBS_FFTW3 = @FFTW3_LIBS@
LIBS_FONTCONFIG = @FONTCONFIG_LIBS@
LIBS_FREETYPE = @FREETYPE_LIBS@
LIBS_GL = @GL_LIBS@
LIBS_HUNSPELL = @HUNSPELL_LIBS@
LIBS_ICONV = @ICONV_LIBS@
LIBS_LIBASS = @LIBASS_LIBS@
LIBS_LIBCURL = @LIBCURL_LIBS@
LIBS_LIBPULSE = @LIBPULSE_LIBS@
LIBS_LUA = @LUA_LIBS@
LIBS_OPENAL = @OPENAL_LIBS@
LIBS_PORTAUDIO = @PORTAUDIO_LIBS@
LIBS_PTHREAD = @PTHREAD_LIBS@
LIBS_UCHARDET ?= ../universalchardet/libuniversalchardet.a
#####################
# DEBUG / DEVELOPMENT
#####################
PRECOMPILED_HEADER = @enable_gcc_prec@
CCACHE_ENABLE = @enable_ccache@
LDFLAGS_CCMALLOC = @CCMALLOC_LDFLAGS@
LIBS_EFENCE = @EFENCE_LIBS@
LIBS_GCOV = @GCOV_LIBS@
CFLAGS_EFENCE = @EFENCE_CFLAGS@
CFLAGS_GCOV = @GCOV_CFLAGS@
ENABLE_REPORTER = @ENABLE_REPORTER@
##########
# BINARIES
##########
BIN_AR = ar
BIN_RANLIB = ranlib
BIN_LN = ln
BIN_RM = rm
BIN_SHELL = @SHELL@
BIN_MV = mv
BIN_SED = sed
BIN_INSTALL = @INSTALL@
BIN_MSGMERGE = @MSGMERGE@
BIN_XGETTEXT = @XGETTEXT@
BIN_MSGFMT = @MSGFMT@
BIN_CC = @CC@
BIN_CXX = @CXX@
BIN_CP = cp
BIN_MKDIR = mkdir
BIN_MKDIR_P = mkdir -p
BIN_ECHO = echo
BIN_TOUCH = touch
BIN_TAR = tar
BIN_GZIP = gzip
BIN_WX_CONFIG = @WX_CONFIG_PATH@

View File

@ -1,191 +0,0 @@
# *** THERE ARE NO USER-EDITABLE ITEMS HERE. ***
#
# TODO:
# * Allow variables to be overridden on the CL.
.PHONY: all install clean subdirs $(SUBDIRS)
all: subdirs $(LIB) $(LIB_SHARED) $(PROGRAM)
.DEFAULT_GOAL := all
OBJ = $(addsuffix .o, $(basename $(SRC)))
DEP = $(addsuffix .d, $(basename $(SRC)))
###################
# PLATFORM SPECIFIC
###################
ifeq (yes, $(BUILD_DARWIN))
LIB_SHARED_LINK = $(LIB_SHARED_LINK_OSX)
endif
###########
# LIBRARIES
###########
$(LIB) : $(OBJ)
$(BIN_AR) cru $@ $(OBJ)
$(BIN_RANLIB) $@
ifdef LIB_SHARED
LIB_SHARED_FULL = $(LIB_SHARED).$(LIB_VERSION)
$(LIB_SHARED) : $(OBJ)
$(BIN_CXX) $(LIB_SHARED_LINK) $(LDFLAGS) $(OBJ) $(LIBS) -o $(LIB_SHARED_FULL)
$(BIN_LN) -sf $(LIB_SHARED_FULL) $(LIB_SHARED)
CLEANFILES+= $(LIB_SHARED_FULL)
endif
##########
# PROGRAMS
##########
$(PROGRAM): $(OBJ)
$(BIN_CXX) -o $@ $(LDFLAGS) $(OBJ) $(LIBS)
##########
# CLEANING
##########
clean: $(SUBDIRS)
$(BIN_RM) -f $(OBJ) $(CLEANFILES) $(LIB) $(LIB_SHARED) $(PROGRAM)
ifdef PRECOMPILED_HEADER_NAME
$(BIN_RM) -f $(PRECOMPILED_HEADER_NAME).gch
endif
mostlyclean: $(SUBDIRS)
$(BIN_RM) -f $(OBJ) $(CLEANFILES) $(LIB) $(LIB_SHARED) $(PROGRAM)
distclean: clean
$(BIN_RM) -rf $(DISTCLEANFILES) $(DEP)
ifdef PRECOMPILED_HEADER_NAME
$(BIN_RM) -f $(PRECOMPILED_HEADER_NAME).gch
endif
#########
# INSTALL
#########
ifeq (install, $(MAKECMDGOALS))
INSTALL_LIB=$(addprefix $(P_LIB)/, $(LIB_SHARED) $(LIB_SHARED_FULL))
endif
BIN_SINSTALL=$(BIN_INSTALL)
install: $(SUBDIRS) install-share install-program install-lib
install-strip:
$(MAKE) BIN_SINSTALL='$(BIN_INSTALL) -s' install
install-program:
ifdef PROGRAM_INSTALL
@$(BIN_MKDIR) -p $(DESTDIR)$(P_BINDIR)
@$(BIN_SINSTALL) $(PROGRAM) $(DESTDIR)$(P_BINDIR)/$(PROGRAM)
endif
install-lib:
ifdef LIB_SHARED_INSTALL
$(BIN_MKDIR) -p $(DESTDIR)$(P_LIB)
$(BIN_SINSTALL) $(LIB_SHARED_FULL) $(DESTDIR)$(P_LIB)/$(LIB_SHARED_FULL)
$(BIN_LN) -sf $(LIB_SHARED_FULL) $(DESTDIR)$(P_LIB)/$(LIB_SHARED)
endif
install-share:
ifdef DATA_SHARE
@$(BIN_MKDIR) -p $(addprefix $(DESTDIR)$(P_DATA)/, $(dir $(DATA_SHARE)))
@for i in $(DATA_SHARE); do \
$(BIN_ECHO) "$(BIN_INSTALL) $$i $(DESTDIR)$(P_DATA)/$$i"; \
$(BIN_INSTALL) $$i $(DESTDIR)$(P_DATA)/$$i; \
done
endif
ifdef DATA_SHARE_DOC
@$(BIN_MKDIR) -p $(addprefix $(DESTDIR)$(P_DOC)/, $(dir $(DATA_SHARE_DOC)))
@for i in $(DATA_SHARE_DOC); do \
$(BIN_ECHO) "$(BIN_INSTALL) $$i $(DESTDIR)$(P_DOC)/$$i"; \
$(BIN_INSTALL) $$i $(DESTDIR)$(P_DOC)/$$i; \
done
endif
##############
# DISTRIBUTION
##############
dist: distdir
@$(BIN_TAR) chf - --posix "$(PACKAGE_TARNAME)" | $(BIN_GZIP) -c > "$(PACKAGE_TARNAME).tar.gz"
@rm -rf $(PACKAGE_TARNAME)
distdir:
@if ! test -f packages/distfile/distfile.sh; then \
echo "Please run this from the parent directory."; \
exit 1; \
fi
@${SHELL} packages/distfile/distfile.sh $(MAKE) $(PACKAGE_TARNAME)
distfiles: $(SUBDIRS)
@for i in $(SRC) $(HEADER) $(PO) $(EXTRA_DIST); do \
echo $(CURDIR)/$$i; \
done
########################
# SUBDIRECTORY TRAVERSAL
########################
subdirs: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@ $(MAKECMDGOALS)
# Set relations to ensure dependencies are built before their targets during parallel builds.
src: universalchardet tools libaegisub
tests: libaegisub
reporter: src
$(OBJ): $(GLOBAL_DEPS)
OBJCXXFLAGS := $(CXXFLAGS)
####################
# PRECOMPILED HEADER
####################
ifeq (yes, $(PRECOMPILED_HEADER))
ifdef PRECOMPILED_HEADER_NAME
CXXFLAGS += -include $(PRECOMPILED_HEADER_NAME) $(PCHFLAGS)
# This hack is required until we can use the 'private' keyword (gmake 3.82) to avoid all the
# per-object CXXFLAGS being triggered by the ($OBJ) line.
CXXFLAGS_GNU_MAKE_SUCKS := $(CXXFLAGS)
$(OBJ): | $(PRECOMPILED_HEADER_NAME).gch
$(PRECOMPILED_HEADER_NAME).gch: CXXFLAGS = $(CXXFLAGS_GNU_MAKE_SUCKS)
endif
endif
########
# CCACHE
########
ifeq (yes, $(CCACHE_ENABLE))
CXX_ENV = $(CCACHE_ENV)
BIN_CC := ccache $(BIN_CC)
BIN_CXX := ccache $(BIN_CXX)
endif
##################
# TRANSFORM RULES
##################
.SUFFIXES:
.SUFFIXES: .o .c .cpp .cxx .mm
%.o: %.c
$(CXX_ENV) $(BIN_CC) $(CFLAGS_DEP) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
%.o: %.cpp
$(CXX_ENV) $(BIN_CXX) $(CFLAGS_DEP) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
%.o: %.cxx
$(CXX_ENV) $(BIN_CXX) $(CFLAGS_DEP) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
%.o: %.mm
$(CXX_ENV) $(BIN_CXX) $(CFLAGS_DEP) $(CPPFLAGS) $(OBJCXXFLAGS) -c -o $@ $<
$(PRECOMPILED_HEADER_NAME).gch: $(PRECOMPILED_HEADER_NAME)
$(CXX_ENV) $(BIN_CXX) $(CPPFLAGS) $(CXXFLAGS) -x c++-header $<
-include ($DEP)
.SUFFIXES:

View File

@ -1 +0,0 @@
* To be written.

View File

@ -1,9 +0,0 @@
m4_include([m4macros/ac_agi.m4])
m4_include([m4macros/agi_find_libheader.m4])
m4_include([m4macros/ac_agi_mdcpucfg.m4])
m4_include([m4macros/ac_flag.m4])
m4_include([m4macros/ax_pthread.m4])
m4_include([m4macros/ax_check_gl.m4])
m4_include([m4macros/ax_lang_compiler_ms.m4])
m4_include([m4macros/check_gnu_make.m4])
m4_include([m4macros/wxwin.m4])

View File

@ -1,205 +0,0 @@
#!/bin/sh
# This script does all the magic calls to automake/autoconf and friends
# that are needed to configure a Subversion checkout. As described in
# the file HACKING you need a couple of extra tools to run this script
# successfully.
#
# If you are compiling from a released tarball you don't need these
# tools and you shouldn't use this script. Just call ./configure
# directly.
ACLOCAL=${ACLOCAL-aclocal-1.10}
AUTOHEADER=${AUTOHEADER-autoheader}
AUTOMAKE=${AUTOMAKE-automake-1.10}
AUTOCONF=${AUTOCONF-autoconf}
GLIB_REQUIRED_VERSION=2.10.0
AUTOCONF_REQUIRED_VERSION=2.54
AUTOMAKE_REQUIRED_VERSION=1.10
REQUIRED_M4="fontutil.m4 gettext.m4 pkg.m4"
PROJECT="aegisub"
srcdir=`pwd`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
test -d src || {
echo
echo "You must run this script in the top-level $PROJECT directory."
echo
exit 1
}
# The internal echo for /bin/sh on darwin doesn't support -n
# therefore we have to use /bin/echo.
if test `uname -s` = "Darwin"; then
ECHO_N="/bin/echo -n";
else
ECHO_N="echo -n";
fi
check_version ()
{
VERSION_A=$1
VERSION_B=$2
save_ifs="$IFS"
IFS=.
set dummy $VERSION_A 0 0 0
MAJOR_A=$2
MINOR_A=$3
MICRO_A=$4
set dummy $VERSION_B 0 0 0
MAJOR_B=$2
MINOR_B=$3
MICRO_B=$4
IFS="$save_ifs"
if expr "$MAJOR_A" = "$MAJOR_B" > /dev/null; then
if expr "$MINOR_A" \> "$MINOR_B" > /dev/null; then
echo "yes (version $VERSION_A)"
elif expr "$MINOR_A" = "$MINOR_B" > /dev/null; then
if expr "$MICRO_A" \>= "$MICRO_B" > /dev/null; then
echo "yes (version $VERSION_A)"
else
echo "Too old (version $VERSION_A)"
DIE=1
fi
else
echo "Too old (version $VERSION_A)"
DIE=1
fi
elif expr "$MAJOR_A" \> "$MAJOR_B" > /dev/null; then
echo "Major version might be too new ($VERSION_A)"
else
echo "Too old (version $VERSION_A)"
DIE=1
fi
}
DIE=0
$ECHO_N "checking for autoconf >= $AUTOCONF_REQUIRED_VERSION ... "
if ($AUTOCONF --version) < /dev/null > /dev/null 2>&1; then
VER=`$AUTOCONF --version | head -n 1 \
| grep -iw autoconf | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
check_version $VER $AUTOCONF_REQUIRED_VERSION
else
echo
echo " You must have autoconf installed to compile $PROJECT."
echo " Download the appropriate package for your distribution,"
echo " or get the source tarball at ftp://ftp.gnu.org/pub/gnu/autoconf/"
echo
DIE=1;
fi
# 1.11 comes after 1.10 beacuse 1.11 isn't fully supported.
$ECHO_N "checking for automake >= $AUTOMAKE_REQUIRED_VERSION ... "
if ($AUTOMAKE --version) < /dev/null > /dev/null 2>&1; then
AUTOMAKE=$AUTOMAKE
ACLOCAL=$ACLOCAL
elif (automake-1.10 --version) < /dev/null > /dev/null 2>&1; then
AUTOMAKE=automake-1.10
ACLOCAL=aclocal-1.10
elif (automake-1.12 --version) < /dev/null > /dev/null 2>&1; then
AUTOMAKE=automake-1.12
ACLOCAL=aclocal-1.12
elif (automake-1.11 --version) < /dev/null > /dev/null 2>&1; then
AUTOMAKE=automake-1.11
ACLOCAL=aclocal-1.11
elif (automake-1.9 --version) < /dev/null > /dev/null 2>&1; then
AUTOMAKE=automake-1.9
ACLOCAL=aclocal-1.9
else
echo
echo " You must have automake $AUTOMAKE_REQUIRED_VERSION or newer installed to compile $PROJECT."
echo " Download the appropriate package for your distribution,"
echo " or get the source tarball at ftp://ftp.gnu.org/pub/gnu/automake/"
echo
DIE=1
fi
if test x$AUTOMAKE != x; then
VER=`$AUTOMAKE --version \
| grep automake | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
check_version $VER $AUTOMAKE_REQUIRED_VERSION
fi
if ! test "$1" = "--skip-configure"; then
echo
echo "I am going to run ./configure with the following arguments:"
echo
echo " $AUTOGEN_CONFIGURE_ARGS $@"
echo
if test -z "$*"; then
echo "If you wish to pass additional arguments, please specify them "
echo "on the $0 command line or set the AUTOGEN_CONFIGURE_ARGS "
echo "environment variable."
echo
fi
fi
echo "--- Checking for required M4 files ---"
if test -z "$ACLOCAL_FLAGS"; then
acdir=`$ACLOCAL --print-ac-dir`
for file in $REQUIRED_M4; do
if [ ! -f "$acdir/$file" ]; then
echo
echo "WARNING: aclocal's directory is $acdir, but..."
echo " no file $acdir/$file"
echo " You may see fatal macro warnings below."
echo " If these files are installed in /some/dir, set the "
echo " ACLOCAL_FLAGS environment variable to \"-I /some/dir\""
echo " or install $acdir/$file."
echo
fi
done
fi
rm -rf autom4te.cache
echo "--- $ACLOCAL ---"
$ACLOCAL $ACLOCAL_FLAGS
RC=$?
if test $RC -ne 0; then
echo "$ACLOCAL gave errors. Please fix the error conditions and try again."
exit $RC
fi
echo "--- $AUTOHEADER ---"
$AUTOHEADER || exit $?
echo "--- $AUTOCONF ---"
$AUTOCONF || exit $?
cd $ORIGDIR
if ! test "$1" = "--skip-configure"; then
echo "--- $srcdir/configure ---"
echo "Running '$srcdir/configure $AUTOGEN_CONFIGURE_ARGS "$@"'"
echo
$srcdir/configure $AUTOGEN_CONFIGURE_ARGS "$@"
RC=$?
if test $RC -ne 0; then
echo
echo "Configure failed or did not finish!"
exit $RC
fi
echo "Now type 'make' to compile $PROJECT."
fi

View File

@ -1,55 +0,0 @@
include ../Makefile.inc
# share/
DATA_AUTOMATION += \
autoload/clean-info.lua \
autoload/cleantags-autoload.lua \
autoload/kara-templater.lua \
autoload/karaoke-auto-leadin.lua \
autoload/macro-1-edgeblur.lua \
autoload/macro-2-mkfullwitdh.lua \
autoload/select-overlaps.lua \
autoload/strip-tags.lua \
include/cleantags.lua \
include/clipboard.lua \
include/karaskel-auto4.lua \
include/karaskel.lua \
include/re.lua \
include/unicode.lua \
include/utils-auto4.lua \
include/utils.lua
# share/doc
DATA_GENERAL_DOC = \
demos/raytracer-test1.ass \
v4-docs/basic-function-interface.txt \
v4-docs/configuration-dialogs.txt \
v4-docs/file-streams.txt \
v4-docs/misc.txt \
v4-docs/overview.txt \
v4-docs/progress-reporting.txt \
v4-docs/subtitle-data.txt \
v4-docs/template-scripting-ideas.ass
DATA_AUTOMATION_DOC += \
demos/future-windy-blur.lua \
demos/raytracer.lua
all: ;
install: install-share
@$(BIN_MKDIR) -p $(addprefix $(DESTDIR)$(P_DATA)/automation/, $(dir $(DATA_AUTOMATION)))
@for i in $(DATA_AUTOMATION); do \
$(BIN_ECHO) "$(BIN_INSTALL) $$i $(DESTDIR)$(P_DATA)/automation/$$i"; \
$(BIN_INSTALL) $$i $(DESTDIR)$(P_DATA)/automation/$$i; \
done
DATA_SHARE_DOC = $(DATA_GENERAL_DOC) $(DATA_AUTOMATION_DOC)
EXTRA_DIST = \
$(DATA_AUTOMATION) \
$(DATA_GENERAL_DOC) \
$(DATA_AUTOMATION_DOC)
include ../Makefile.target

View File

@ -1,54 +0,0 @@
-- Copyright (c) 2012, Thomas Goyne <plorkyeran@aegisub.org>
--
-- Permission to use, copy, modify, and distribute this software for any
-- purpose with or without fee is hereby granted, provided that the above
-- copyright notice and this permission notice appear in all copies.
--
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- $Id$
local tr = aegisub.gettext
script_name = tr"Clean Script Info"
script_description = tr"Removes all but the absolutely required fields from the Script Info section. You might want to run this on files that you plan to distribute in original form."
script_author = "Thomas Goyne"
script_version = "1"
function clean_script_info(subs)
local keep_keys = {
["collisions"] = true,
["playresx"] = true,
["playresy"] = true,
["scaledborderandshadow"] = true,
["scripttype"] = true,
["video colorspace"] = true,
["ycbcr matrix"] = true,
["wrapstyle"] = true
}
local deleted = 0
for i = 1, #subs do
local idx = i - deleted
if subs[idx].class == "info" and not keep_keys[subs[idx].key:lower()] then
subs.delete(idx)
deleted = deleted + 1
end
end
end
function clean_script_info_macro(subs)
clean_script_info(subs)
aegisub.set_undo_point(script_name)
end
aegisub.register_macro(script_name, script_description, clean_script_info_macro)
aegisub.register_filter(script_name, script_description, 0, clean_script_info)

View File

@ -1,48 +0,0 @@
-- Copyright (c) 2010, Thomas Goyne <plorkyeran@aegisub.org>
--
-- Permission to use, copy, modify, and distribute this software for any
-- purpose with or without fee is hereby granted, provided that the above
-- copyright notice and this permission notice appear in all copies.
--
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- $Id$
local tr = aegisub.gettext
script_name = tr"Select overlaps"
script_description = tr"Select lines which begin while another non-comment line is active"
script_author = "Thomas Goyne"
script_version = "1"
function select_overlaps(subs)
-- filter subtitles lines to just dialogue lines and sort them by time
local dialogue = {}
for i = 1,#subs do
local line = subs[i]
if line.class == "dialogue" then
line.i = i - 1
table.insert(dialogue, line)
end
end
table.sort(dialogue, function(a,b) return a.start_time < b.start_time end)
local end_time = 0
local overlaps = {}
for i,line in ipairs(dialogue) do
if line.start_time >= end_time then
end_time = line.end_time
else
table.insert(overlaps, line.i)
end
end
return overlaps
end
aegisub.register_macro(script_name, script_description, select_overlaps)

View File

@ -1,18 +0,0 @@
-- Copyright (c) 2012, Thomas Goyne <plorkyeran@aegisub.org>
--
-- Permission to use, copy, modify, and distribute this software for any
-- purpose with or without fee is hereby granted, provided that the above
-- copyright notice and this permission notice appear in all copies.
--
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- $Id$
_G.clipboard = aegisub.__init_clipboard()
return _G.clipboard

View File

@ -1,303 +0,0 @@
-- Copyright (c) 2012, Thomas Goyne <plorkyeran@aegisub.org>
--
-- Permission to use, copy, modify, and distribute this software for any
-- purpose with or without fee is hereby granted, provided that the above
-- copyright notice and this permission notice appear in all copies.
--
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- $Id$
-- Get the wxRegex binding
local regex = aegisub.__init_regex()
-- Compiled regular expression type protoype
local re_proto = {}
local re_proto_mt = { __index = re_proto }
-- Convert an iterator to an array
local function to_table(...)
local arr = {}
local i = 1
for v in ... do
arr[i] = v
i = i + 1
end
return arr
end
-- Return the first n elements from ...
local function select_first(n, a, ...)
if n == 0 then return end
return a, select_first(n - 1, ...)
end
-- Extract the flags from ..., bitwise OR them together, and move them to the
-- front of ...
local function unpack_args(...)
local n = select('#', ...)
local userdata_start = nil
for i = 1, n do
local v = select(i, ...)
if type(v) == "userdata" then
userdata_start = i
break
end
end
if not userdata_start then
return 0, ...
end
flags = regex.process_flags(select(userdata_start, ...))
if type(flags) == "string" then
error(flags, 3)
end
return flags, select_first(userdata_start - 1, ...)
end
-- Verify that a valid value was passed for self
local function check_self(self)
if getmetatable(self) ~= re_proto_mt then
error("re method called with invalid self. You probably used . when : is needed.", 3)
end
end
-- Typecheck a variable and throw an error if it fails
local function check_arg(arg, expected_type, argn, func_name, level)
if type(arg) ~= expected_type then
error(
string.format("Argument %d to %s should be a '%s', is '%s' (%s)",
argn, func_name, expected_type, type(arg), tostring(arg)),
level + 1)
end
end
function re_proto.gsplit(self, str, skip_empty, max_split)
check_self(self)
check_arg(str, "string", 2, "gsplit", self._level)
if not max_split or max_split <= 0 then max_split = str:len() end
local function do_split()
if not str or str:len() == 0 then
return nil
end
if max_split == 0 or not regex.matches(self._regex, str) then
local ret = str
str = nil
return ret
end
local first, last = regex.get_match(self._regex, str, 0)
local ret = str:sub(1, first - 1)
str = str:sub(last + 1)
if skip_empty and ret:len() == 0 then
return do_split()
else
max_split = max_split - 1
return ret
end
end
return do_split
end
function re_proto.split(self, str, skip_empty, max_split)
check_self(self)
check_arg(str, "string", 2, "split", self._level)
return to_table(self:gsplit(str, skip_empty, max_split))
end
function re_proto.gfind(self, str)
check_self(self)
check_arg(str, "string", 2, "gfind", self._level)
local offset = 0
return function()
local has_matches = regex.matches(self._regex, str)
if not has_matches then return end
local first, last = regex.get_match(self._regex, str, 0)
local ret = str:sub(first, last)
str = str:sub(last + 1)
last = last + offset
offset = offset + first
return ret, offset, last
end
end
function re_proto.find(self, str)
check_self(self)
check_arg(str, "string", 2, "find", self._level)
local i = 1
local ret = {}
for s, f, l in self:gfind(str) do
ret[i] = {
str = s,
first = f,
last = l
}
i = i + 1
end
return ret
end
-- Replace a match with the value returned from func when passed the match
local function replace_match(match, func, str, last, acc)
if last < match.last then
acc[#acc + 1] = str:sub(last, match.first - 1)
end
local ret = func(match.str, match.first, match.last)
if type(ret) == "string" then
acc[#acc + 1] = ret
else
-- If it didn't return a string just leave the old value
acc[#acc + 1] = match.str
end
return match.last + 1
end
-- Replace all matches from a single iteration of the regexp
local function do_single_replace_fun(re, func, str, acc)
local matches = re:match(str)
-- No more matches so just return what we have so far
if not matches then
return str
end
-- One match means no capturing groups, so pass the entire thing to
-- the replace function
if #matches == 1 then
local rest = replace_match(matches[1], func, str, 1, acc)
return str:sub(rest), true
end
-- Multiple matches means there were capture groups, so skip the first one
-- and pass the rest to the replace function
local last = 1
for i = 2, #matches do
last = replace_match(matches[i], func, str, last, acc)
end
return str:sub(last), true
end
local function do_replace_fun(re, func, str, max)
local acc = {}
local i
for i = 1, max do
str, continue = do_single_replace_fun(re, func, str, acc)
if not continue then max = i end
end
return table.concat(acc, "") .. str, max
end
function re_proto.sub(self, str, repl, count)
check_self(self)
check_arg(str, "string", 2, "sub", self._level)
if count ~= nil then
check_arg(count, "number", 4, "sub", self._level)
end
if not count or count == 0 then count = str:len() end
if type(repl) == "function" then
return do_replace_fun(self, repl, str, count)
elseif type(repl) == "string" then
return regex.replace(self._regex, repl, str, count)
else
error(
string.format("Argument 2 to sub should be a string or function, is '%s' (%s)",
type(repl), tostring(repl)),
self._level)
end
end
function re_proto.gmatch(self, str)
check_self(self)
check_arg(str, "string", 2, "gmatch", self._level)
local match_count = regex.match_count(self._regex, str)
local i = 0
return function()
if i == match_count then return end
i = i + 1
local first, last = regex.get_match(self._regex, str, i - 1)
return {
str = str:sub(first, last),
first = first,
last = last
}
end
end
function re_proto.match(self, str)
check_self(self)
check_arg(str, "string", 2, "match", self._level)
local ret = to_table(self:gmatch(str))
-- Return nil rather than a empty table so that if re.match(...) works
if next(ret) == nil then return end
return ret
end
-- Create a wxRegExp object from a pattern, flags, and error depth
local function real_compile(pattern, level, flags, stored_level)
local regex = regex.compile(pattern, flags)
if not regex then
error("Bad syntax in regular expression", level + 1)
end
return setmetatable({
_regex = regex,
_level = stored_level or level + 1
},
re_proto_mt)
end
-- Compile a pattern then invoke a method on it
local function invoke(str, pattern, fn, flags, ...)
local comp = real_compile(pattern, 3, flags)
return comp[fn](comp, str, ...)
end
-- Generate a static version of a method with arg type checking
local function gen_wrapper(impl_name)
return function(str, pattern, ...)
check_arg(str, "string", 1, impl_name, 2)
check_arg(pattern, "string", 2, impl_name, 2)
return invoke(str, pattern, impl_name, unpack_args(...))
end
end
-- And now at last the actual public API
local re = regex.init_flags(re)
function re.compile(pattern, ...)
check_arg(pattern, "string", 1, "compile", 2)
return real_compile(pattern, 2, regex.process_flags(...), 2)
end
re.split = gen_wrapper("split")
re.gsplit = gen_wrapper("gsplit")
re.find = gen_wrapper("find")
re.gfind = gen_wrapper("gfind")
re.match = gen_wrapper("match")
re.gmatch = gen_wrapper("gmatch")
re.sub = gen_wrapper("sub")
_G.re = re
return _G.re

View File

@ -1,126 +0,0 @@
--[[
Copyright (c) 2007, Niels Martin Hansen, Rodrigo Braz Monteiro
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Aegisub Group nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
]]
-- Unicode (UTF-8) support functions for Aegisub Automation 4 Lua
-- http://www.ietf.org/rfc/rfc2279.txt
module("unicode")
-- Return the number of bytes occupied by the character starting at the i'th byte in s
function charwidth(s, i)
local b = s:byte(i or 1)
if not b then
--aegisub.debug.out(3, "unicode.charwidth of '%s' @ %d, nil byte\n", s, i)
-- FIXME, something in karaskel results in this case, shouldn't happen
-- What would "proper" behaviour be? Zero? Or just explode?
return 1
elseif b < 128 then
return 1
elseif b < 224 then
return 2
elseif b < 240 then
return 3
elseif b < 248 then
return 4
elseif b < 252 then
return 5
else
return 6
end
-- Actually there are more possibilities, but those aren't really legal
end
-- Returns an iterator function for iterating over the characters in s
function chars(s)
local curchar, i = 0, 1
local function itor()
if i > s:len() then
return nil
end
local width = charwidth(s, i)
local j = i
curchar = curchar + 1
i = i + width
return s:sub(j, i-1), curchar
end
return itor
end
-- Returns the number of characters in s
-- Runs in O(s:len()) time!
function len(s)
local n = 0
for c in chars(s) do
n = n + 1
end
return n
end
-- Get codepoint of first char in s
function codepoint(s)
-- Basic case, ASCII
local b = s:byte(1)
if s:byte(1) < 128 then
return s:byte(1)
end
-- Use a naive decoding algorithm, and assume input is valid
local res, w = 0
if b < 224 then
-- prefix byte is 110xxxxx
res = b - 192
w = 2
elseif b < 240 then
-- prefix byte is 11100000
res = b - 224
w = 3
elseif b < 248 then
-- prefix byte is 11110000
res = b - 240
w = 4
elseif b < 252 then
-- prefix byte is 11111000
res = b - 248
w = 5
else
-- prefix byte is 11111100
res = b - 252
w = 6
end
for i = 2, w do
res = res*64 + s:byte(i) - 128
end
return res
end

View File

@ -1,317 +0,0 @@
--[[
Copyright (c) 2005-2010, Niels Martin Hansen, Rodrigo Braz Monteiro
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Aegisub Group nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
]]
-- Make a shallow copy of a table
function table.copy(oldtab)
local newtab = {}
for key, val in pairs(oldtab) do
newtab[key] = val
end
return newtab
end
-- Compability
copy_line = table.copy
-- Make a deep copy of a table
-- Retains equality of table references inside the copy and handles self-referencing structures
function table.copy_deep(srctab)
-- Table to hold subtables already copied, to avoid circular references causing infinite recursion
local circular = {}
local function do_copy(oldtab)
-- Check if we know the source already
if circular[oldtab] then
-- Use already-made copy
return circular[oldtab]
else
-- Prepare a new table to copy into
local newtab = {}
-- Register it as known
circular[oldtab] = newtab
-- Copy fields
for key, val in pairs(oldtab) do
-- Copy tables recursively, everything else normally
if type(val) == "table" then
newtab[key] = do_copy(val)
else
newtab[key] = val
end
end
return newtab
end
end
return do_copy(srctab)
end
-- Generates ASS hexadecimal string from R,G,B integer components, in &HBBGGRR& format
function ass_color(r,g,b)
return string.format("&H%02X%02X%02X&",b,g,r)
end
-- Format an alpha-string for \Xa style overrides
function ass_alpha(a)
return string.format("&H%02X&", a)
end
-- Format an ABGR string for use in style definitions (these don't end with & either)
function ass_style_color(r,g,b,a)
return string.format("&H%02X%02X%02X%02X",a,b,g,r)
end
-- Extract colour components of an ASS colour
function extract_color(s)
local a, b, g, r
-- Try a style first
a, b, g, r = s:match("&H(%x%x)(%x%x)(%x%x)(%x%x)")
if a then
return tonumber(r, 16), tonumber(g, 16), tonumber(b, 16), tonumber(a, 16)
end
-- Then a colour override
b, g, r = s:match("&H(%x%x)(%x%x)(%x%x)&")
if b then
return tonumber(r, 16), tonumber(g, 16), tonumber(b, 16), 0
end
-- Then an alpha override
a = s:match("&H(%x%x)&")
if a then
return 0, 0, 0, tonumber(a, 16)
end
-- Ok how about HTML format then?
r, g, b, a = s:match("#(%x%x)(%x%x)?(%x%x)?(%x%x)?")
if r then
return tonumber(r or 0, 16), tonumber(g or 0, 16), tonumber(b or 0, 16), tonumber(a or 0, 16)
end
-- Failed...
return nil
end
-- Create an alpha override code from a style definition colour code
function alpha_from_style(scolor)
local r, g, b, a = extract_color(scolor)
return ass_alpha(a or 0)
end
-- Create an colour override code from a style definition colour code
function color_from_style(scolor)
local r, g, b = extract_color(scolor)
return ass_color(r or 0, g or 0, b or 0)
end
-- Converts HSV (Hue, Saturation, Value) to RGB
function HSV_to_RGB(H,S,V)
local r,g,b = 0,0,0
-- Saturation is zero, make grey
if S == 0 then
r = V*255
if r < 0 then
r = 0
end
if r > 255 then
r = 255
end
g = r
b = r
-- Else, calculate color
else
-- Calculate subvalues
H = H % 360 -- Put H in range [0,360)
local Hi = math.floor(H/60)
local f = H/60.0 - Hi
local p = V*(1-S)
local q = V*(1-f*S)
local t = V*(1-(1-f)*S)
-- Do math based on hue index
if Hi == 0 then
r = V*255.0
g = t*255.0
b = p*255.0
elseif Hi == 1 then
r = q*255.0
g = V*255.0
b = p*255.0
elseif Hi == 2 then
r = p*255.0
g = V*255.0
b = t*255.0
elseif Hi == 3 then
r = p*255.0
g = q*255.0
b = V*255.0
elseif Hi == 4 then
r = t*255.0
g = p*255.0
b = V*255.0
elseif Hi == 5 then
r = V*255.0
g = p*255.0
b = q*255.0
else
aegisub.debug.out(2, "RGB_to_HSV: Hi got an unexpected value: %d\n\n", Hi)
end
end
return r,g,b
end
-- Convert HSL (Hue, Saturation, Luminance) to RGB
-- Contributed by Gundamn
function HSL_to_RGB(H, S, L)
local r, g, b;
-- Make sure input is in range
H = H % 360
S = clamp(S, 0, 1)
L = clamp(L, 0, 1)
if S == 0 then
-- Simple case if saturation is 0, all grey
r = L
g = L
b = L
else
-- More common case, saturated colour
if L < 0.5 then
Q = L * (1.0 + S)
else
Q = L + S - (L * S)
end
local P = 2.0 * L - Q
local Hk = H / 360
local Tr, Tg, Tb
if Hk < 1/3 then
Tr = Hk + 1/3
Tg = Hk
Tb = Hk + 2/3
elseif Hk > 2/3 then
Tr = Hk - 2/3
Tg = Hk
Tb = Hk - 1/3
else
Tr = Hk + 1/3
Tg = Hk
Tb = Hk - 1/3
end
local function get_component(T)
if T < 1/6 then
return P + ((Q - P) * 6.0 * T)
elseif 1/6 <= T and T < 1/2 then
return Q
elseif 1/2 <= T and T < 2/3 then
return P + ((Q - P) * (2/3 - T) * 6.0)
else
return P
end
end
r = get_component(Tr)
g = get_component(Tg)
b = get_component(Tb)
end
return math.floor(r*255+0.5), math.floor(g*255+0.5), math.floor(b*255+0.5)
end
-- Removes spaces at the start and end of string
function string.trim(s)
return (string.gsub(s, "^%s*(.-)%s*$", "%1"))
end
-- Get the "head" and "tail" of a string, treating it as a sequence of words separated by one or more space-characters
function string.headtail(s)
local a, b, head, tail = string.find(s, "(.-)%s+(.*)")
if a then
return head, tail
else
return s, ""
end
end
-- Iterator function for headtail
function string.words(s)
local t = s
local function wordloop()
if t == "" then
return nil
end
local head, tail = string.headtail(t)
t = tail
return head
end
return wordloop, nil, nil
end
-- Clamp a number value to a range
function clamp(val, min, max)
if val < min then
return min
elseif val > max then
return max
else
return val
end
end
-- Interpolate between two numbers
function interpolate(pct, min, max)
if pct <= 0 then
return min
elseif pct >= 1 then
return max
else
return pct * (max - min) + min
end
end
-- Interpolate between two colour values, given in either style definition or style override format
-- Return in style override format
function interpolate_color(pct, first, last)
local r1, g1, b1 = extract_color(first)
local r2, g2, b2 = extract_color(last)
local r, g, b = interpolate(pct, r1, r2), interpolate(pct, g1, g2), interpolate(pct, b1, b2)
return ass_color(r, g, b)
end
-- Interpolate between two alpha values, given either in style override or as part as a style definition colour
-- Return in style override format
function interpolate_alpha(pct, first, last)
local r1, g1, b1, a1 = extract_color(first)
local r2, g2, b2, a2 = extract_color(last)
return ass_alpha(interpolate(pct, a1, a2))
end

View File

@ -1,32 +0,0 @@
Miscellaneous functions in Automation 4
This document describes various functions that couldn't be placed in any of
the other Automation 4 documents.
---
Getting the rendered size of a string
This function might later on be part of a full rendering-interface for
creating actual bitmaps of text.
This function does NOT attempt to handle line breaks, automatic line breaking,
fomatting override tags, vector drawings or anything else to that effect.
If you need such functionality, you need to implement it yourself. (For now,
at least.)
function aegisub.text_extents(style, text)
@style (table)
A "style" class Subtitle Line table.
@text (string)
The text to calculate the rendered size of.
Returns: 4 values, all numbers.
1. Width of text in pixels.
2. Height of text in pixels.
3. Descent of text in pixels.
4. External leading of text in pixels.
---

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="aegisub_exe_filename"
>
<Tool
Name="VCLinkerTool"
OutputFile="$(ExecutableOutDir)/aegisub$(PlatformConfigSuffix).exe"
/>
</VisualStudioPropertySheet>

File diff suppressed because it is too large Load Diff

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="compiler_options"
>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/Zm130"
Optimization="3"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="2"
WholeProgramOptimization="true"
StringPooling="true"
RuntimeLibrary="2"
OpenMP="true"
WarningLevel="3"
WarnAsError="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Vfw32.lib comctl32.lib rpcrt4.lib winmm.lib advapi32.lib wsock32.lib opengl32.lib"
LinkIncremental="1"
GenerateManifest="true"
GenerateDebugInformation="true"
SubSystem="2"
LargeAddressAware="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
LinkTimeCodeGeneration="1"
DataExecutionPrevention="2"
/>
</VisualStudioPropertySheet>

View File

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="compiler_options_debug"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
InlineFunctionExpansion="0"
EnableIntrinsicFunctions="false"
WholeProgramOptimization="false"
PreprocessorDefinitions="DEBUG;_DEBUG"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
OptimizeReferences="1"
EnableCOMDATFolding="1"
LinkTimeCodeGeneration="0"
RandomizedBaseAddress="1"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="contrib_includedirs"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(ProjectDir)../../../contrib/hunspell/src/&quot;;&quot;$(ProjectDir)../../src/msvc/&quot;;&quot;$(ProjectDir)../../../contrib/iconv/include/&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="delayload_openal_32"
>
<Tool
Name="VCLinkerTool"
DelayLoadDLLs="openal32.dll"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="delayload_portaudio_32"
>
<Tool
Name="VCLinkerTool"
DelayLoadDLLs="portaudio_x86.dll"
/>
</VisualStudioPropertySheet>

View File

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="ffms2_lib_include_dir"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(ProjectDir)../../libffms/include/&quot;;"
/>
<Tool
Name="VCLinkerTool"
AdditionalLibraryDirectories="$(ProjectDir)../../FFmpegSource2/"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="libaegisub_include_dir"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\..\libaegisub\include&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="standard_outdirs"
OutputDirectory="$(SolutionDir)build/$(ProjectName)/$(PlatformName)/$(ConfigurationName)/"
IntermediateDirectory="$(OutDir)"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)include/&quot;;&quot;$(SolutionDir)include/$(PlatformName)/&quot;;&quot;$(SolutionDir)include/$(ConfigurationName)/&quot;;&quot;$(SolutionDir)include/$(PlatformName)/$(ConfigurationName)/&quot;"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="$(LibraryOutDir)/$(ProjectName).lib"
/>
<Tool
Name="VCLinkerTool"
OutputFile=""
AdditionalLibraryDirectories="$(LibraryOutDir)"
ImportLibrary="$(LibraryOutDir)$(TargetName).lib"
/>
<UserMacro
Name="LibraryOutDir"
Value="$(SolutionDir)lib/$(PlatformName)/$(ConfigurationName)/"
/>
<UserMacro
Name="ExecutableOutDir"
Value="$(SolutionDir)bin/"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="suffix_debug32"
>
<UserMacro
Name="PlatformConfigSuffix"
Value="32d"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="suffix_debug64"
>
<UserMacro
Name="PlatformConfigSuffix"
Value="64d"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="suffix_release32"
>
<UserMacro
Name="PlatformConfigSuffix"
Value="32"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="suffix_release64"
>
<UserMacro
Name="PlatformConfigSuffix"
Value="64"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="svn_rev_header_update"
>
<Tool
Name="VCPreBuildEventTool"
CommandLine="if not exist &quot;..\..\src\config\config_windows.h&quot; (copy &quot;..\..\src\config\config_windows0.h&quot; &quot;..\..\src\config\config_windows.h&quot;)&#x0D;&#x0A;..\version.bat&#x0D;&#x0A;"
/>
</VisualStudioPropertySheet>

View File

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="wxlib_include"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)/wxlib/include/&quot;"
/>
<Tool
Name="VCResourceCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)/wxlib/include/&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="wxlib_lib32"
>
<Tool
Name="VCLinkerTool"
AdditionalLibraryDirectories="&quot;$(SolutionDir)/wxlib/lib32/&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="wxlib_lib64"
>
<Tool
Name="VCLinkerTool"
AdditionalLibraryDirectories="&quot;$(SolutionDir)/wxlib/lib64/&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="compiler_options"
>
<Tool
Name="VCCLCompilerTool"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;NOMINMAX"
RuntimeLibrary="2"
OpenMP="true"
WarningLevel="3"
WarnAsError="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateManifest="true"
GenerateDebugInformation="true"
SubSystem="2"
LargeAddressAware="2"
DataExecutionPrevention="2"
/>
</VisualStudioPropertySheet>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="compiler_options_debug"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
InlineFunctionExpansion="0"
EnableIntrinsicFunctions="false"
WholeProgramOptimization="false"
PreprocessorDefinitions="DEBUG;_DEBUG;_CRT_SECURE_NO_WARNINGS;NOMINMAX"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
RandomizedBaseAddress="1"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="contrib_includedirs"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(ProjectDir)../../../contrib/iconv/include/&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,560 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="libaegisub_vs2008"
ProjectGUID="{7BECBDEF-9935-4E9D-8958-CCAA39D8B178}"
RootNamespace="libaegisub_vs2008"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="4"
InheritedPropertySheets=".\wxlib_include.vsprops;.\libraries_outdirs.vsprops;.\compiler_options_debug.vsprops;..\aegisub_vs2008\wxlib_lib32.vsprops;..\aegisub_vs2008\suffix_debug32.vsprops;.\precomp_header.vsprops;.\src_msvc_include_dir.vsprops;.\contrib_includedirs.vsprops"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="4"
InheritedPropertySheets=".\wxlib_include.vsprops;.\libraries_outdirs.vsprops;.\compiler_options_debug.vsprops;..\aegisub_vs2008\wxlib_lib64.vsprops;..\aegisub_vs2008\suffix_debug64.vsprops;.\precomp_header.vsprops;.\src_msvc_include_dir.vsprops;.\contrib_includedirs.vsprops"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="4"
InheritedPropertySheets=".\wxlib_include.vsprops;.\libraries_outdirs.vsprops;.\compiler_options.vsprops;..\aegisub_vs2008\wxlib_lib32.vsprops;..\aegisub_vs2008\suffix_release32.vsprops;.\precomp_header.vsprops;.\contrib_includedirs.vsprops"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="4"
InheritedPropertySheets=".\wxlib_include.vsprops;.\libraries_outdirs.vsprops;.\compiler_options.vsprops;..\aegisub_vs2008\wxlib_lib64.vsprops;..\aegisub_vs2008\suffix_release64.vsprops;.\precomp_header.vsprops;.\src_msvc_include_dir.vsprops;.\contrib_includedirs.vsprops"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Common"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\libaegisub\common\charset.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\charset_6937.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\charset_6937.h"
>
</File>
<File
RelativePath="..\..\libaegisub\common\charset_conv.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\charset_ucd.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\hotkey.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\json.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\keyframe.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\log.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\mru.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\option.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\option_visit.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\option_visit.h"
>
</File>
<File
RelativePath="..\..\libaegisub\common\path.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\thesaurus.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\util.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\validator.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\common\vfr.cpp"
>
</File>
</Filter>
<Filter
Name="Windows"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath="..\..\libaegisub\windows\access.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\windows\charset_conv_win.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\windows\io.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\windows\lagi_pre.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\libaegisub\windows\log_win.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\windows\path_win.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\windows\util_win.cpp"
>
</File>
</Filter>
<Filter
Name="Include"
>
<File
RelativePath="..\..\libaegisub\include\libaegisub\access.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\background_runner.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\charset.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\charset_conv.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\charset_conv_win.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\charsets.def"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\colour.h"
>
</File>
<File
RelativePath="..\..\libaegisub\config.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\exception.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\hotkey.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\io.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\json.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\keyframe.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\line_iterator.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\line_wrap.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\log.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\mru.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\option.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\option_value.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\path.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\scoped_ptr.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\signal.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\thesaurus.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\types.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\util.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\util_win.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\validator.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\vfr.h"
>
</File>
</Filter>
<Filter
Name="Cajun"
>
<File
RelativePath="..\..\libaegisub\common\cajun\elements.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\cajun\elements.h"
>
</File>
<File
RelativePath="..\..\libaegisub\common\cajun\reader.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\cajun\reader.h"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\cajun\visitor.h"
>
</File>
<File
RelativePath="..\..\libaegisub\common\cajun\writer.cpp"
>
</File>
<File
RelativePath="..\..\libaegisub\include\libaegisub\cajun\writer.h"
>
</File>
</Filter>
<File
RelativePath="..\..\libaegisub\lagi_pre.h"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="standard_outdirs"
OutputDirectory="$(SolutionDir)build/$(ProjectName)/$(PlatformName)/$(ConfigurationName)/"
IntermediateDirectory="$(OutDir)"
>
<Tool
Name="VCLibrarianTool"
OutputFile="$(LibraryOutDir)/$(ProjectName).lib"
/>
<Tool
Name="VCLinkerTool"
OutputFile=""
AdditionalLibraryDirectories="$(LibraryOutDir)"
ImportLibrary="$(LibraryOutDir)$(TargetName).lib"
/>
<UserMacro
Name="LibraryOutDir"
Value="$(SolutionDir)lib/$(PlatformName)/$(ConfigurationName)/"
/>
<UserMacro
Name="ExecutableOutDir"
Value="$(SolutionDir)bin/"
/>
</VisualStudioPropertySheet>

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="precomp_header"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="../../libaegisub/lagi_pre.h"
ForcedIncludeFiles="../../libaegisub/lagi_pre.h"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="src_msvc_include_dir"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\..\src\msvc&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="wxlib_include"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)/wxlib/include/&quot;;&quot;$(ProjectDir)../../libaegisub/include/&quot;"
/>
<Tool
Name="VCResourceCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)/wxlib/include/&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,58 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2011 Niels Martin Hansen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Aegisub Group nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Aegisub Project http://www.aegisub.org/
$Id$
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Default settings for build-time options -->
<PropertyGroup>
<AegisubUseConfigWindowsH Condition="'$(AegisubUseConfigWindowsH)'==''">true</AegisubUseConfigWindowsH>
<AegisubUseAutomationLua Condition="'$(AegisubUseAutomationLua)'==''">true</AegisubUseAutomationLua>
<AegisubUseDSound Condition="'$(AegisubUseDSound)'==''">true</AegisubUseDSound>
<DirectXSDKPath Condition="'$(DirectXSDKPath)'==''">$(DXSDK_DIR)</DirectXSDKPath>
<AegisubUseAvisynth Condition="'$(AegisubUseAvisynth)|$(Platform)'=='|Win32'">true</AegisubUseAvisynth>
<AegisubUseAvisynth Condition="'$(AegisubUseAvisynth)|$(Platform)'=='|x64'">false</AegisubUseAvisynth>
<AegisubUseFfms Condition="'$(AegisubUseFfms)'==''">true</AegisubUseFfms>
<FFmpegSourceIncludePath Condition="'$(FFmpegSourceIncludePath)'==''">$(AegisubSourceBase)libffms\include\</FFmpegSourceIncludePath>
<FFmpegSourceLibraryPath Condition="'$(FFmpegSourceLibraryPath)'==''">$(AegisubSourceBase)libffms\lib\</FFmpegSourceLibraryPath>
<FFmpegSourceLibraryName Condition="'$(FFmpegSourceLibraryName)'==''">ffms2.lib</FFmpegSourceLibraryName>
<AegisubUseFt2 Condition="'$(AegisubUseFt2)'==''">true</AegisubUseFt2>
<AegisubUseHunspell Condition="'$(AegisubUseHunspell)'==''">true</AegisubUseHunspell>
<AegisubUseFftw Condition="'$(AegisubUseFftw)'==''">false</AegisubUseFftw>
<AegisubUseLibass Condition="'$(AegisubUseLibass)'==''">false</AegisubUseLibass>
<AegisubUseCsri Condition="'$(AegisubUseCsri)'==''">HelperLibrary</AegisubUseCsri>
<CsriLibraryName Condition="'$(CsriLibraryName)'==''">vsfilter.lib</CsriLibraryName>
<AegisubSpecialBuild Condition="'$(AegisubSpecialBuild)'==''">false</AegisubSpecialBuild>
</PropertyGroup>
</Project>

View File

@ -1,296 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2011 Niels Martin Hansen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Aegisub Group nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Aegisub Project http://www.aegisub.org/
$Id$
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Update svn revision data file-target -->
<PropertyGroup>
<TSVNDir Condition="'$(TSVNDir)'==''">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseSVN@Directory)</TSVNDir>
<TSVNDir Condition="'$(TSVNDir)'==''">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TortoiseSVN@Directory)</TSVNDir>
<SubWCRevExe Condition="'$(SubWCRevExe)'==''">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\SubWCRev.exe)</SubWCRevExe>
<SubWCRevExe Condition="'$(SubWCRevExe)'==''">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\SubWCRev.exe)</SubWCRevExe>
<SubWCRevExe Condition="'$(SubWCRevExe)'==''">$(TSVNDir)\bin\SubWCRev.exe</SubWCRevExe>
</PropertyGroup>
<Target
Name="SubWCRev"
BeforeTargets="ClCompile"
DependsOnTargets="PrepareForBuild"
>
<Error
Condition="!Exists('$(SubWCRevExe)')"
Text="The SubWCRev.exe program was not found. If you already have TortoiseSVN installed, override the SubWCRevExe property to the location of the program."
/>
<Error
Condition="!Exists('%(SubWCRev.Repository)')"
Text="The working copy was not found. Location specified: %(SubWCRev.Repository)"
/>
<Error
Condition="!Exists('%(SubWCRev.InputFile)')"
Text="The template file was not found. Location specified: %(SubWCRev.InputFile)"
/>
<Exec
Command="&quot;$(SubWCRevExe)&quot; &quot;%(SubWCRev.Repository)&quot; &quot;%(SubWCRev.InputFile)&quot; &quot;%(SubWCRev.OutputFile)&quot;"
Outputs="%(SubWCRevExe.Output)"
/>
</Target>
<ItemDefinitionGroup>
<SubWCRev>
<InputFile >$(AegisubSourceBase)build\svn-revision-base.h</InputFile>
<OutputFile>$(AegisubSourceBase)build\svn-revision.h</OutputFile>
<Repository>$(AegisubSourceBase)\.</Repository>
</SubWCRev>
</ItemDefinitionGroup>
<ItemGroup>
<SubWCRev Include="$(AegisubSourceBase)build\svn-revision-base.h" />
</ItemGroup>
<!-- Create build configuration file if it does not exist-target -->
<Target
Name="CreateDefaultConfigurationHeader"
BeforeTargets="PrepareForBuild"
Condition="'@(CreateDefaultConfigurationHeader)' != ''"
>
<PropertyGroup>
<AegisubMustCreateConfigurationHeader Condition="!Exists('%(CreateDefaultConfigurationHeader.TargetFile)')">true</AegisubMustCreateConfigurationHeader>
</PropertyGroup>
<Warning
Condition="'$(AegisubMustCreateConfigurationHeader)'=='true'"
Text="Creating default configuration file. You should edit this file to customise the build."
/>
<Error
Condition="!Exists('%(CreateDefaultConfigurationHeader.TemplateFile)') and '$(AegisubMustCreateConfigurationHeader)'=='true'"
Text="The configuration file template was not found."
/>
<Copy
Condition="'$(AegisubMustCreateConfigurationHeader)'=='true'"
SourceFiles="%(CreateDefaultConfigurationHeader.TemplateFile)"
DestinationFiles="%(CreateDefaultConfigurationHeader.TargetFile)"
/>
<Message
Condition="'$(AegisubMustCreateConfigurationHeader)'=='true'"
Text="Created %(CreateDefaultConfigurationHeader.TargetFile)"
/>
</Target>
<!-- Default configuration -->
<Import Project="$(MSBuildThisFileDirectory)Aegisub.DefaultConfiguration.props" />
<!-- Build credit text -->
<PropertyGroup Condition="'$(AegisubUseConfigWindowsH)'=='false' and '$(AegisubBuildCredit)'==''">
<AegisubBuildCredit>Anonymous</AegisubBuildCredit>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(AegisubBuildCredit)'!=''">
<ClCompile>
<PreprocessorDefinitions>BUILD_CREDIT="$(AegisubBuildCredit)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Skip config_windows.h support -->
<ItemDefinitionGroup Condition="'$(AegisubUseConfigWindowsH)'=='false'">
<ClCompile>
<PreprocessorDefinitions>BUILD_SKIP_CONFIG_WINDOWS_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- Use config_windows.h support -->
<ItemGroup Condition="'$(AegisubUseConfigWindowsH)'!='false'">
<CreateDefaultConfigurationHeader Include="$(AegisubSourceBase)src\config\config_windows.h">
<TemplateFile>$(AegisubSourceBase)src\config\config_windows0.h</TemplateFile>
<TargetFile>$(AegisubSourceBase)src\config\config_windows.h</TargetFile>
</CreateDefaultConfigurationHeader>
</ItemGroup>
<!-- Automation Lua support -->
<ItemDefinitionGroup Condition="'$(AegisubUseAutomationLua)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_AUTO4_LUA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(AegisubContribBase)lua51\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>lua51.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Hunspell support -->
<ItemDefinitionGroup Condition="'$(AegisubUseHunspell)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_HUNSPELL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(AegisubContribBase)hunspell\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>hunspell.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- CSRI helper library support -->
<ItemDefinitionGroup Condition="'$(AegisubUseCsri)'=='HelperLibrary'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_CSRI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>csrihelper.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- CSRI external library support -->
<ItemDefinitionGroup Condition="'$(AegisubUseCsri)'=='External'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_CSRI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(CsriLibraryPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(CsriLibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- libass support -->
<ItemDefinitionGroup Condition="'$(AegisubUseLibass)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_LIBASS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(LibassIncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(LibassIncludePath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(LibassLibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Freetype 2 support -->
<ItemDefinitionGroup Condition="'$(AegisubUseFreetype2)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_FREETYPE2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(Ft2IncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(Ft2LibraryPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(Ft2LibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- FFmpegSource support -->
<ItemDefinitionGroup Condition="'$(AegisubUseFfms)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_FFMS2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(FFmpegSourceIncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(FFmpegSourceLibraryPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(FFmpegSourceLibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Avisynth support -->
<ItemDefinitionGroup Condition="'$(AegisubUseAvisynth)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_AVISYNTH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- FFTW support -->
<ItemDefinitionGroup Condition="'$(AegisubUseFftw)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_FFTW3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(FftwIncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(FftwLibraryPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(FftwLibraryName);%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- DirectSound support -->
<PropertyGroup>
<DirectXSDKDir Condition="'$(DirectXSDKDir)'==''">$(DXSDK_DIR)</DirectXSDKDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(AegisubUseDSound)'=='true'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubUseConfigWindowsH)'=='false'">WITH_DIRECTSOUND;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(DXSDK_DIR)\Include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories Condition="'$(Platform)'=='Win32'">$(DirectXSDKDir)\Lib\x86\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="'$(Platform)'=='x64'">$(DirectXSDKDir)\Lib\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>dsound.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Target Name="AegisubCheckDirectXSDK" BeforeTargets="PrepareForBuild" >
<Error
Condition="'$(DirectXSDKDir)'=='' or !Exists('$(DirectXSDKDir)\Include\dsound.h')"
Text="DirectX SDK not found, check that the DXSDK_DIR environment is set. If you do not want to use DirectSound set the AegisubUseDSound property to false in a user config."
/>
</Target>
<ItemGroup Condition="'$(AegisubUseDSound)'=='true'">
<AegisubCheckDirectXSDK Include="dsound" />
</ItemGroup>
<!-- Special builds -->
<ItemDefinitionGroup Condition="'$(AegisubUseConfigWindowsH)'=='false'">
<ClCompile>
<PreprocessorDefinitions Condition="'$(AegisubSpecialBuild)'=='FinalRelease'">FINAL_RELEASE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(AegisubSpecialBuild)'=='StartupLog'">WITH_STARTUPLOG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<!-- General configuration, always required libraries -->
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>HAVE_LITTLE_ENDIAN;__STDC_FORMAT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>
$(SrcDir)include\;
$(SrcDir)msvc\;
$(AegisubContribBase)iconv\include;
$(AegisubSourceBase)libaegisub\include;
%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(AegisubLibraryDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>
libiconv.lib;
libresrc.lib;
libaegisub.lib;
universalchardet.lib;
%(AdditionalDependencies)
</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Add property pages -->
<ItemGroup>
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)Aegisub.xml" />
<ProjectTools Include="SubWCRev;CreateDefaultConfigurationHeader" />
</ItemGroup>
</Project>

View File

@ -1,412 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9DDDB9E5-E4A1-423D-A224-F6D4E5AAC06A}</ProjectGuid>
<RootNamespace>Aegisub</RootNamespace>
</PropertyGroup>
<!-- Aegisub project configuration -->
<PropertyGroup Label="AegisubConfiguration">
<AegisubProjectType>exe</AegisubProjectType>
<AegisubUseWxWidgets>true</AegisubUseWxWidgets>
<AegisubUseFreetype>true</AegisubUseFreetype>
<AegisubUseDSound>true</AegisubUseDSound>
<SrcDir>..\..\..\src\</SrcDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<!-- Project specific configuration -->
<Import Project="$(MSBuildThisFileDirectory)Aegisub.targets" />
<PropertyGroup>
<TargetName>aegisub$(AegisubPlatformSuffix)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>agi_pre.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>agi_pre.h</ForcedIncludeFiles>
</ClCompile>
</ItemDefinitionGroup>
<!-- Source files -->
<ItemGroup>
<ClInclude Include="$(SrcDir)aegisublocale.h" />
<ClInclude Include="$(SrcDir)aegisub_endian.h" />
<ClInclude Include="$(SrcDir)agi_pre.h" />
<ClInclude Include="$(SrcDir)ass_attachment.h" />
<ClInclude Include="$(SrcDir)ass_dialogue.h" />
<ClInclude Include="$(SrcDir)ass_entry.h" />
<ClInclude Include="$(SrcDir)ass_exporter.h" />
<ClInclude Include="$(SrcDir)ass_export_filter.h" />
<ClInclude Include="$(SrcDir)ass_file.h" />
<ClInclude Include="$(SrcDir)ass_karaoke.h" />
<ClInclude Include="$(SrcDir)ass_override.h" />
<ClInclude Include="$(SrcDir)ass_style.h" />
<ClInclude Include="$(SrcDir)ass_style_storage.h" />
<ClInclude Include="$(SrcDir)ass_time.h" />
<ClInclude Include="$(SrcDir)audio_box.h" />
<ClInclude Include="$(SrcDir)audio_colorscheme.h" />
<ClInclude Include="$(SrcDir)audio_controller.h" />
<ClInclude Include="$(SrcDir)audio_display.h" />
<ClInclude Include="$(SrcDir)audio_karaoke.h" />
<ClInclude Include="$(SrcDir)audio_marker.h" />
<ClInclude Include="$(SrcDir)audio_player_alsa.h" />
<ClInclude Include="$(SrcDir)audio_player_dsound.h" />
<ClInclude Include="$(SrcDir)audio_player_dsound2.h" />
<ClInclude Include="$(SrcDir)audio_player_openal.h" />
<ClInclude Include="$(SrcDir)audio_player_oss.h" />
<ClInclude Include="$(SrcDir)audio_player_portaudio.h" />
<ClInclude Include="$(SrcDir)audio_player_pulse.h" />
<ClInclude Include="$(SrcDir)audio_provider_avs.h" />
<ClInclude Include="$(SrcDir)audio_provider_convert.h" />
<ClInclude Include="$(SrcDir)audio_provider_dummy.h" />
<ClInclude Include="$(SrcDir)audio_provider_ffmpegsource.h" />
<ClInclude Include="$(SrcDir)audio_provider_hd.h" />
<ClInclude Include="$(SrcDir)audio_provider_pcm.h" />
<ClInclude Include="$(SrcDir)audio_provider_ram.h" />
<ClInclude Include="$(SrcDir)audio_renderer.h" />
<ClInclude Include="$(SrcDir)audio_renderer_spectrum.h" />
<ClInclude Include="$(SrcDir)audio_renderer_waveform.h" />
<ClInclude Include="$(SrcDir)audio_timing.h" />
<ClInclude Include="$(SrcDir)auto4_base.h" />
<ClInclude Include="$(SrcDir)auto4_lua.h" />
<ClInclude Include="$(SrcDir)auto4_lua_factory.h" />
<ClInclude Include="$(SrcDir)auto4_lua_scriptreader.h" />
<ClInclude Include="$(SrcDir)avisynth.h" />
<ClInclude Include="$(SrcDir)avisynth_wrap.h" />
<ClInclude Include="$(SrcDir)base_grid.h" />
<ClInclude Include="$(SrcDir)block_cache.h" />
<ClInclude Include="$(SrcDir)charset_conv.h" />
<ClInclude Include="$(SrcDir)charset_detect.h" />
<ClInclude Include="$(SrcDir)colorspace.h" />
<ClInclude Include="$(SrcDir)colour_button.h" />
<ClInclude Include="$(SrcDir)command\command.h" />
<ClInclude Include="$(SrcDir)command\icon.h" />
<ClInclude Include="$(SrcDir)compat.h" />
<ClInclude Include="$(SrcDir)config.h" />
<ClInclude Include="$(SrcDir)dialog_about.h" />
<ClInclude Include="$(SrcDir)dialog_attachments.h" />
<ClInclude Include="$(SrcDir)dialog_automation.h" />
<ClInclude Include="$(SrcDir)dialog_colorpicker.h" />
<ClInclude Include="$(SrcDir)dialog_detached_video.h" />
<ClInclude Include="$(SrcDir)dialog_dummy_video.h" />
<ClInclude Include="$(SrcDir)dialog_export.h" />
<ClInclude Include="$(SrcDir)dialog_export_ebu3264.h" />
<ClInclude Include="$(SrcDir)dialog_fonts_collector.h" />
<ClInclude Include="$(SrcDir)dialog_jumpto.h" />
<ClInclude Include="$(SrcDir)dialog_kara_timing_copy.h" />
<ClInclude Include="$(SrcDir)dialog_log.h" />
<ClInclude Include="$(SrcDir)dialog_paste_over.h" />
<ClInclude Include="$(SrcDir)dialog_progress.h" />
<ClInclude Include="$(SrcDir)dialog_properties.h" />
<ClInclude Include="$(SrcDir)dialog_resample.h" />
<ClInclude Include="$(SrcDir)dialog_search_replace.h" />
<ClInclude Include="$(SrcDir)dialog_selected_choices.h" />
<ClInclude Include="$(SrcDir)dialog_selection.h" />
<ClInclude Include="$(SrcDir)dialog_shift_times.h" />
<ClInclude Include="$(SrcDir)dialog_spellchecker.h" />
<ClInclude Include="$(SrcDir)dialog_style_editor.h" />
<ClInclude Include="$(SrcDir)dialog_style_manager.h" />
<ClInclude Include="$(SrcDir)dialog_styling_assistant.h" />
<ClInclude Include="$(SrcDir)dialog_text_import.h" />
<ClInclude Include="$(SrcDir)dialog_timing_processor.h" />
<ClInclude Include="$(SrcDir)dialog_translation.h" />
<ClInclude Include="$(SrcDir)dialog_version_check.h" />
<ClInclude Include="$(SrcDir)dialog_video_details.h" />
<ClInclude Include="$(SrcDir)export_fixstyle.h" />
<ClInclude Include="$(SrcDir)export_framerate.h" />
<ClInclude Include="$(SrcDir)factory_manager.h" />
<ClInclude Include="$(SrcDir)ffmpegsource_common.h" />
<ClInclude Include="$(SrcDir)fft.h" />
<ClInclude Include="$(SrcDir)font_file_lister.h" />
<ClInclude Include="$(SrcDir)font_file_lister_fontconfig.h" />
<ClInclude Include="$(SrcDir)font_file_lister_freetype.h" />
<ClInclude Include="$(SrcDir)frame_main.h" />
<ClInclude Include="$(SrcDir)gl_text.h" />
<ClInclude Include="$(SrcDir)gl_wrap.h" />
<ClInclude Include="$(SrcDir)help_button.h" />
<ClInclude Include="$(SrcDir)hotkeys.h" />
<ClInclude Include="$(SrcDir)hotkey_data_view_model.h" />
<ClInclude Include="$(SrcDir)kana_table.h" />
<ClInclude Include="$(SrcDir)keyframe.h" />
<ClInclude Include="$(SrcDir)main.h" />
<ClInclude Include="$(SrcDir)MatroskaParser.h" />
<ClInclude Include="$(SrcDir)md5.h" />
<ClInclude Include="$(SrcDir)mkv_wrap.h" />
<ClInclude Include="$(SrcDir)persist_location.h" />
<ClInclude Include="$(SrcDir)pen.h" />
<ClInclude Include="$(SrcDir)plugin_manager.h" />
<ClInclude Include="$(SrcDir)preferences.h" />
<ClInclude Include="$(SrcDir)preferences_base.h" />
<ClInclude Include="$(SrcDir)scintilla_text_ctrl.h" />
<ClInclude Include="$(SrcDir)selection_controller.h" />
<ClInclude Include="$(SrcDir)spellchecker_hunspell.h" />
<ClInclude Include="$(SrcDir)spline.h" />
<ClInclude Include="$(SrcDir)spline_curve.h" />
<ClInclude Include="$(SrcDir)standard_paths.h" />
<ClInclude Include="$(SrcDir)string_codec.h" />
<ClInclude Include="$(SrcDir)subs_edit_box.h" />
<ClInclude Include="$(SrcDir)subs_edit_ctrl.h" />
<ClInclude Include="$(SrcDir)subs_grid.h" />
<ClInclude Include="$(SrcDir)subs_preview.h" />
<ClInclude Include="$(SrcDir)subtitles_provider_csri.h" />
<ClInclude Include="$(SrcDir)subtitles_provider_libass.h" />
<ClInclude Include="$(SrcDir)subtitle_format.h" />
<ClInclude Include="$(SrcDir)subtitle_format_ass.h" />
<ClInclude Include="$(SrcDir)subtitle_format_ebu3264.h" />
<ClInclude Include="$(SrcDir)subtitle_format_encore.h" />
<ClInclude Include="$(SrcDir)subtitle_format_microdvd.h" />
<ClInclude Include="$(SrcDir)subtitle_format_mkv.h" />
<ClInclude Include="$(SrcDir)subtitle_format_srt.h" />
<ClInclude Include="$(SrcDir)subtitle_format_transtation.h" />
<ClInclude Include="$(SrcDir)subtitle_format_ttxt.h" />
<ClInclude Include="$(SrcDir)subtitle_format_txt.h" />
<ClInclude Include="$(SrcDir)text_file_reader.h" />
<ClInclude Include="$(SrcDir)text_file_writer.h" />
<ClInclude Include="$(SrcDir)thesaurus.h" />
<ClInclude Include="$(SrcDir)threaded_frame_source.h" />
<ClInclude Include="$(SrcDir)timeedit_ctrl.h" />
<ClInclude Include="$(SrcDir)toggle_bitmap.h" />
<ClInclude Include="$(SrcDir)tooltip_manager.h" />
<ClInclude Include="$(SrcDir)utils.h" />
<ClInclude Include="$(SrcDir)validators.h" />
<ClInclude Include="$(SrcDir)variable_data.h" />
<ClInclude Include="$(SrcDir)vector2d.h" />
<ClInclude Include="$(SrcDir)version.h" />
<ClInclude Include="$(SrcDir)video_box.h" />
<ClInclude Include="$(SrcDir)video_context.h" />
<ClInclude Include="$(SrcDir)video_display.h" />
<ClInclude Include="$(SrcDir)video_frame.h" />
<ClInclude Include="$(SrcDir)video_out_gl.h" />
<ClInclude Include="$(SrcDir)video_provider_avs.h" />
<ClInclude Include="$(SrcDir)video_provider_cache.h" />
<ClInclude Include="$(SrcDir)video_provider_dummy.h" />
<ClInclude Include="$(SrcDir)video_provider_ffmpegsource.h" />
<ClInclude Include="$(SrcDir)video_provider_manager.h" />
<ClInclude Include="$(SrcDir)video_provider_yuv4mpeg.h" />
<ClInclude Include="$(SrcDir)video_slider.h" />
<ClInclude Include="$(SrcDir)visual_feature.h" />
<ClInclude Include="$(SrcDir)visual_tool.h" />
<ClInclude Include="$(SrcDir)visual_tool_clip.h" />
<ClInclude Include="$(SrcDir)visual_tool_cross.h" />
<ClInclude Include="$(SrcDir)visual_tool_drag.h" />
<ClInclude Include="$(SrcDir)visual_tool_rotatexy.h" />
<ClInclude Include="$(SrcDir)visual_tool_rotatez.h" />
<ClInclude Include="$(SrcDir)visual_tool_scale.h" />
<ClInclude Include="$(SrcDir)visual_tool_vector_clip.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)aegisublocale.cpp" />
<ClCompile Include="$(SrcDir)agi_pre.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
<PrecompiledHeaderFile>agi_pre.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>
</ForcedIncludeFiles>
</ClCompile>
<ClCompile Include="$(SrcDir)ass_attachment.cpp" />
<ClCompile Include="$(SrcDir)ass_dialogue.cpp" />
<ClCompile Include="$(SrcDir)ass_entry.cpp" />
<ClCompile Include="$(SrcDir)ass_exporter.cpp" />
<ClCompile Include="$(SrcDir)ass_export_filter.cpp" />
<ClCompile Include="$(SrcDir)ass_file.cpp" />
<ClCompile Include="$(SrcDir)ass_karaoke.cpp" />
<ClCompile Include="$(SrcDir)ass_override.cpp" />
<ClCompile Include="$(SrcDir)ass_style.cpp" />
<ClCompile Include="$(SrcDir)ass_style_storage.cpp" />
<ClCompile Include="$(SrcDir)ass_time.cpp" />
<ClCompile Include="$(SrcDir)audio_box.cpp" />
<ClCompile Include="$(SrcDir)audio_colorscheme.cpp" />
<ClCompile Include="$(SrcDir)audio_controller.cpp" />
<ClCompile Include="$(SrcDir)audio_display.cpp" />
<ClCompile Include="$(SrcDir)audio_karaoke.cpp" />
<ClCompile Include="$(SrcDir)audio_marker.cpp" />
<ClCompile Include="$(SrcDir)audio_player.cpp" />
<ClCompile Include="$(SrcDir)audio_player_alsa.cpp" />
<ClCompile Include="$(SrcDir)audio_player_dsound.cpp" />
<ClCompile Include="$(SrcDir)audio_player_dsound2.cpp" />
<ClCompile Include="$(SrcDir)audio_player_openal.cpp" />
<ClCompile Include="$(SrcDir)audio_player_oss.cpp" />
<ClCompile Include="$(SrcDir)audio_player_portaudio.cpp" />
<ClCompile Include="$(SrcDir)audio_player_pulse.cpp" />
<ClCompile Include="$(SrcDir)audio_provider.cpp" />
<ClCompile Include="$(SrcDir)audio_provider_avs.cpp" />
<ClCompile Include="$(SrcDir)audio_provider_convert.cpp" />
<ClCompile Include="$(SrcDir)audio_provider_dummy.cpp" />
<ClCompile Include="$(SrcDir)audio_provider_ffmpegsource.cpp" />
<ClCompile Include="$(SrcDir)audio_provider_hd.cpp" />
<ClCompile Include="$(SrcDir)audio_provider_pcm.cpp" />
<ClCompile Include="$(SrcDir)audio_provider_ram.cpp" />
<ClCompile Include="$(SrcDir)audio_renderer.cpp" />
<ClCompile Include="$(SrcDir)audio_renderer_spectrum.cpp" />
<ClCompile Include="$(SrcDir)audio_renderer_waveform.cpp" />
<ClCompile Include="$(SrcDir)audio_timing_dialogue.cpp" />
<ClCompile Include="$(SrcDir)audio_timing_karaoke.cpp" />
<ClCompile Include="$(SrcDir)auto4_base.cpp" />
<ClCompile Include="$(SrcDir)auto4_lua.cpp" />
<ClCompile Include="$(SrcDir)auto4_lua_assfile.cpp" />
<ClCompile Include="$(SrcDir)auto4_lua_dialog.cpp" />
<ClCompile Include="$(SrcDir)auto4_lua_progresssink.cpp" />
<ClCompile Include="$(SrcDir)auto4_lua_scriptreader.cpp" />
<ClCompile Include="$(SrcDir)avisynth_wrap.cpp" />
<ClCompile Include="$(SrcDir)base_grid.cpp" />
<ClCompile Include="$(SrcDir)charset_conv.cpp" />
<ClCompile Include="$(SrcDir)charset_detect.cpp" />
<ClCompile Include="$(SrcDir)colorspace.cpp" />
<ClCompile Include="$(SrcDir)colour_button.cpp" />
<ClCompile Include="$(SrcDir)command\app.cpp" />
<ClCompile Include="$(SrcDir)command\audio.cpp" />
<ClCompile Include="$(SrcDir)command\automation.cpp" />
<ClCompile Include="$(SrcDir)command\command.cpp" />
<ClCompile Include="$(SrcDir)command\edit.cpp" />
<ClCompile Include="$(SrcDir)command\grid.cpp" />
<ClCompile Include="$(SrcDir)command\help.cpp" />
<ClCompile Include="$(SrcDir)command\icon.cpp" />
<ClCompile Include="$(SrcDir)command\keyframe.cpp" />
<ClCompile Include="$(SrcDir)command\recent.cpp" />
<ClCompile Include="$(SrcDir)command\subtitle.cpp" />
<ClCompile Include="$(SrcDir)command\time.cpp" />
<ClCompile Include="$(SrcDir)command\timecode.cpp" />
<ClCompile Include="$(SrcDir)command\tool.cpp" />
<ClCompile Include="$(SrcDir)command\video.cpp" />
<ClCompile Include="$(SrcDir)command\vis_tool.cpp" />
<ClCompile Include="$(SrcDir)compat.cpp" />
<ClCompile Include="$(SrcDir)dialog_about.cpp" />
<ClCompile Include="$(SrcDir)dialog_attachments.cpp" />
<ClCompile Include="$(SrcDir)dialog_automation.cpp" />
<ClCompile Include="$(SrcDir)dialog_colorpicker.cpp" />
<ClCompile Include="$(SrcDir)dialog_detached_video.cpp" />
<ClCompile Include="$(SrcDir)dialog_dummy_video.cpp" />
<ClCompile Include="$(SrcDir)dialog_export.cpp" />
<ClCompile Include="$(SrcDir)dialog_export_ebu3264.cpp" />
<ClCompile Include="$(SrcDir)dialog_fonts_collector.cpp" />
<ClCompile Include="$(SrcDir)dialog_jumpto.cpp" />
<ClCompile Include="$(SrcDir)dialog_kara_timing_copy.cpp" />
<ClCompile Include="$(SrcDir)dialog_log.cpp" />
<ClCompile Include="$(SrcDir)dialog_paste_over.cpp" />
<ClCompile Include="$(SrcDir)dialog_progress.cpp" />
<ClCompile Include="$(SrcDir)dialog_properties.cpp" />
<ClCompile Include="$(SrcDir)dialog_resample.cpp" />
<ClCompile Include="$(SrcDir)dialog_search_replace.cpp" />
<ClCompile Include="$(SrcDir)dialog_selected_choices.cpp" />
<ClCompile Include="$(SrcDir)dialog_selection.cpp" />
<ClCompile Include="$(SrcDir)dialog_shift_times.cpp" />
<ClCompile Include="$(SrcDir)dialog_spellchecker.cpp" />
<ClCompile Include="$(SrcDir)dialog_style_editor.cpp" />
<ClCompile Include="$(SrcDir)dialog_style_manager.cpp" />
<ClCompile Include="$(SrcDir)dialog_styling_assistant.cpp" />
<ClCompile Include="$(SrcDir)dialog_text_import.cpp" />
<ClCompile Include="$(SrcDir)dialog_timing_processor.cpp" />
<ClCompile Include="$(SrcDir)dialog_translation.cpp" />
<ClCompile Include="$(SrcDir)dialog_version_check.cpp" />
<ClCompile Include="$(SrcDir)dialog_video_details.cpp" />
<ClCompile Include="$(SrcDir)export_fixstyle.cpp" />
<ClCompile Include="$(SrcDir)export_framerate.cpp" />
<ClCompile Include="$(SrcDir)ffmpegsource_common.cpp" />
<ClCompile Include="$(SrcDir)fft.cpp" />
<ClCompile Include="$(SrcDir)font_file_lister.cpp" />
<ClCompile Include="$(SrcDir)font_file_lister_fontconfig.cpp" />
<ClCompile Include="$(SrcDir)font_file_lister_freetype.cpp" />
<ClCompile Include="$(SrcDir)frame_main.cpp" />
<ClCompile Include="$(SrcDir)gl_text.cpp" />
<ClCompile Include="$(SrcDir)gl_wrap.cpp" />
<ClCompile Include="$(SrcDir)help_button.cpp" />
<ClCompile Include="$(SrcDir)hotkey.cpp" />
<ClCompile Include="$(SrcDir)hotkey_data_view_model.cpp" />
<ClCompile Include="$(SrcDir)kana_table.cpp" />
<ClCompile Include="$(SrcDir)main.cpp" />
<ClCompile Include="$(SrcDir)MatroskaParser.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<ForcedIncludeFiles></ForcedIncludeFiles>
</ClCompile>
<ClCompile Include="$(SrcDir)md5.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<ForcedIncludeFiles></ForcedIncludeFiles>
</ClCompile>
<ClCompile Include="$(SrcDir)menu.cpp" />
<ClCompile Include="$(SrcDir)mkv_wrap.cpp" />
<ClCompile Include="$(SrcDir)pen.cpp" />
<ClCompile Include="$(SrcDir)persist_location.cpp" />
<ClCompile Include="$(SrcDir)plugin_manager.cpp" />
<ClCompile Include="$(SrcDir)preferences.cpp" />
<ClCompile Include="$(SrcDir)preferences_base.cpp" />
<ClCompile Include="$(SrcDir)scintilla_text_ctrl.cpp" />
<ClCompile Include="$(SrcDir)spellchecker.cpp" />
<ClCompile Include="$(SrcDir)spellchecker_hunspell.cpp" />
<ClCompile Include="$(SrcDir)spline.cpp" />
<ClCompile Include="$(SrcDir)spline_curve.cpp" />
<ClCompile Include="$(SrcDir)standard_paths.cpp" />
<ClCompile Include="$(SrcDir)string_codec.cpp" />
<ClCompile Include="$(SrcDir)subs_edit_box.cpp" />
<ClCompile Include="$(SrcDir)subs_edit_ctrl.cpp" />
<ClCompile Include="$(SrcDir)subs_grid.cpp" />
<ClCompile Include="$(SrcDir)subs_preview.cpp" />
<ClCompile Include="$(SrcDir)subtitles_provider.cpp" />
<ClCompile Include="$(SrcDir)subtitles_provider_csri.cpp" />
<ClCompile Include="$(SrcDir)subtitles_provider_libass.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format_ass.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format_ebu3264.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format_encore.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format_microdvd.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format_mkv.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format_srt.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format_transtation.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format_ttxt.cpp" />
<ClCompile Include="$(SrcDir)subtitle_format_txt.cpp" />
<ClCompile Include="$(SrcDir)text_file_reader.cpp" />
<ClCompile Include="$(SrcDir)text_file_writer.cpp" />
<ClCompile Include="$(SrcDir)thesaurus.cpp" />
<ClCompile Include="$(SrcDir)threaded_frame_source.cpp" />
<ClCompile Include="$(SrcDir)timeedit_ctrl.cpp" />
<ClCompile Include="$(SrcDir)toggle_bitmap.cpp" />
<ClCompile Include="$(SrcDir)toolbar.cpp" />
<ClCompile Include="$(SrcDir)tooltip_manager.cpp" />
<ClCompile Include="$(SrcDir)utils.cpp" />
<ClCompile Include="$(SrcDir)validators.cpp" />
<ClCompile Include="$(SrcDir)variable_data.cpp" />
<ClCompile Include="$(SrcDir)vector2d.cpp" />
<ClCompile Include="$(SrcDir)version.cpp" />
<ClCompile Include="$(SrcDir)video_box.cpp" />
<ClCompile Include="$(SrcDir)video_context.cpp" />
<ClCompile Include="$(SrcDir)video_display.cpp" />
<ClCompile Include="$(SrcDir)video_frame.cpp" />
<ClCompile Include="$(SrcDir)video_out_gl.cpp" />
<ClCompile Include="$(SrcDir)video_provider_avs.cpp" />
<ClCompile Include="$(SrcDir)video_provider_cache.cpp" />
<ClCompile Include="$(SrcDir)video_provider_dummy.cpp" />
<ClCompile Include="$(SrcDir)video_provider_ffmpegsource.cpp" />
<ClCompile Include="$(SrcDir)video_provider_manager.cpp" />
<ClCompile Include="$(SrcDir)video_provider_yuv4mpeg.cpp" />
<ClCompile Include="$(SrcDir)video_slider.cpp" />
<ClCompile Include="$(SrcDir)visual_feature.cpp" />
<ClCompile Include="$(SrcDir)visual_tool.cpp" />
<ClCompile Include="$(SrcDir)visual_tool_clip.cpp" />
<ClCompile Include="$(SrcDir)visual_tool_cross.cpp" />
<ClCompile Include="$(SrcDir)visual_tool_drag.cpp" />
<ClCompile Include="$(SrcDir)visual_tool_rotatexy.cpp" />
<ClCompile Include="$(SrcDir)visual_tool_rotatez.cpp" />
<ClCompile Include="$(SrcDir)visual_tool_scale.cpp" />
<ClCompile Include="$(SrcDir)visual_tool_vector_clip.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="$(SrcDir)res.rc" />
</ItemGroup>
</Project>

File diff suppressed because it is too large Load Diff

View File

@ -1,343 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2011 Niels Martin Hansen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Aegisub Group nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Aegisub Project http://www.aegisub.org/
$Id$
-->
<Rule Name="SubWCRev"
DisplayName="Aegisub"
Order="1"
PageTemplate="tool"
xmlns="http://schemas.microsoft.com/build/2009/properties">
<Rule.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</Rule.DataSource>
<Rule.Categories>
<Category Name="Features" DisplayName="Features" Description="Control features to build" />
<Category Name="Paths" DisplayName="Library paths" Description="Configure third-party library paths" />
<Category Name="BuildInfo" DisplayName="Build information" Description="Embed build information" />
</Rule.Categories>
<BoolProperty
Name="AegisubUseConfigWindowsH"
Category="Features"
DisplayName="Use config_windows.h"
Description="Specify whether to use config_windows.h or the configuration on this page to control features. The settings on this page still control automatic compiler and link settings for the features."
/>
<BoolProperty
Name="AegisubUseAutomationLua"
Category="Features"
DisplayName="Use Automation 4 Lua"
Description="Specify whether to include Automation 4 support and the Lua engine. This is included and requires no configuration."
/>
<BoolProperty
Name="AegisubUseDSound"
Category="Features"
DisplayName="Use DirectSound"
Description="Specify whether to use the DirectSound-based audio player. This requires the DirectX SDK installed."
/>
<StringProperty
Subtype="folder"
Name="DirectXSDKPath"
Category="Paths"
DisplayName="DirectX SDK root path"
Description="Location of DirectX SDK installation for DirectSound support, this is usually auto-detected."
/>
<BoolProperty
Name="AegisubUseAvisynth"
Category="Features"
DisplayName="Use Avisynth"
Description="Specify whether to support Avisynth for video and audio providers. This is experimental on x64."
/>
<BoolProperty
Name="AegisubUseFfms"
Category="Features"
DisplayName="Use FFmpegSource2"
Description="Specify whether to support FFmpegSource2 for video and audio providers. You may need to configure the location of the library on the Library paths page."
/>
<StringProperty
Subtype="folder"
Name="FFmpegSourceIncludePath"
Category="Paths"
DisplayName="FFmpegSource2 include path"
Description="Location of FFmpegSource2 include files"
/>
<StringProperty
Subtype="folder"
Name="FFmpegSourceLibraryPath"
Category="Paths"
DisplayName="FFmpegSource2 library path"
Description="Location of FFmpegSource2 library files"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="FFmpegSourceLibraryName"
Category="Paths"
DisplayName="FFmpegSource2 library name"
Description="Name of FFmpegSource2 library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<BoolProperty
Name="AegisubUseFreetype2"
Category="Features"
DisplayName="Use Freetype 2"
Description="Specify whether to use Freetype 2 for font enumeration in the Font Collector. You will need to configure the location of the Freetype 2 library on the Library paths page."
/>
<StringProperty
Subtype="folder"
Name="Ft2IncludePath"
Category="Paths"
DisplayName="Freetype 2 include path"
Description="Location of Freetype 2 include files"
/>
<StringProperty
Subtype="folder"
Name="Ft2LibraryPath"
Category="Paths"
DisplayName="Freetype 2 library path"
Description="Location of Freetype 2 library files"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="Ft2LibraryName"
Category="Paths"
DisplayName="Freetype 2 library name"
Description="Name of Freetype 2 library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<BoolProperty
Name="AegisubUseHunspell"
Category="Features"
DisplayName="Use Hunspell"
Description="Specify whether to use the Hunspell spell checker library. This is included and requires no configuration."
/>
<BoolProperty
Name="AegisubUseFftw"
Category="Features"
DisplayName="Use FFTW"
Description="Specify whether to use the FFTW fourier transformation library to speed up audio spectrum rendering. You will need to configure the location of the FFTW library on the Library paths page."
/>
<StringProperty
Subtype="folder"
Name="FftwIncludePath"
Category="Paths"
DisplayName="FFTW include path"
Description="Location of FFTW include files"
/>
<StringProperty
Subtype="folder"
Name="FftwLibraryPath"
Category="Paths"
DisplayName="FFTW library path"
Description="Location of FFTW library files"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="FftwLibraryName"
Category="Paths"
DisplayName="FFTW library name"
Description="Name of FFTW library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<BoolProperty
Name="AegisubUseLibass"
Category="Features"
DisplayName="Use libass"
Description="Specify whether to include support for the libass subtitle rendering library. You will need to configure the location of libass on the Library paths page."
/>
<StringProperty
Subtype="folder"
Name="LibassIncludePath"
Category="Paths"
DisplayName="libass include path"
Description="Location of libass include files"
/>
<StringProperty
Subtype="folder"
Name="LibassLibraryPath"
Category="Paths"
DisplayName="libass library path"
Description="Location of libass library files"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="LibassLibraryName"
Category="Paths"
DisplayName="libass library name"
Description="Name of libass library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<EnumProperty
Name="AegisubUseCsri"
DisplayName="Use CSRI subtitle renderer"
Description="Specify whether to include support for CSRI subtitle rendering. The included helper library dynamically loads CSRI renderers, while linking another library allows you to e.g. link VSFilter.dll directly."
Category="Features"
>
<EnumValue Name="HelperLibrary" DisplayName="Use included helper library" Description="Use the included helper library to dynamically load CSRI renderers." />
<EnumValue Name="External" DisplayName="Link other library" Description="Use another CSRI renderer" />
<EnumValue Name="false" DisplayName="No CSRI support" Description="Do not use CSRI" />
</EnumProperty>
<StringProperty
Subtype="folder"
Name="CsriLibraryPath"
Category="Paths"
DisplayName="External CSRI library path"
Description="Location of external CSRI library files, for when not using the CSRI helper library."
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="file"
Name="CsriLibraryName"
Category="Paths"
DisplayName="External CSRI library name"
Description="Name of external CSRI library, for when not using the CSRI helper library"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="true" />
</StringProperty.DataSource>
</StringProperty>
<EnumProperty
Name="AegisubSpecialBuild"
DisplayName="Special build"
Description="Make a special build of Aegisub, either enabling StartupLog to help end-users debug startup issues, or a Final Release whch displays version information differently."
Category="Features"
>
<EnumValue Name="false" DisplayName="Make a regular build" Description="A regular developer build is made" />
<EnumValue Name="StartupLog" DisplayName="Start-up logging" Description="Show messages during start-up to figure out where an error occurs" />
<EnumValue Name="FinalRelease" DisplayName="Final release" Description="Shows version information in a manner suited for stable releases for general distribution." />
</EnumProperty>
<StringProperty
Name="AegisubBuildCredit"
Category="BuildInfo"
DisplayName="Build credit"
Description="Name the build should be credited to. Appears in the about box, and in the title bar of development builds."
Default="Anonymous"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="false" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Name="SubWCRevExe"
Subtype="file"
Category="BuildInfo"
DisplayName="SubWCRev.exe"
Description="Location of the SubWCRev.exe file used to process SVN working copies. Changes to this setting are stored in user settings, not in the main project file."
Default="SubWCRev.exe"
>
<StringProperty.DataSource>
<DataSource Persistence="UserFile" ItemType="" HasConfigurationCondition="false" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Name="InputFile"
Subtype="file"
Category="BuildInfo"
DisplayName="Input file"
Description="Template file to insert data to."
ReadOnly="true"
>
<StringProperty.DataSource>
<DataSource Persistence="ProjectFile" ItemType="SubWCRev" HasConfigurationCondition="false" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Name="OutputFile"
Subtype="file"
Category="BuildInfo"
DisplayName="Output file"
Description="File to generate from the template file."
ReadOnly="true"
>
<StringProperty.DataSource>
<DataSource Persistence="ProjectFile" ItemType="SubWCRev" HasConfigurationCondition="false" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Name="Repository"
Subtype="folder"
Category="BuildInfo"
DisplayName="Working copy location"
Description="Location of SVN working copy to extract data from."
ReadOnly="true"
>
<StringProperty.DataSource>
<DataSource Persistence="ProjectFile" ItemType="SubWCRev" HasConfigurationCondition="false" />
</StringProperty.DataSource>
</StringProperty>
</Rule>

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_PropertySheetDisplayName>Standard Libraries</_PropertySheetDisplayName>
</PropertyGroup>
<ItemDefinitionGroup>
<Link>
<AdditionalDependencies>Vfw32.lib;comctl32.lib;rpcrt4.lib;winmm.lib;advapi32.lib;wsock32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>

View File

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Aegisub project</_PropertySheetDisplayName>
</PropertyGroup>
<!-- Base configuration for VC projects -->
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType Condition="'$(AegisubProjectType)'=='lib'">StaticLibrary</ConfigurationType>
<ConfigurationType Condition="'$(AegisubProjectType)'=='dll'">DynamicLibrary</ConfigurationType>
<ConfigurationType Condition="'$(AegisubProjectType)'=='exe'">Application</ConfigurationType>
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'" >true</UseDebugLibraries>
<UseDebugLibraries Condition="'$(Configuration)'=='Release'" >false</UseDebugLibraries>
<WholeProgramOptimization Condition="'$(Configuration)'=='Release'" >true</WholeProgramOptimization>
<CharacterSet >Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)userconfig\*.props" />
<Import Project="$(MSBuildThisFileDirectory)paths.props" />
<Import Project="$(MSBuildThisFileDirectory)Aegisub\standard-libraries.props" />
<Import Project="$(MSBuildThisFileDirectory)standard-settings.props" />
<Import Project="$(MSBuildThisFileDirectory)standard-outdirs.props" />
<Import Project="$(MSBuildThisFileDirectory)wx.props" Condition="'$(AegisubUseWxWidgets)' == 'true'" />
</ImportGroup>
<!-- The standard targets need to go last for all paths to be proper -->
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C832EAF3-860D-4373-A02C-933626B47A5E}</ProjectGuid>
<RootNamespace>csrihelper</RootNamespace>
</PropertyGroup>
<!-- Aegisub project configuration -->
<PropertyGroup Label="AegisubConfiguration">
<AegisubProjectType>lib</AegisubProjectType>
<SrcDir>..\..\..\..\contrib\csri\</SrcDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<!-- Project specific configuration -->
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>CSRI_NO_EXPORT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SrcDir)include\;$(SrcDir)lib\;$(SrcDir)lib\win32\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<!-- Source files -->
<ItemGroup>
<ClInclude Include="$(SrcDir)include\csri\csri.h" />
<ClInclude Include="$(SrcDir)include\csri\fmtids.h" />
<ClInclude Include="$(SrcDir)include\csri\logging.h" />
<ClInclude Include="$(SrcDir)include\csri\openerr.h" />
<ClInclude Include="$(SrcDir)include\csri\stream.h" />
<ClInclude Include="$(SrcDir)include\subhelp.h" />
<ClInclude Include="$(SrcDir)include\visibility.h" />
<ClInclude Include="$(SrcDir)lib\csrilib.h" />
<ClInclude Include="$(SrcDir)lib\win32\csrilib_os.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)lib\list.c" />
<ClCompile Include="$(SrcDir)lib\win32\enumerate.c" />
<ClCompile Include="$(SrcDir)lib\wrap.c" />
<ClCompile Include="$(SrcDir)subhelp\logging.c" />
<ClCompile Include="$(SrcDir)subhelp\win32\openfile.c" />
</ItemGroup>
</Project>

View File

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\contrib\csri\include\subhelp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\csri\include\visibility.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\csri\include\csri\csri.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\csri\include\csri\fmtids.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\csri\include\csri\logging.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\csri\include\csri\openerr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\csri\include\csri\stream.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\csri\lib\csrilib.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\csri\lib\win32\csrilib_os.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\contrib\csri\lib\list.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\contrib\csri\lib\wrap.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\contrib\csri\lib\win32\enumerate.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\contrib\csri\subhelp\logging.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\contrib\csri\subhelp\win32\openfile.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,84 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{CC791693-6B28-40AC-879D-64A6C16468E3}</ProjectGuid>
<RootNamespace>hunspell</RootNamespace>
</PropertyGroup>
<!-- Aegisub project configuration -->
<PropertyGroup Label="AegisubConfiguration">
<AegisubProjectType>lib</AegisubProjectType>
<SrcDir>..\..\..\..\contrib\hunspell\src\</SrcDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<!-- Project specific configuration -->
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>HUNSPELL_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SrcDir)win_api;$(SrcDir)hunspell;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<!-- Source files -->
<ItemGroup>
<ClInclude Include="$(SrcDir)hunspell\affentry.hxx" />
<ClInclude Include="$(SrcDir)hunspell\affixmgr.hxx" />
<ClInclude Include="$(SrcDir)hunspell\atypes.hxx" />
<ClInclude Include="$(SrcDir)hunspell\baseaffix.hxx" />
<ClInclude Include="$(SrcDir)hunspell\csutil.hxx" />
<ClInclude Include="$(SrcDir)hunspell\dictmgr.hxx" />
<ClInclude Include="$(SrcDir)hunspell\hashmgr.hxx" />
<ClInclude Include="$(SrcDir)hunspell\htypes.hxx" />
<ClInclude Include="$(SrcDir)hunspell\hunspell.h" />
<ClInclude Include="$(SrcDir)hunspell\hunspell.hxx" />
<ClInclude Include="$(SrcDir)hunspell\langnum.hxx" />
<ClInclude Include="$(SrcDir)hunspell\phonet.hxx" />
<ClInclude Include="$(SrcDir)hunspell\suggestmgr.hxx" />
<ClInclude Include="$(SrcDir)parsers\firstparser.hxx" />
<ClInclude Include="$(SrcDir)parsers\htmlparser.hxx" />
<ClInclude Include="$(SrcDir)parsers\latexparser.hxx" />
<ClInclude Include="$(SrcDir)parsers\manparser.hxx" />
<ClInclude Include="$(SrcDir)parsers\textparser.hxx" />
<ClInclude Include="$(SrcDir)win_api\config.h" />
<ClInclude Include="$(SrcDir)win_api\hunspelldll.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)hunspell\affentry.cxx" />
<ClCompile Include="$(SrcDir)hunspell\affixmgr.cxx" />
<ClCompile Include="$(SrcDir)hunspell\csutil.cxx" />
<ClCompile Include="$(SrcDir)hunspell\dictmgr.cxx" />
<ClCompile Include="$(SrcDir)hunspell\hashmgr.cxx" />
<ClCompile Include="$(SrcDir)hunspell\hunspell.cxx" />
<ClCompile Include="$(SrcDir)hunspell\phonet.cxx" />
<ClCompile Include="$(SrcDir)hunspell\suggestmgr.cxx" />
<ClCompile Include="$(SrcDir)parsers\firstparser.cxx" />
<ClCompile Include="$(SrcDir)parsers\htmlparser.cxx" />
<ClCompile Include="$(SrcDir)parsers\latexparser.cxx" />
<ClCompile Include="$(SrcDir)parsers\manparser.cxx" />
<ClCompile Include="$(SrcDir)parsers\testparser.cxx" />
<ClCompile Include="$(SrcDir)parsers\textparser.cxx" />
<ClCompile Include="$(SrcDir)win_api\hunspelldll.c">
<!-- Why is this file named .c when it's obviously C++ code -->
<CompileAs>CompileAsCpp</CompileAs>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(SrcDir)hunspell\affixmgr.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\atypes.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\baseaffix.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\csutil.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\dictmgr.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\hashmgr.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\htypes.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\hunspell.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\hunspell.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\langnum.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\phonet.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\suggestmgr.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)parsers\firstparser.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)parsers\htmlparser.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)parsers\latexparser.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)parsers\manparser.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)parsers\textparser.hxx">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)win_api\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)win_api\hunspelldll.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)hunspell\affentry.hxx">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)hunspell\affentry.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)hunspell\affixmgr.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)hunspell\csutil.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)hunspell\dictmgr.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)hunspell\hashmgr.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)hunspell\hunspell.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)hunspell\phonet.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)hunspell\suggestmgr.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)parsers\firstparser.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)parsers\htmlparser.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)parsers\latexparser.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)parsers\manparser.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)parsers\testparser.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)parsers\textparser.cxx">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)win_api\hunspelldll.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,116 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{BB3FED86-DB7A-4DC7-964A-260FB86CDE61}</ProjectGuid>
<RootNamespace>libaegisub</RootNamespace>
</PropertyGroup>
<!-- Aegisub project configuration -->
<PropertyGroup Label="AegisubConfiguration">
<AegisubProjectType>lib</AegisubProjectType>
<SrcDir>..\..\..\libaegisub\</SrcDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<!-- Project specific configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(SrcDir);$(SrcDir)include;$(AegisubContribBase)iconv\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>lagi_pre.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>lagi_pre.h</ForcedIncludeFiles>
</ClCompile>
</ItemDefinitionGroup>
<!-- Source files -->
<ItemGroup>
<ClInclude Include="$(SrcDir)lagi_pre.h" />
<ClInclude Include="$(SrcDir)config.h" />
<ClInclude Include="$(SrcDir)common\charset_6937.h" />
<ClInclude Include="$(SrcDir)common\charset_ucd.h" />
<ClInclude Include="$(SrcDir)common\option_visit.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\access.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\charset.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\charset_conv.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\charset_conv_win.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\colour.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\exception.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\hotkey.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\io.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\json.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\keyframe.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\line_iterator.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\line_wrap.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\log.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\mru.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\option.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\option_value.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\path.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\scoped_ptr.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\signal.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\thesaurus.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\types.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\util.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\util_osx.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\util_win.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\validator.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\vfr.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\cajun\elements.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\cajun\reader.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\cajun\visitor.h" />
<ClInclude Include="$(SrcDir)include\libaegisub\cajun\writer.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)windows\lagi_pre.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
<PrecompiledHeaderFile>lagi_pre.h</PrecompiledHeaderFile>
</ClCompile>
<ClCompile Include="$(SrcDir)common\cajun\elements.cpp" />
<ClCompile Include="$(SrcDir)common\cajun\reader.cpp" />
<ClCompile Include="$(SrcDir)common\cajun\writer.cpp" />
<ClCompile Include="$(SrcDir)common\charset.cpp" />
<ClCompile Include="$(SrcDir)common\charset_6937.cpp" />
<ClCompile Include="$(SrcDir)common\charset_conv.cpp" />
<ClCompile Include="$(SrcDir)common\charset_ucd.cpp" />
<ClCompile Include="$(SrcDir)common\hotkey.cpp" />
<ClCompile Include="$(SrcDir)common\json.cpp" />
<ClCompile Include="$(SrcDir)common\keyframe.cpp" />
<ClCompile Include="$(SrcDir)common\log.cpp" />
<ClCompile Include="$(SrcDir)common\mru.cpp" />
<ClCompile Include="$(SrcDir)common\option.cpp" />
<ClCompile Include="$(SrcDir)common\option_visit.cpp" />
<ClCompile Include="$(SrcDir)common\path.cpp" />
<ClCompile Include="$(SrcDir)common\thesaurus.cpp" />
<ClCompile Include="$(SrcDir)common\util.cpp" />
<ClCompile Include="$(SrcDir)common\validator.cpp" />
<ClCompile Include="$(SrcDir)common\vfr.cpp" />
<ClCompile Include="$(SrcDir)windows\access.cpp" />
<ClCompile Include="$(SrcDir)windows\charset_conv_win.cpp" />
<ClCompile Include="$(SrcDir)windows\io.cpp" />
<ClCompile Include="$(SrcDir)windows\log_win.cpp" />
<ClCompile Include="$(SrcDir)windows\path_win.cpp" />
<ClCompile Include="$(SrcDir)windows\util_win.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="$(SrcDir)include\libaegisub\charsets.def" />
</ItemGroup>
</Project>

View File

@ -1,217 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Source Files\Common">
<UniqueIdentifier>{4084442f-51e9-4c31-8d5a-c825e076c012}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Windows">
<UniqueIdentifier>{5af331b5-ea1f-493f-abf9-f5912e2350df}</UniqueIdentifier>
</Filter>
<Filter Include="cajun">
<UniqueIdentifier>{1d2e187a-1681-4c30-8912-a4b5a5d0ab9d}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(SrcDir)common\charset_6937.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)common\charset_ucd.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)common\option_visit.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\access.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\charset.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\charset_conv.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\charset_conv_win.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\colour.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\exception.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\io.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\line_iterator.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\line_wrap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\log.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\mru.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\option.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\option_value.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\path.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\scoped_ptr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\thesaurus.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\util.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\util_osx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\util_win.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\validator.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\vfr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lagi_pre.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\cajun\writer.h">
<Filter>cajun</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\cajun\visitor.h">
<Filter>cajun</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\cajun\elements.h">
<Filter>cajun</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\cajun\reader.h">
<Filter>cajun</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\hotkey.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\json.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\keyframe.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)include\libaegisub\signal.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)windows\lagi_pre.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)windows\access.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\charset.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\charset_6937.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\charset_conv.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)windows\charset_conv_win.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\charset_ucd.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)windows\io.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)windows\log_win.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\log.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)windows\log_win.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\mru.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\option.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\option_visit.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\path.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\thesaurus.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)windows\util_win.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\validator.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\vfr.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\json.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\hotkey.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\keyframe.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)windows\path_win.cpp">
<Filter>Source Files\Windows</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\util.cpp">
<Filter>Source Files\Common</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\cajun\elements.cpp">
<Filter>cajun</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\cajun\reader.cpp">
<Filter>cajun</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)common\cajun\writer.cpp">
<Filter>cajun</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="$(SrcDir)include\libaegisub\charsets.def">
<Filter>Header Files</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -1,54 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{965054D2-44F2-4EB2-9879-051CC3D7EF08}</ProjectGuid>
<RootNamespace>libiconv</RootNamespace>
</PropertyGroup>
<!-- Aegisub project configuration -->
<PropertyGroup Label="AegisubConfiguration">
<AegisubProjectType>lib</AegisubProjectType>
<SrcDir>..\..\..\..\contrib\iconv\</SrcDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<!-- Project specific configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(SrcDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
</ItemDefinitionGroup>
<!-- Source files -->
<ItemGroup>
<ClInclude Include="$(SrcDir)include\iconv.h" />
<ClInclude Include="$(SrcDir)include\libcharset.h" />
<ClInclude Include="$(SrcDir)include\localcharset.h" />
<ClInclude Include="$(SrcDir)libcharset\config.h" />
<ClInclude Include="$(SrcDir)libiconv\config.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)libcharset\localcharset.c" />
<ClCompile Include="$(SrcDir)libiconv\iconv.c" />
</ItemGroup>
</Project>

View File

@ -1,696 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_aix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_aix_sysaix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_dos.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_extra.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_osf1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_osf1_sysosf1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_sysaix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_syshpux.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_sysosf1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases_syssolaris.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\aliases2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\armscii_8.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ascii.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\atarist.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\big5.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\big5_2003.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\big5hkscs1999.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\big5hkscs2001.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\big5hkscs2004.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\c99.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_aix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_aix_sysaix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_dos.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_extra.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_local.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_local_sysaix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_local_syshpux.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_local_sysosf1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_local_syssolaris.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_osf1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_osf1_sysosf1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_sysaix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_syshpux.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_sysosf1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\canonical_syssolaris.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ces_big5.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ces_gbk.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cjk_variants.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_3.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_4.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_4a.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_4b.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_5.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_6.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_7.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_15.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cns11643_inv.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\converters.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp437.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp737.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp775.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp850.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp852.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp853.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp855.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp856.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp857.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp858.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp860.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp861.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp862.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp863.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp864.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp865.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp866.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp869.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp874.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp922.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp932.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp932ext.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp936.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp936ext.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp943.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp949.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp950.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp950ext.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1046.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1124.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1125.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1129.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1131.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1133.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1161.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1162.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1163.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1250.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1251.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1252.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1253.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1254.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1255.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1256.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1257.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\cp1258.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\dec_hanyu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\dec_kanji.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\euc_cn.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\euc_jisx0213.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\euc_jp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\euc_kr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\euc_tw.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\flags.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\flushwc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gb2312.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gb12345.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gb12345ext.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gb18030.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gb18030ext.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gb18030uni.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gbk.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gbkext_inv.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gbkext1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\gbkext2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\georgian_academy.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\georgian_ps.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\hkscs1999.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\hkscs2001.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\hkscs2004.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\hp_roman8.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\hz.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iconv_open1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iconv_open2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso646_cn.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso646_jp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso2022_cn.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso2022_cnext.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso2022_jp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso2022_jp1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso2022_jp2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso2022_jp3.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso2022_kr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_3.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_4.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_5.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_6.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_7.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_8.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_9.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_10.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_11.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_13.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_14.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_15.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\iso8859_16.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\isoir165.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\isoir165ext.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\java.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\jisx0201.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\jisx0208.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\jisx0212.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\jisx0213.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\johab.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\johab_hangul.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\koi8_r.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\koi8_ru.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\koi8_t.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\koi8_u.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ksc5601.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\libcharset.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\localcharset.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\loop_unicode.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\loop_wchar.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\loops.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_arabic.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_centraleurope.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_croatian.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_cyrillic.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_greek.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_hebrew.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_iceland.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_roman.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_romania.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_thai.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_turkish.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mac_ukraine.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\mulelao.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\nextstep.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\pt154.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\relocatable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\riscos1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\rk1048.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\shift_jisx0213.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\sjis.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\tcvn.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\tds565.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\tis620.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\translit.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs2be.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs2internal.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs2le.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs2swapped.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs4.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs4be.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs4internal.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs4le.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\ucs4swapped.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\uhc_1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\uhc_2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\utf7.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\utf8.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\utf16.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\utf16be.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\utf16le.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\utf32.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\utf32be.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\utf32le.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\vietcomb.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libiconv\viscii.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libcharset\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\libcharset\relocatable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\include\iconv.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\include\libcharset.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\include\localcharset.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\contrib\iconv\include\stdbool.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\contrib\iconv\libiconv\iconv.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\contrib\iconv\libcharset\localcharset.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,64 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{BD00D65F-24DA-4784-8860-3B972EA125FC}</ProjectGuid>
<RootNamespace>libresrc</RootNamespace>
</PropertyGroup>
<!-- Aegisub project configuration -->
<PropertyGroup Label="AegisubConfiguration">
<AegisubProjectType>lib</AegisubProjectType>
<AegisubUseWxWidgets>true</AegisubUseWxWidgets>
<SrcDir>..\..\..\src\libresrc\</SrcDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<!-- Project specific configuration -->
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ResPack>
<OutputDir>$(MSBuildThisFileDirectory)..\..\..\src\libresrc\</OutputDir>
</ResPack>
</ItemDefinitionGroup>
<ImportGroup Label="ExtensionTargets">
<Import Project="$(MSBuildThisFileDirectory)..\respack\Aegisub.ResPack.targets" />
</ImportGroup>
<!-- Source files -->
<ItemGroup>
<ResPack Include="..\..\..\src\libresrc\manifest.respack">
<OutputName>default_config.cpp</OutputName>
<OutputHeader>default_config.h</OutputHeader>
</ResPack>
<ResPack Include="..\..\..\src\bitmaps\manifest.respack">
<OutputName>bitmap.cpp</OutputName>
<OutputHeader>bitmap.h</OutputHeader>
</ResPack>
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)libresrc.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(SrcDir)libresrc.h" />
</ItemGroup>
</Project>

View File

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ResPack Include="..\..\..\src\libresrc\manifest.respack">
<Filter>Resource Files</Filter>
</ResPack>
<ResPack Include="..\..\..\src\bitmaps\manifest.respack">
<Filter>Resource Files</Filter>
</ResPack>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\libresrc\bitmap.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\libresrc\default_config.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\libresrc\libresrc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\libresrc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\libresrc\default_config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\libresrc\libresrc.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -1,98 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{5391A8B1-9C70-4DC4-92AD-D3E34C6B803F}</ProjectGuid>
<RootNamespace>lua51</RootNamespace>
</PropertyGroup>
<!-- Aegisub project configuration -->
<PropertyGroup Label="AegisubConfiguration">
<AegisubProjectType>dll</AegisubProjectType>
<SrcDir>..\..\..\..\contrib\lua51\src\</SrcDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<!-- Project specific configuration -->
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>LUA_BUILD_AS_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAs>CompileAsCpp</CompileAs> <!-- We want to build Lua as C++ to get C++ name mangling -->
</ClCompile>
</ItemDefinitionGroup>
<!-- Source files -->
<ItemGroup>
<ClCompile Include="$(SrcDir)lapi.c" />
<ClCompile Include="$(SrcDir)lauxlib.c" />
<ClCompile Include="$(SrcDir)lbaselib.c" />
<ClCompile Include="$(SrcDir)lcode.c" />
<ClCompile Include="$(SrcDir)ldblib.c" />
<ClCompile Include="$(SrcDir)ldebug.c" />
<ClCompile Include="$(SrcDir)ldo.c" />
<ClCompile Include="$(SrcDir)ldump.c" />
<ClCompile Include="$(SrcDir)lfunc.c" />
<ClCompile Include="$(SrcDir)lgc.c" />
<ClCompile Include="$(SrcDir)linit.c" />
<ClCompile Include="$(SrcDir)liolib.c" />
<ClCompile Include="$(SrcDir)llex.c" />
<ClCompile Include="$(SrcDir)lmathlib.c" />
<ClCompile Include="$(SrcDir)lmem.c" />
<ClCompile Include="$(SrcDir)loadlib.c" />
<ClCompile Include="$(SrcDir)lobject.c" />
<ClCompile Include="$(SrcDir)lopcodes.c" />
<ClCompile Include="$(SrcDir)loslib.c" />
<ClCompile Include="$(SrcDir)lparser.c" />
<ClCompile Include="$(SrcDir)lstate.c" />
<ClCompile Include="$(SrcDir)lstring.c" />
<ClCompile Include="$(SrcDir)lstrlib.c" />
<ClCompile Include="$(SrcDir)ltable.c" />
<ClCompile Include="$(SrcDir)ltablib.c" />
<ClCompile Include="$(SrcDir)ltm.c" />
<ClCompile Include="$(SrcDir)lundump.c" />
<ClCompile Include="$(SrcDir)lvm.c" />
<ClCompile Include="$(SrcDir)lzio.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(SrcDir)lapi.h" />
<ClInclude Include="$(SrcDir)lauxlib.h" />
<ClInclude Include="$(SrcDir)lcode.h" />
<ClInclude Include="$(SrcDir)ldebug.h" />
<ClInclude Include="$(SrcDir)ldo.h" />
<ClInclude Include="$(SrcDir)lfunc.h" />
<ClInclude Include="$(SrcDir)lgc.h" />
<ClInclude Include="$(SrcDir)llex.h" />
<ClInclude Include="$(SrcDir)llimits.h" />
<ClInclude Include="$(SrcDir)lmem.h" />
<ClInclude Include="$(SrcDir)lobject.h" />
<ClInclude Include="$(SrcDir)lopcodes.h" />
<ClInclude Include="$(SrcDir)lparser.h" />
<ClInclude Include="$(SrcDir)lstate.h" />
<ClInclude Include="$(SrcDir)lstring.h" />
<ClInclude Include="$(SrcDir)ltable.h" />
<ClInclude Include="$(SrcDir)ltm.h" />
<ClInclude Include="$(SrcDir)lua.h" />
<ClInclude Include="$(SrcDir)luaconf.h" />
<ClInclude Include="$(SrcDir)lualib.h" />
<ClInclude Include="$(SrcDir)lundump.h" />
<ClInclude Include="$(SrcDir)lvm.h" />
<ClInclude Include="$(SrcDir)lzio.h" />
</ItemGroup>
</Project>

View File

@ -1,177 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Internal headers">
<UniqueIdentifier>{dfbe0704-0805-42a9-b221-0eb02d38e473}</UniqueIdentifier>
</Filter>
<Filter Include="Headers">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
</Filter>
<Filter Include="Core">
<UniqueIdentifier>{46f51bca-6fac-4e83-b18b-5e8145f11f3c}</UniqueIdentifier>
</Filter>
<Filter Include="Standard library">
<UniqueIdentifier>{947aec3e-b05b-404f-bd0d-27dfec92f4d0}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)lapi.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lcode.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)ldo.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)ldump.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lfunc.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lgc.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)linit.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)llex.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lmem.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lobject.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lopcodes.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lparser.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lstate.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lstring.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)ldebug.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)ltable.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)ltm.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lundump.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lvm.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lzio.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lbaselib.c">
<Filter>Standard library</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)ltablib.c">
<Filter>Standard library</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)ldblib.c">
<Filter>Standard library</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)liolib.c">
<Filter>Standard library</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lmathlib.c">
<Filter>Standard library</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)loslib.c">
<Filter>Standard library</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lstrlib.c">
<Filter>Standard library</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)loadlib.c">
<Filter>Core</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)lauxlib.c">
<Filter>Standard library</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(SrcDir)lauxlib.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lua.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)luaconf.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lualib.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lapi.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lcode.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)ldebug.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)ldo.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lfunc.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lgc.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)llex.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)llimits.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lmem.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lobject.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lopcodes.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lparser.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lstring.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lstate.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)ltable.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)ltm.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lundump.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lvm.h">
<Filter>Internal headers</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)lzio.h">
<Filter>Internal headers</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Path definitions</_PropertySheetDisplayName>
</PropertyGroup>
<PropertyGroup>
<!-- Base for Aegisub source code -->
<AegisubSourceBase Condition="'$(AegisubSourceBase)'==''">$(MSBuildThisFileDirectory)..\..\</AegisubSourceBase>
<!-- Base for contrib libraries source code -->
<AegisubContribBase Condition="'$(AegisubContribBase)'==''">$(AegisubSourceBase)..\contrib\</AegisubContribBase>
<!-- Base for built files -->
<AegisubOutputBase Condition="'$(AegisubOutputBase)'==''">$(SolutionDir)</AegisubOutputBase>
<!-- Directory for built executables -->
<AegisubBinaryDir Condition="'$(AegisubBinaryDir)'==''">$(AegisubOutputBase)bin\</AegisubBinaryDir>
<!-- Directory for built static libraries and link libraries -->
<AegisubLibraryDir Condition="'$(AegisubLibraryDir)'==''">$(AegisubOutputBase)lib\$(Platform)\$(Configuration)\</AegisubLibraryDir>
<!-- Directory for built object files, intentionally using flat structure -->
<AegisubObjectDir Condition="'$(AegisubObjectDir)'==''">$(AegisubOutputBase)obj\$(ProjectName)-$(Platform)-$(Configuration)\</AegisubObjectDir>
<!-- Platform/configuration suffix for binaries -->
<AegisubPlatformSuffix Condition="'$(Configuration)'=='Debug'">$(PlatformArchitecture)d</AegisubPlatformSuffix>
<AegisubPlatformSuffix Condition="'$(Configuration)'=='Release'">$(PlatformArchitecture)</AegisubPlatformSuffix>
<AegisubPlatformSuffix Condition="'$(AegisubPlatformSuffix)'==''">(unk)</AegisubPlatformSuffix> <!-- fallback -->
</PropertyGroup>
</Project>

View File

@ -1,49 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2011 Niels Martin Hansen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Aegisub Group nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Aegisub Project http://www.aegisub.org/
$Id$
-->
<ProjectSchemaDefinitions
xmlns="http://schemas.microsoft.com/build/2009/properties">
<ContentType
Name="ResPackManifest"
DisplayName="ResPack manifest"
ItemType="ResPack">
</ContentType>
<ItemType Name="ResPack" DisplayName="Aegisub resource packer"/>
<FileExtension Name=".respack" ContentType="Text"/>
</ProjectSchemaDefinitions>

View File

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2011 Niels Martin Hansen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Aegisub Group nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Aegisub Project http://www.aegisub.org/
$Id$
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ResPackExe Condition="'$(ResPackExe)' == ''">$(MSBuildThisFileDirectory)respack.exe</ResPackExe>
</PropertyGroup>
<Target
Name="ResPackGenerate"
BeforeTargets="ClCompile"
DependsOnTargets="PrepareForBuild"
Condition="'@(ResPack)' != ''"
Inputs="@(ResPack)"
Outputs="%(ResPack.OutputDir)%(ResPack.OutputName);%(ResPack.OutputDir)%(Respack.OutputHeader')"
>
<Error
Condition="!Exists('$(ResPackExe)')"
Text="The respack.exe program was not found, make sure it has been built and is at this location: $(ResPackExe)"
/>
<Exec
Command="$(ResPackExe) &quot;@(ResPack -> '%(FullPath)')&quot; &quot;%(ResPack.OutputDir)%(ResPack.OutputName)&quot; &quot;%(ResPack.OutputDir)%(ResPack.OutputHeader)&quot;"
Outputs="%(ResPack.OutputName);%(ResPack.OutputHeader)"
WorkingDirectory="@(ResPack -> '%(RootDir)%(Directory)')"
/>
</Target>
<Target
Name="ResPack"
BeforeTargets="ClCompile"
DependsOnTargets="ResPackGenerate"
Condition="'@(ResPack)' != ''"
Inputs="@(ResPack)"
Outputs="%(ResPack.OutputDir)%(ResPack.OutputName);%(ResPack.OutputDir)%(Respack.OutputHeader')"
>
<ItemGroup>
<ClCompile Include="%(ResPack.OutputDir)%(ResPack.OutputName)" />
</ItemGroup>
</Target>
<ItemGroup>
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)Aegisub.ResPack.ProjectItems.xml" />
<PropertyPageSchema Include="$(MSBuildThisFileDirectory)Aegisub.ResPack.xml" />
<ProjectTools Include="ResPack" />
<AvailableItemName Include="ResPack">
<Targets>ResPack</Targets>
</AvailableItemName>
</ItemGroup>
</Project>

View File

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2011 Niels Martin Hansen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Aegisub Group nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Aegisub Project http://www.aegisub.org/
$Id$
-->
<Rule Name="ResPack"
DisplayName="Aegisub resource packer"
Order="15"
PageTemplate="tool"
xmlns="http://schemas.microsoft.com/build/2009/properties">
<Rule.Categories>
<Category Name="General" DisplayName="General" Description="General" />
</Rule.Categories>
<Rule.DataSource>
<DataSource Persistence="ProjectFile" ItemType="ResPack" HasConfigurationCondition="false" />
</Rule.DataSource>
<StringProperty
Name="OutputDir"
Category="General"
DisplayName="Output directory"
Description="Directory the source and header files will be output to."
/>
<StringProperty
Name="OutputName"
Category="General"
DisplayName="Output source file"
Description="Name (without path) of source file produced from the resource manufest."
/>
<StringProperty
Name="OutputHeader"
Category="General"
DisplayName="Output header file"
Description="Name (without path) of header file produced from the resource manifest."
/>
</Rule>

View File

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{08AF2BCC-FCDD-4F0E-8B41-59A6E634F2E8}</ProjectGuid>
<RootNamespace>respack</RootNamespace>
</PropertyGroup>
<!-- Aegisub project configuration -->
<PropertyGroup Label="AegisubConfiguration">
<AegisubProjectType>exe</AegisubProjectType>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<!-- Project specific configuration -->
<PropertyGroup>
<OutDir>$(ProjectDir)</OutDir>
<TargetName>respack</TargetName>
<TargetName Condition="'$(Platform)'=='x64'">%(TargetName)64</TargetName>
<TargetName Condition="'$(Configuration)'=='Debug'">%(TargetName)d</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<!-- Source file -->
<ItemGroup>
<ClCompile Include="..\..\..\tools\common-respack.cpp" />
</ItemGroup>
</Project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="..\..\..\tools\common-respack.cpp" />
</ItemGroup>
</Project>

View File

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Output directories</_PropertySheetDisplayName>
</PropertyGroup>
<PropertyGroup>
<OutDir Condition="'$(ConfigurationType)'=='DynamicLibrary'">$(AegisubBinaryDir)</OutDir>
<OutDir Condition="'$(ConfigurationType)'=='Application'">$(AegisubBinaryDir)</OutDir>
<OutDir Condition="'$(ConfigurationType)'=='StaticLibrary'">$(AegisubLibraryDir)</OutDir>
<IntDir>$(AegisubObjectDir)</IntDir>
<TargetName Condition="'$(ConfigurationType)'=='DynamicLibrary'">$(ProjectName)_$(AegisubPlatformSuffix)</TargetName>
<TargetName Condition="'$(ConfigurationType)'=='Application'">$(ProjectName)$(AegisubPlatformSuffix)</TargetName>
<TargetName Condition="'$(ConfigurationType)'=='StaticLibrary'">$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<ObjectFileName>$(IntDir)</ObjectFileName>
</ClCompile>
<Link>
<OutputFile>$(AegisubBinaryDir)$(TargetName)$(TargetExt)</OutputFile>
<ProgramDatabaseFile>$(AegisubBinaryDir)$(TargetName).pdb</ProgramDatabaseFile>
<ImportLibrary>$(AegisubLibraryDir)$(ProjectName).lib</ImportLibrary>
</Link>
<Lib>
<OutputFile>$(AegisubLibraryDir)$(ProjectName).lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
</Project>

View File

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>Compiler settings</_PropertySheetDisplayName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<LargeAddressAware>true</LargeAddressAware>
<TerminalServerAware Condition="'$(ConfigurationType'=='Application'">true</TerminalServerAware>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@ -1,97 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- VC boilerplate -->
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{7B56955D-5162-4698-AA5B-47484EDC8783}</ProjectGuid>
<RootNamespace>universalchardet</RootNamespace>
</PropertyGroup>
<!-- Aegisub project configuration -->
<PropertyGroup Label="AegisubConfiguration">
<AegisubProjectType>lib</AegisubProjectType>
<SrcDir>..\..\..\universalchardet\</SrcDir>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<!-- Source files -->
<ItemGroup>
<None Include="$(SrcDir)Big5Freq.tab" />
<None Include="$(SrcDir)EUCKRFreq.tab" />
<None Include="$(SrcDir)EUCTWFreq.tab" />
<None Include="$(SrcDir)GB2312Freq.tab" />
<None Include="$(SrcDir)JISFreq.tab" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)CharDistribution.cpp" />
<ClCompile Include="$(SrcDir)JpCntx.cpp" />
<ClCompile Include="$(SrcDir)LangBulgarianModel.cpp" />
<ClCompile Include="$(SrcDir)LangCyrillicModel.cpp" />
<ClCompile Include="$(SrcDir)LangGreekModel.cpp" />
<ClCompile Include="$(SrcDir)LangHebrewModel.cpp" />
<ClCompile Include="$(SrcDir)LangHungarianModel.cpp" />
<ClCompile Include="$(SrcDir)LangThaiModel.cpp" />
<ClCompile Include="$(SrcDir)nsBig5Prober.cpp" />
<ClCompile Include="$(SrcDir)nsCharSetProber.cpp" />
<ClCompile Include="$(SrcDir)nsEscCharsetProber.cpp" />
<ClCompile Include="$(SrcDir)nsEscSM.cpp" />
<ClCompile Include="$(SrcDir)nsEUCJPProber.cpp" />
<ClCompile Include="$(SrcDir)nsEUCKRProber.cpp" />
<ClCompile Include="$(SrcDir)nsEUCTWProber.cpp" />
<ClCompile Include="$(SrcDir)nsGB2312Prober.cpp" />
<ClCompile Include="$(SrcDir)nsHebrewProber.cpp" />
<ClCompile Include="$(SrcDir)nsLatin1Prober.cpp" />
<ClCompile Include="$(SrcDir)nsMBCSGroupProber.cpp" />
<ClCompile Include="$(SrcDir)nsMBCSSM.cpp" />
<ClCompile Include="$(SrcDir)nsSBCharSetProber.cpp" />
<ClCompile Include="$(SrcDir)nsSBCSGroupProber.cpp" />
<ClCompile Include="$(SrcDir)nsSJISProber.cpp" />
<ClCompile Include="$(SrcDir)nsUniversalDetector.cpp" />
<ClCompile Include="$(SrcDir)nsUTF8Prober.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(SrcDir)CharDistribution.h" />
<ClInclude Include="$(SrcDir)JpCntx.h" />
<ClInclude Include="$(SrcDir)nsBig5Prober.h" />
<ClInclude Include="$(SrcDir)nsCharSetProber.h" />
<ClInclude Include="$(SrcDir)nsCodingStateMachine.h" />
<ClInclude Include="$(SrcDir)nscore.h" />
<ClInclude Include="$(SrcDir)nsError.h" />
<ClInclude Include="$(SrcDir)nsEscCharsetProber.h" />
<ClInclude Include="$(SrcDir)nsEUCJPProber.h" />
<ClInclude Include="$(SrcDir)nsEUCKRProber.h" />
<ClInclude Include="$(SrcDir)nsEUCTWProber.h" />
<ClInclude Include="$(SrcDir)nsGB2312Prober.h" />
<ClInclude Include="$(SrcDir)nsHebrewProber.h" />
<ClInclude Include="$(SrcDir)nsLatin1Prober.h" />
<ClInclude Include="$(SrcDir)nsMBCSGroupProber.h" />
<ClInclude Include="$(SrcDir)nsPkgInt.h" />
<ClInclude Include="$(SrcDir)nsSBCharSetProber.h" />
<ClInclude Include="$(SrcDir)nsSBCSGroupProber.h" />
<ClInclude Include="$(SrcDir)nsSJISProber.h" />
<ClInclude Include="$(SrcDir)nsUniversalDetector.h" />
<ClInclude Include="$(SrcDir)nsUTF8Prober.h" />
<ClInclude Include="$(SrcDir)prcpucfg.h" />
<ClInclude Include="$(SrcDir)prmem.h" />
<ClInclude Include="$(SrcDir)protypes.h" />
<ClInclude Include="$(SrcDir)prtypes.h" />
<ClInclude Include="$(SrcDir)xpcom-config.h" />
</ItemGroup>
</Project>

View File

@ -1,195 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Frequency tables">
<UniqueIdentifier>{f628048a-0e81-4ea7-b20c-09e14f767db1}</UniqueIdentifier>
<Extensions>*.tab</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="$(SrcDir)Big5Freq.tab">
<Filter>Frequency tables</Filter>
</None>
<None Include="$(SrcDir)JISFreq.tab">
<Filter>Frequency tables</Filter>
</None>
<None Include="$(SrcDir)EUCKRFreq.tab">
<Filter>Frequency tables</Filter>
</None>
<None Include="$(SrcDir)EUCTWFreq.tab">
<Filter>Frequency tables</Filter>
</None>
<None Include="$(SrcDir)GB2312Freq.tab">
<Filter>Frequency tables</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)CharDistribution.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)JpCntx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)LangBulgarianModel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)LangCyrillicModel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)LangGreekModel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)LangHebrewModel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)LangHungarianModel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)LangThaiModel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsBig5Prober.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsCharSetProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsEscCharsetProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsEscSM.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsEUCJPProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsEUCKRProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsEUCTWProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsGB2312Prober.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsHebrewProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsLatin1Prober.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsMBCSGroupProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsMBCSSM.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsSBCharSetProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsSBCSGroupProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsSJISProber.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsUniversalDetector.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(SrcDir)nsUTF8Prober.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(SrcDir)CharDistribution.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)JpCntx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsBig5Prober.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsCharSetProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsCodingStateMachine.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nscore.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsError.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsEscCharsetProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsEUCJPProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsEUCKRProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsEUCTWProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsGB2312Prober.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsHebrewProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsLatin1Prober.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsMBCSGroupProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsPkgInt.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsSBCharSetProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsSBCSGroupProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsSJISProber.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsUniversalDetector.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)nsUTF8Prober.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)prcpucfg.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)prmem.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)protypes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)prtypes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(SrcDir)xpcom-config.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Sample build customisation file for Aegisub.
Use this file as a template for configuring the location of the
Freetype 2 library for the Aegisub build system.
To use this file, copy it and rename the copy to *.props.
-->
<PropertyGroup Label="UserMacros">
<!-- Ft2IncludePath defines where the Freetype 2 include files are found -->
<Ft2IncludePath>C:\Dev\freetype-2.4.3\include</Ft2IncludePath>
<!-- Ft2LibraryPath defines where the Freetype 2 library files are found -->
<Ft2LibraryPath>C:\Dev\freetype-2.4.3\objs\win32\vc2010</Ft2LibraryPath>
<!-- Ft2LibraryName defines the name of the library to use for linking Freetype 2.
This will often be conditional on platform and configuration. -->
<Ft2LibraryName Condition="'$(Platform)|$(Configuration)'=='Win32|Debug'" >freetype2.4.3_32d.lib</Ft2LibraryName>
<Ft2LibraryName Condition="'$(Platform)|$(Configuration)'=='Win32|Release'">freetype2.4.3_32.lib</Ft2LibraryName>
<Ft2LibraryName Condition="'$(Platform)|$(Configuration)'=='x64|Debug'" >freetype2.4.3_64d.lib</Ft2LibraryName>
<Ft2LibraryName Condition="'$(Platform)|$(Configuration)'=='x64|Release'" >freetype2.4.3_64.lib</Ft2LibraryName>
</PropertyGroup>
</Project>

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Sample build customisation file for Aegisub.
This file shows how you can control where the build system places
produced files by overriding the properties defined by paths.props.
Most people will not need this.
To use this file, copy it and rename the copy to *.props.
-->
<PropertyGroup Label="UserMacros">
<!-- Base directory for placing built files in -->
<AegisubOutputBase>C:\Dev\Aegisub\BuildFiles\</AegisubSourceBase>
<!-- Executable files are placed here, essentially creating an installation -->
<AegisubBinaryDir>C:\Dev\Aegisub\BuiltBinaries\$(Platform)\</AegisubContribBase>
</PropertyGroup>
</Project>

View File

@ -1,12 +0,0 @@
You can put MSBuild property files in this folder to override the default
build configuration for Aegisub's build system.
A number of sample files are provided. These can be copied and used as
templates for common configuration. Importantly, configuring the location
of several library dependencies.
The copied sample files should be renamed to *.props, otherwise they will
not be found by the build system.
You should not check files placed in this folder into source control.
Files must be named *.props to be found by the build system.

View File

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Sample build customisation file for Aegisub.
Use this file as a template for configuring the location of wxWidgets
for the Aegisub build system.
To use this file, copy it and rename the copy to *.props.
-->
<PropertyGroup Label="UserMacros">
<!-- Helper property, defines the base directory for wxWidgets -->
<WxBasePath>C:\Dev\wxWidgets-2.9\install-vc10</WxBasePath>
<!-- WxLibraryPath defines the location of the wxWidgets .lib files.
Two conditional values are given, depending on the platform. -->
<WxLibraryPath Condition="'$(Platform)'=='Win32'">$(WxBasePath)\lib32</WxLibraryPath>
<WxLibraryPath Condition="'$(Platform)'=='x64'">$(WxBasePath)\lib64</WxLibraryPath>
<!-- WxIncludePath defines the location of the wxWidgets include files. -->
<WxIncludePath>$(WxBasePath)\include</WxIncludePath>
</PropertyGroup>
</Project>

View File

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PropertySheetDisplayName>wxWidgets support</_PropertySheetDisplayName>
</PropertyGroup>
<!-- Some helper affixes -->
<PropertyGroup>
<WxLibDbgSuffix Condition="'$(Configuration)'=='Debug'">d</WxLibDbgSuffix>
<WxLibDbgSuffix Condition="'$(Configuration)'=='Release'"></WxLibDbgSuffix>
</PropertyGroup>
<!-- Tell the compiler where to search for wx headers and libraries -->
<PropertyGroup>
<IncludePath>$(WxLibraryPath)\mswu$(WxLibDbgSuffix)\;$(WxIncludePath);$(IncludePath)</IncludePath>
<LibraryPath>$(WxLibraryPath);$(LibraryPath)</LibraryPath>
</PropertyGroup>
<!-- Tell the linker to use the appropriate wx libraries -->
<ItemDefinitionGroup>
<Link>
<AdditionalDependencies>
wxbase29u$(WxLibDbgSuffix).lib;
wxbase29u$(WxLibDbgSuffix)_net.lib;
wxbase29u$(WxLibDbgSuffix)_xml.lib;
wxmsw29u$(WxLibDbgSuffix)_core.lib;
wxmsw29u$(WxLibDbgSuffix)_adv.lib;
wxmsw29u$(WxLibDbgSuffix)_gl.lib;
wxmsw29u$(WxLibDbgSuffix)_stc.lib;
wxscintilla$(WxLibDbgSuffix).lib;
wxzlib$(WxLibDbgSuffix).lib;
wxexpat$(WxLibDbgSuffix).lib;
wxregexu$(WxLibDbgSuffix).lib;
wxpng$(WxLibDbgSuffix).lib;
%(AdditionalDependencies)
</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@ -1,482 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="reporter_2008"
ProjectGUID="{DEA724A1-E735-410E-8290-CC7725A85CCA}"
RootNamespace="reporter_2008"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="..\aegisub_vs2008\compiler_options_debug.vsprops;..\aegisub_vs2008\libraries_outdirs.vsprops;..\aegisub_vs2008\suffix_debug32.vsprops;..\aegisub_vs2008\wxlib_include.vsprops;..\aegisub_vs2008\wxlib_lib32.vsprops;..\aegisub_vs2008\contrib_includedirs.vsprops"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="CURL_STATICLIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="r_pre.h"
WarningLevel="3"
DebugInformationFormat="4"
ForcedIncludeFiles="r_pre.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ExecutableOutDir)/reporter$(PlatformConfigSuffix).exe"
GenerateDebugInformation="true"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="..\aegisub_vs2008\compiler_options_debug.vsprops;..\aegisub_vs2008\libraries_outdirs.vsprops;..\aegisub_vs2008\suffix_debug64.vsprops;..\aegisub_vs2008\wxlib_include.vsprops;..\aegisub_vs2008\wxlib_lib64.vsprops;..\aegisub_vs2008\contrib_includedirs.vsprops"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="CURL_STATICLIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="r_pre.h"
WarningLevel="3"
DebugInformationFormat="3"
ForcedIncludeFiles="r_pre.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ExecutableOutDir)/reporter$(PlatformConfigSuffix).exe"
GenerateDebugInformation="true"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)build/$(ProjectName)/$(PlatformName)/$(ConfigurationName)/"
IntermediateDirectory="$(OutDir)"
ConfigurationType="1"
InheritedPropertySheets="..\aegisub_vs2008\compiler_options.vsprops;..\aegisub_vs2008\libraries_outdirs.vsprops;..\aegisub_vs2008\suffix_release32.vsprops;..\aegisub_vs2008\wxlib_include.vsprops;..\aegisub_vs2008\wxlib_lib32.vsprops;..\aegisub_vs2008\contrib_includedirs.vsprops"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="CURL_STATICLIB"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="r_pre.h"
WarningLevel="3"
DebugInformationFormat="3"
ForcedIncludeFiles="r_pre.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ExecutableOutDir)/reporter$(PlatformConfigSuffix).exe"
GenerateDebugInformation="true"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="..\aegisub_vs2008\compiler_options.vsprops;..\aegisub_vs2008\libraries_outdirs.vsprops;..\aegisub_vs2008\suffix_release64.vsprops;..\aegisub_vs2008\wxlib_include.vsprops;..\aegisub_vs2008\wxlib_lib32.vsprops;..\aegisub_vs2008\contrib_includedirs.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
WarningLevel="3"
DebugInformationFormat="3"
ForcedIncludeFiles="r_pre.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
GenerateDebugInformation="true"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\reporter\aegisub.cpp"
>
</File>
<File
RelativePath="..\..\reporter\libraries.cpp"
>
</File>
<File
RelativePath="..\..\reporter\main.cpp"
>
</File>
<File
RelativePath="..\..\reporter\name_map.cpp"
>
</File>
<File
RelativePath="..\..\reporter\platform.cpp"
>
</File>
<File
RelativePath="..\..\reporter\platform_windows.cpp"
>
</File>
<File
RelativePath="..\..\reporter\progress.cpp"
>
</File>
<File
RelativePath="..\..\reporter\r_pre.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\reporter\report.cpp"
>
</File>
<File
RelativePath="..\..\reporter\sha256.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
PrecompiledHeaderThrough=""
ForcedIncludeFiles=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
PrecompiledHeaderThrough=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"
PrecompiledHeaderThrough=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\reporter\upload.cpp"
>
</File>
<File
RelativePath="..\..\reporter\view.cpp"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath="..\..\reporter\aegisub.h"
>
</File>
<File
RelativePath="..\..\reporter\main.h"
>
</File>
<File
RelativePath="..\..\reporter\include\platform.h"
>
</File>
<File
RelativePath="..\..\reporter\platform_windows.h"
>
</File>
<File
RelativePath="..\..\reporter\progress.h"
>
</File>
<File
RelativePath="..\..\reporter\r_pre.h"
>
</File>
<File
RelativePath="..\..\reporter\report.h"
>
</File>
<File
RelativePath="..\..\reporter\sha256.h"
>
</File>
<File
RelativePath="..\..\reporter\upload.h"
>
</File>
<File
RelativePath="..\..\reporter\view.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,10 +0,0 @@
// This file is intended as a template for the TortoiseSVN tool SubWCRev
// Set up your project so it runs a command similar to this as pre-build event:
//"C:\Program Files\TortoiseSVN\bin\SubWCRev.exe" "$(SolutionDir)../aegisub" "$(SolutionDir)../aegisub/build/svn-revision-base.h" "$(SolutionDir)../aegisub/build/svn-revision.h"
// Of course make sure the relative paths etc. match your system
// Do not add or commit the resulting file to SVN.
#define BUILD_SVN_REVISION $WCREV$
#define BUILD_SVN_DATE "$WCDATE$"
#define BUILD_SVN_LOCALMODS $WCMODS?"M":""$

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="googletest_include"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)/lib/include/&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="googletest_lib"
>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="&quot;$(LibraryOutDir)gtestd.lib&quot;"
OutputFile=""
AdditionalLibraryDirectories="$(LibraryOutDir)"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="libaegisub_include_dir"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\..\libaegisub\include&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="common_respack_packresources"
>
<Tool
Name="VCPostBuildEventTool"
CommandLine="cd &quot;$(ExecutableOutDir)&quot;&#x0D;&#x0A;&quot;$(ProjectDir)\..\..\tests\setup.bat&quot;"
/>
</VisualStudioPropertySheet>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="test_exe_filename"
>
<Tool
Name="VCLinkerTool"
OutputFile="$(ExecutableOutDir)/test$(PlatformConfigSuffix).exe"
/>
</VisualStudioPropertySheet>

View File

@ -1,356 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="tests_vs2008"
ProjectGUID="{8732F2B6-B3C6-4AE8-986A-2A334E33334B}"
RootNamespace="libaegisub_vs2008"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="1"
InheritedPropertySheets="..\aegisub_vs2008\compiler_options_debug.vsprops;..\aegisub_vs2008\compiler_options.vsprops;.\googletest_include.vsprops;..\aegisub_vs2008\libaegisub_include_dir.vsprops;.\test_exe_filename.vsprops;..\libaegisub_vs2008\src_msvc_include_dir.vsprops;..\aegisub_vs2008\libraries_outdirs.vsprops;.\googletest_lib.vsprops;..\aegisub_vs2008\suffix_debug32.vsprops;.\setup_data_dir.vsprops"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
FavorSizeOrSpeed="0"
WholeProgramOptimization="false"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
PrecompiledHeaderThrough=""
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ExecutableOutDir)/test$(PlatformConfigSuffix).exe"
SubSystem="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="4"
InheritedPropertySheets="..\aegisub_vs2008\compiler_options_debug.vsprops;..\aegisub_vs2008\compiler_options.vsprops;.\googletest_include.vsprops;..\aegisub_vs2008\libaegisub_include_dir.vsprops;.\test_exe_filename.vsprops"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="4"
InheritedPropertySheets="..\aegisub_vs2008\compiler_options_debug.vsprops;..\aegisub_vs2008\compiler_options.vsprops;.\googletest_include.vsprops;..\aegisub_vs2008\libaegisub_include_dir.vsprops;.\test_exe_filename.vsprops"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="4"
InheritedPropertySheets="..\aegisub_vs2008\compiler_options_debug.vsprops;..\aegisub_vs2008\compiler_options.vsprops;.\googletest_include.vsprops;..\aegisub_vs2008\libaegisub_include_dir.vsprops;.\test_exe_filename.vsprops"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Headers"
>
<File
RelativePath="..\..\tests\main.h"
>
</File>
<File
RelativePath="..\..\tests\util.h"
>
</File>
</Filter>
<Filter
Name="Source"
>
<File
RelativePath="..\..\tests\main.cpp"
>
</File>
<File
RelativePath="..\..\tests\util.cpp"
>
</File>
<File
RelativePath="..\..\tests\util_windows.cpp"
>
</File>
</Filter>
<File
RelativePath="..\..\tests\libaegisub_access.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_cajun.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_hotkey.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_iconv.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_keyframe.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_line_iterator.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_line_wrap.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_mru.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_option.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_signals.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_thesaurus.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_util.cpp"
>
</File>
<File
RelativePath="..\..\tests\libaegisub_vfr.cpp"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,9 +0,0 @@
cd %~dp0..
sh build/version.sh ..
if %ERRORLEVEL% NEQ 0 goto :fail
goto :eof
:fail
ECHO Aegisub requires that sh and git be on the windows command line path for version checking.
> build\git_version.h echo #define BUILD_GIT_VERSION_NUMBER 0
>> build\git_version.h echo #define BUILD_GIT_VERSION_STR "unknown"

View File

@ -1,60 +0,0 @@
srcdir="$1"
# If no git repo try to read from the existing git_version.h, for building from tarballs
if ! test -d "${srcdir}/.git"; then
version_h_path="${srcdir}/aegisub/build/git_version.h"
if test -f "${version_h_path}"; then
while read line; do
set -- $line
export $2=$(echo $3 | sed 's/"//g')
done < "${version_h_path}"
if test x$BUILD_GIT_VERSION_NUMBER != x -a x$BUILD_GIT_VERSION_STRING != x; then
export VERSION_SOURCE="from cached git_version.h"
return 0
else
echo "invalid git_version.h"
exit 2
fi
else
echo "git repo not found and no cached git_version.h"
exit 2
fi
fi
last_svn_revision=6962
last_svn_hash="16cd907fe7482cb54a7374cd28b8501f138116be"
git_revision=$(expr $last_svn_revision + $(git log --pretty=oneline $last_svn_hash..HEAD 2>/dev/null | wc -l))
git_version_str=$(git describe --exact-match 2> /dev/null)
if test x$git_version_str != x; then
git_version_str="${git_version_str##v}"
tagged_release=1
else
git_branch="$(git symbolic-ref HEAD 2> /dev/null)" || git_branch="(unnamed branch)"
git_branch="${git_branch##refs/heads/}"
git_hash=$(git rev-parse --short HEAD)
git_version_str="${git_revision}-${git_branch}-${git_hash}"
tagged_release=0
fi
new_version_h="\
#define BUILD_GIT_VERSION_NUMBER ${git_revision}
#define BUILD_GIT_VERSION_STRING \"${git_version_str}\"
#define TAGGED_RELEASE ${tagged_release}"
# may not exist yet for out of tree builds
mkdir -p build
version_h_path="build/git_version.h"
# Write it only if it's changed to avoid spurious rebuilds
# This bizzare comparison method is due to that newlines in shell variables are very exciting
case "$(cat ${version_h_path} 2> /dev/null)"
in
"${new_version_h}");;
*) echo "${new_version_h}" > "${version_h_path}"
esac
export BUILD_GIT_VERSION_NUMBER="${git_revision}"
export BUILD_GIT_VERSION_STRING="${git_version_str}"
export VERSION_SOURCE="from git"

1407
aegisub/config.guess vendored

File diff suppressed because it is too large Load Diff

1504
aegisub/config.sub vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,699 +0,0 @@
AC_PREREQ(2.57)
###################
# Required packages
###################
m4_define([curl_required_version], [7.18.2])
m4_define([ffms2_required_version], [2.16])
m4_define([fftw3_required_version], [3.3])
m4_define([fontconfig_required_version], [2.4])
m4_define([freetype_required_version], [9.7.0])
m4_define([hunspell_required_version], [1.2.0])
m4_define([libass_required_version], [0.9.7])
m4_define([libpulse_required_version], [0.5])
m4_define([lua_auto4_required_version], [5.1])
m4_define([pkgconfig_required_version], [0.20])
m4_define([portaudio_required_version], [19])
m4_define([wx_required_version], [2.9.3])
#######
# Setup
#######
AC_INIT([Aegisub], [aegisub_version],, [aegisub])
: ${CFLAGS=""}
: ${CXXFLAGS=""}
AC_CONFIG_SRCDIR([src/main.cpp])
AC_CONFIG_HEADER([acconf.h])
AC_GNU_SOURCE
AC_CANONICAL_HOST
###########################
# Check host architecture
###########################
build_darwin="no"
build_linux="no"
build_bsd="no"
build_default="no"
AS_CASE([$host],
[*-*-darwin*], [build_darwin="yes"],
[*-*-linux*], [build_linux="yes"],
[*-*-*bsd*], [build_bsd="yes"],
[build_default="yes"])
# Used for universalchardet.
AC_AGI_MDCPUCFG($host)
AC_SUBST(build_bsd)
AC_SUBST(build_linux)
AC_SUBST(build_darwin)
AC_SUBST(build_default)
# Handle endianess.
AC_C_BIGENDIAN(
AC_DEFINE([HAVE_BIG_ENDIAN], [1], [Big Endian]),
AC_DEFINE([HAVE_LITTLE_ENDIAN], [1], [Little Endian]),
AC_DEFINE([HAVE_DYNAMIC_ENDIAN], [1], [Unknown endian]),
AC_DEFINE([HAVE_UNIVERSAL_ENDIAN], [1], [Universal Endian (MAC Universal PPC/Intel Binaries, uses HAVE_DYNAMIC_ENDIAN)])
)
########################
# Configurable variables
########################
# Name of aegisub binary.
# On OS X everything goes in an app bundle so no point in versioning the executable
AS_IF([test x$build_darwin = xyes],
[AEGISUB_COMMAND="aegisub"],
[AEGISUB_COMMAND="aegisub-3.0"])
AC_SUBST(AEGISUB_COMMAND)
AC_DEFINE_UNQUOTED([AEGISUB_COMMAND], ["${AEGISUB_COMMAND}"], [Name of the Aegisub executable])
# Handle location of desktop files: http://freedesktop.org/wiki/Specifications/desktop-entry-spec
AC_ARG_WITH(desktop-dir,
AS_HELP_STRING([--with-desktop-dir=PATH],[desktop file locations [PREFIX/share/applications]]))
P_DESKTOP=${with_desktop_dir:-$datarootdir/applications}
AC_SUBST(P_DESKTOP)
# Handle location of icons: http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
AC_ARG_WITH(icon-dir,
AS_HELP_STRING([--with-icon-dir=PATH],[icon locations [PREFIX/share/icons]]))
P_ICON=${with_icon_dir:-$datarootdir/icons}
AC_SUBST(P_ICON)
# Install prefix
# If a user doesn't supply --prefix then it is set to NONE so we
# set it to $ac_default_prefix if it hasn't been supplied.
AS_CASE([x$prefix], [xNONE | x], [prefix="$ac_default_prefix"], [])
# Install prefix used by wxStandardPaths::SetInstallPrefix.
AC_DEFINE_UNQUOTED([INSTALL_PREFIX], ["$prefix"], [Default install prefix, or --prefix.])
# Build credit
AC_ARG_WITH(build-credit,
AS_HELP_STRING([--with-build-credit=NAME],[Build credit shown in the program title.]),
[use_build_credit="yes"])
AC_MSG_CHECKING([whether BUILD_CREDIT has been set])
AS_IF([test x$use_build_credit = xyes],
AS_IF([test x$with_build_credit = xyes || test -z "$with_build_credit"], [
AC_MSG_FAILURE([You must set a value eg --with-build-credit=<username>])
], [
AC_MSG_RESULT([yes ($with_build_credit)])
AC_DEFINE_UNQUOTED([BUILD_CREDIT], ["$with_build_credit"], [Build credit supplied in application title using --with-build-credit=])
]),
[AC_MSG_RESULT([no])])
####################
# Check for programs
####################
CHECK_GNU_MAKE
AC_PROG_CC
AC_PROG_CXX
AC_LANG(C++)
AM_PROG_CC_C_O
# This is reported to be required on Ubuntu, I haven't had time to check.
define([AC_LIBTOOL_LANG_F77_CONFIG], [:])
AC_PROG_INSTALL
AC_PROG_RANLIB
PKG_PROG_PKG_CONFIG([pkgconfig_required_version])
#################
# Developers only
#################
AC_MSG_CHECKING([for version])
. $srcdir/build/version.sh "$srcdir/.."
AC_MSG_RESULT([$BUILD_GIT_VERSION_STRING $VERSION_SOURCE])
AC_MSG_CHECKING([for build date])
BUILD_DATE=`date "+%Y-%m-%d %H:%M %Z"`
AC_MSG_RESULT($BUILD_DATE)
AC_SUBST([BUILD_GIT_VERSION_STRING])
AC_SUBST([BUILD_DATE])
###################################################
# Check for pthreads and setup variables / compiler
###################################################
ACX_PTHREAD([], [AC_MSG_FAILURE([You must have working pthreads.])])
CC="$PTHREAD_CC"
######################
# Check compiler flags
######################
AC_ARG_ENABLE(compiler-flags, AS_HELP_STRING([--disable-compiler-flags],[Disable *all* additional compiler flags. [no]]))
AS_IF([test x$enable_compiler_flags != xno], [
AC_C_FLAG([-Wall])
AC_C_FLAG([-Wextra],[AC_C_FLAG([-W])])
AC_C_FLAG([-Wno-unused-parameter])
AC_C_FLAG([-std=gnu99])
AC_C_FLAG([-pipe])
AC_C_FLAG([-g])
AC_CXX_FLAG([-Wall])
AC_CXX_FLAG([-Wextra],[AC_CXX_FLAG([-W])])
AC_CXX_FLAG([-Wno-unused-parameter])
AC_CXX_FLAG([-Wno-long-long])
AC_CXX_FLAG([-fno-strict-aliasing])
AC_CXX_FLAG([-pipe])
AC_CXX_FLAG([-g])
# -O* messes with debugging.
AS_IF([test x$enable_debug = xyes], [
AC_C_FLAG([-O0])
AC_CXX_FLAG([-O0])
], [
AC_C_FLAG([-O2])
AC_CXX_FLAG([-O2])
])
])
######################################
# Check Headers / Features / Libraries
######################################
AC_HEADER_STDC
AC_HEADER_STDBOOL
AC_C_CONST
AC_C_INLINE
AC_C_VOLATILE
AC_CHECK_LIB([m], [main])
AC_AGI_COMPILE([pragma once], [pragma_once], [], [],[
#pragma once
int main(void) {}
])
AS_IF([test x$agi_cv_pragma_once = xno],
[AC_MSG_FAILURE([Aegisub requires #pragma once to work correctly.])])
AC_CHECK_HEADER([wchar.h],,[AC_MSG_FAILURE([aegisub requires wide character support])])
AC_CHECK_HEADERS([sys/time.h])
##############################
# Program Support and Features
##############################
#########################
### Required Dependencies
#########################
AC_PATH_XTRA
AS_IF([test x$no_x = xyes && test x$build_darwin != xyes],
[AC_MSG_FAILURE([You must have a working copy of X installed.])])
AX_CHECK_GL
AS_IF([test x$no_gl = xyes], [AC_MSG_FAILURE([Aegisub requires GL support.])])
AC_SUBST(GL_CFLAGS)
AC_SUBST(GL_LIBS)
PKG_CHECK_MODULES(FREETYPE, freetype2 >= freetype_required_version,
AC_DEFINE(WITH_FREETYPE2, 1, [Enable FreeType 2 support.]),
[AC_MSG_FAILURE([Aegisub requires >= FreeType2 freetype_required_version])])
PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= fontconfig_required_version,
[AC_DEFINE(WITH_FONTCONFIG, 1, [Enable FontConfig support.])],
[AC_MSG_FAILURE([Aegisub requires fontconfig >= fontconfig_required_version])])
########
## iconv
########
AC_ARG_VAR([ICONV_CFLAGS], [CFLAGS to use for iconv []])
AC_ARG_VAR([ICONV_LIBS], [LIBS to use for iconv [-liconv]])
AS_IF([test -z "$ICONV_LIBS"], AC_SEARCH_LIBS([iconv_open], [iconv]))
AC_AGI_COMPILE([iconv], [iconv], [$ICONV_CFLAGS], [$ICONV_LIBS],[
#include <iconv.h>
int main(void) {
iconv_t ic;
ic = iconv_open ("UTF-8", "UTF-8");
if (!ic) return 1;
return 0;
} ])
AC_SUBST(ICONV_LIBS)
AC_SUBST(ICONV_CFLAGS)
AS_IF([test x$agi_cv_with_iconv = xno], [AC_MSG_FAILURE([Please install a working iconv library.])])
AC_AGI_COMPILE([iconv (const)], [iconv_const], [$ICONV_CFLAGS], [$ICONV_LIBS],[
#include <iconv.h>
int main(void) {
iconv_t cd = iconv_open("UTF-16", "UTF-8");
const char *in = "in";
char *out = new char();
size_t res, inbytesleft, outbytesleft;
res = iconv(cd, &in, &inbytesleft, &out, &outbytesleft);
return 0;
} ])
AS_IF([test x$agi_cv_with_iconv_const = xyes],
[AC_DEFINE(AGI_ICONV_CONST, 1, [Enable if iconv expects the in argument to be const])])
###############
# Audio Players
###############
#######
## ALSA
#######
AC_ARG_WITH(alsa,
AS_HELP_STRING([--without-alsa],
[build without ALSA audio player [auto]]))
AC_ARG_VAR([ALSA_CFLAGS], [CFLAGS to use for ALSA []])
AC_ARG_VAR([ALSA_LIBS], [LIBS to use for ALSA [-lasound -lrt]])
ALSA_LIBS=${ALSA_LIBS:--lasound -lrt}
AS_IF([test x$with_alsa = xno],
[alsa_disabled="(disabled)"],
[AC_CHECK_LIB([asound], [snd_pcm_open], [with_alsa="yes"], [with_alsa="no"], $ALSA_LIBS)])
AS_IF([test x$with_alsa = xyes], AC_DEFINE(WITH_ALSA, 1, [Enable ALSA Support]))
AC_SUBST(ALSA_CFLAGS)
AC_SUBST(ALSA_LIBS)
AC_SUBST(with_alsa)
#########
## OpenAL
#########
AC_ARG_WITH(openal,
AS_HELP_STRING([--without-openal],
[build without OpenAL audio player [auto]]))
AS_IF([test x$build_darwin = xyes], [
OPENAL_LIBS="-framework OpenAL"
OPENAL_CFLAGS=""
AC_SUBST(OPENAL_LIBS)
AC_SUBST(OPENAL_CFLAGS)
with_openal="yes"
],
[test x$with_openal = xno], [openal_disabled="(disabled)"],
[PKG_CHECK_MODULES(OPENAL, openal >= 0.0.8, [with_openal=yes], [with_openal=no])])
AS_IF([test x$with_openal != xno], [
AC_AGI_COMPILE([OpenAL], [openal], [$OPENAL_CFLAGS], [$OPENAL_LIBS],[
#if defined(__APPLE__)
#include <OpenAL/AL.h>
#include <OpenAL/ALC.h>
#else
#include <AL/al.h>
#include <AL/alc.h>
#endif
int main(void) {
ALCdevice *device = alcOpenDevice(0);
if (!device) return 1;
ALCcontext *context = alcCreateContext(device, 0);
if (!context) return 1;
return 0;
} ])
])
AS_IF([test x$agi_cv_with_openal = xno && test x$with_openal = xyes], [
AC_MSG_WARN([OpenAL detected, but it doesn''t work...])
with_openal="no"
])
AS_IF([test x$agi_cv_with_openal = xyes && test x$with_openal = xyes],
AC_DEFINE(WITH_OPENAL, 1, [Enable OpenAL support]))
AC_SUBST(with_openal)
######
## OSS
######
AC_ARG_VAR([OSS_CFLAGS], [CFLAGS to use for OSS [auto]])
AC_ARG_WITH(oss,
AS_HELP_STRING([--without-oss],
[build without OSS audio player [auto]]))
AS_IF([test x$with_oss = xno], [oss_disabled="(disabled)"], [
AS_IF([test -z "$OSS_CFLAGS" && test -f "/etc/oss.conf"], [
. /etc/oss.conf
OSS_CFLAGS="-I${OSSLIBDIR}/include/sys"
])
AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [with_oss="yes"], [with_oss="no"])
])
AS_IF([test x$with_oss = xyes], AC_DEFINE(WITH_OSS, 1, [Enable OSS support]))
AC_SUBST(with_oss)
###################
# Simple pkg-config stuff
###################
AGI_OPT_PKG(libpulse, [build without PulseAudio audio player [auto]], [Enable PulseAudio support])
AGI_OPT_PKG(portaudio-2.0, [build without PortAudio v19 audio player [auto]], [Enable PortAudio v19 support])
AGI_OPT_PKG(ffms2, [build without ffms2 A/V provider [auto]], [Enable FFMS2 support])
AGI_OPT_PKG(libass, [build without libass subtitle provider [auto]], [Enable libass support])
AGI_OPT_PKG(fftw3, [build without fftw support [auto]], [Enable fftw support])
AGI_OPT_PKG(hunspell, [build without hunspell spell-checking [auto]], [Enable Hunspell support])
############
# Automation
############
AC_ARG_WITH(lua,
AS_HELP_STRING([--without-lua],
[build without lua 5.1 (auto4)]))
AS_IF([test x$with_lua = xno], [$with_auto4_lua="no"; lua_disabled="(disabled)"], [
# First try pkg-config with several names
PKG_CHECK_MODULES(LUA, lua >= 5.1, [with_auto4_lua="yes"], [
PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1, [with_auto4_lua="yes"], [
PKG_CHECK_MODULES(LUA, lua-5.1 >= 5.1, [with_auto4_lua="yes"], [
# Still not found so try to autodetect
AS_IF([test -z "$LUA_CFLAGS"],
[AGI_FIND_HEADER([LUA], [lua.hpp],
[/usr/include/lua5.1 /usr/include/lua51 /usr/local/include/lua51 /usr/local/include/lua5.1 /usr/include /usr/local/include])])
AS_IF([test -z "$LUA_LIBS"],
[AGI_FIND_LIB([LUA], [lua51 lua-5.1 lua5.1 lua], [])])
AC_AGI_COMPILE([Lua 5.1 (auto4)], [lua], [$LUA_CFLAGS], [$LUA_LIBS],[
#include <lua.hpp>
int main () {
lua_State *L = luaL_newstate();
lua_pushstring(L, "test");
int res = lua_objlen(L, -1) == 4;
lua_close(L);
return !res;
}])
AS_IF([test x$agi_cv_with_lua = xno && test x$with_lua = xyes],
[AC_MSG_FAILURE([--with-lua was specified, but lua could not be found. Try setting LUA_CLFAGS and LUA_LIBS manually])])
with_auto4_lua=$agi_cv_with_lua
])])])
])
AS_IF([test x$with_auto4_lua = xyes], AC_DEFINE(WITH_AUTO4_LUA, 1, [Enable Automation (auto4), requires lua]))
AC_SUBST(with_auto4_lua)
AC_SUBST(LUA_CFLAGS)
AC_SUBST(LUA_LIBS)
######################################################
# Debugging support
######################################################
AC_MSG_CHECKING([whether to turn on debugging])
AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug],[enable debugging [no]]))
AC_MSG_RESULT([${enable_debug:=no}])
AC_MSG_CHECKING([whether to use exception handling in debug mode])
AC_ARG_ENABLE(debug-exceptions, AS_HELP_STRING([--enable-debug-exceptions],[enable exception handling in debug mode [no]]))
AC_MSG_RESULT([${enabled_debug_exceptions:=no}])
AS_IF([test x$enable_debug_exceptions = xyes],
[AC_DEFINE(WITH_EXCEPTIONS, 1,
[Enable exception handling in debug mode. (--enable-debug) This is always enabled when debug mode is off.])])
################
# Widget support
################
WX_CONFIG_OPTIONS
WX_STANDARD_OPTIONS([debug])
WX_DEBUG=$DEBUG
WX_UNICODE=$UNICODE
WX_CONFIG_CHECK([wx_required_version],,,[std,gl,stc],[$WXCONFIG_FLAGS])
AC_SUBST(WX_CONFIG_PATH)
AS_IF([test x$WX_VERSION = x],
[AC_MSG_FAILURE([wxWidgets detection failed, please set --with-wx* or add the libraries to your LIBS, CXX/CFLAGS.])])
AC_ARG_ENABLE(slow-wx-checks,
AS_HELP_STRING([--disable-slow-wx-checks],[Disable slow-running checks for wx components.]))
AS_IF([test x$enable_slow_wx_checks != xno], [
AC_AGI_LINK([wxWidgets OpenGL support], [wxopengl], [wx/glcanvas.h], [$GL_CFLAGS $WX_CFLAGS], [$GL_LIBS $WX_LIBS],[
#include <wx/glcanvas.h>
int main(void) {
wxGLCanvas *canvas;
wxGLContext *context;
return 0;
} ])
AC_AGI_LINK([wxWidgets StyledTextCtrl support], [wxstc], [wx/stc/stc.h], [$WX_CFLAGS], [$WX_LIBS],[
#include <wx/stc/stc.h>
int main(void) {
wxStyledTextCtrl *canvas;
return 0;
} ])
])
AS_IF([test x$with_agi_cv_wxopengl = xno], AC_MSG_FAILURE([wxWidgets OpenGL support missing]))
AS_IF([test x$with_agi_cv_wxstc = xno], AC_MSG_FAILURE([wxWidgets StyledTextCtrl support missing]))
# This turns on some internal (to aegisub) debugging features.
# A debug version of wxWidgets is required.
AS_IF([test x$enable_debug = xyes],
[PACKAGE_DEBUG="-debug"
AS_IF([$WX_CONFIG_PATH --debug],[AC_CXX_FLAG([-D_DEBUG])])])
AC_SUBST(PACKAGE_DEBUG)
############################
# Precompiled Header Support
# Only works with gcc! (and clang)
############################
AC_MSG_CHECKING([whether to use precompiled headers])
AC_ARG_ENABLE(gcc-prec, AS_HELP_STRING([--disable-gcc-prec],[disable GCC precompiled headers]))
AC_MSG_RESULT([${enable_gcc_prec:=yes}])
AC_SUBST(enable_gcc_prec)
AC_PCH_FLAG([-Winvalid-pch])
AC_PCH_FLAG([-fpch-deps])
AC_PCH_FLAG([-fpch-preprocess])
###########
# Profiling
###########
AC_ARG_VAR([PROFILE_FLAGS], [Profile flag(s) to use with --enable-profile [-pg]])
AC_MSG_CHECKING([whether to turn on profiling])
AC_ARG_ENABLE(profile, AS_HELP_STRING([--enable-profile],[enable profiling [no]]))
AS_IF([test x$enable_profile = xyes], [
PROFILE_FLAGS=${PROFILE_FLAGS:--pg}
AC_MSG_RESULT([yes ($PROFILE_FLAGS)])
CFLAGS="$PROFILE_FLAGS $CFLAGS"
], [
enable_profile="no"
AC_MSG_RESULT([no])
])
######
# gcov
######
AC_ARG_VAR([GCOV_CFLAGS], [gcov cflag(s) to use with --enable-gcov [-ftest-coverage -fprofile-arcs]])
AC_ARG_VAR([GCOV_LIBS], [gcov ldflag(s) to use with --enable-gcov [-lgcov]])
AC_MSG_CHECKING([whether to turn on gcov])
AC_ARG_ENABLE(gcov, AS_HELP_STRING([--enable-gcov],[enable gcov [no]]))
AS_IF([test x$enable_gcov = xyes], [
GCOV_CFLAGS=${GCOV_CLFAGS:--fprofile-arcs -ftest-coverage}
GCOV_LIBS=${GCOV_LIBS:--lgcov}
AC_MSG_RESULT([yes ($GCOV_CFLAGS) ($GCOV_LIBS)])
CFLAGS="$CFLAGS $GCOV_CFLAGS"
LIBS="$LIBS $GCOV_LIBS"
], [
enable_gcov="no"
AC_MSG_RESULT([no])
])
################
# Electric Fence
################
AC_ARG_VAR([EFENCE_LIBS], [Electric Fence ldflag(s) to use with --enable-profile [-lefence]])
AC_MSG_CHECKING([whether to turn on Electric Fence])
AC_ARG_ENABLE(efence, AS_HELP_STRING([--enable-efence],[enable Electric Fence [no]]))
AS_IF([test x$enable_efence = xyes], [
EFENCE_LIBS=${EFENCE_LIBS:--lefence}
AC_MSG_RESULT([yes ($EFENCE_LIBS)])
], [
enable_efence="no"
AC_MSG_RESULT([no])
])
AC_SUBST(EFENCE_LIBS)
##########
# ccmalloc
##########
AC_ARG_VAR([CCMALLOC_LIBS], [ccmalloc libs(s) to use with --enable-ccmalloc [$prefix/lib/ccmalloc-c++.o]])
AC_ARG_VAR([CCMALLOC_LDFLAGS], [ccmalloc ldflag(s) to use with --enable-ccmalloc [-lccmalloc]])
AC_MSG_CHECKING([whether to turn on ccmalloc])
AC_ARG_ENABLE(ccmalloc, AS_HELP_STRING([--enable-ccmalloc],[enable ccmalloc [no]]))
AS_IF([test x$enable_ccmalloc = xyes], [
CCMALLOC_LIBS=${CCMALLOC_LIBS:-$prefix/lib/ccmalloc-c++.o}
CCMALLOC_LDFLAGS=${CCMALLOC_LDFLAGS:--lccmalloc}
AC_MSG_RESULT([yes ($CCMALLOC_LIBS $CCMALLOC_LDFLAGS)])
], [
enable_ccmalloc="no"
AC_MSG_RESULT([no])
])
AC_SUBST(CCMALLOC_LDFLAGS)
AC_SUBST(CCMALLOC_LIBS)
AS_IF([test x$enable_efence = xyes && test x$enable_ccmalloc = xyes],
[AC_MSG_FAILURE([Please enable Electric Fence _or_ ccmalloc otherwise strange things will happen.])])
########
# ccache
########
AC_MSG_CHECKING([whether to enable ccache])
AC_ARG_ENABLE(ccache, AS_HELP_STRING([--enable-ccache],[enable ccache [no]]))
AC_MSG_RESULT(${enable_ccache:=no})
AC_SUBST(enable_ccache)
##############################
# Internationalisation support
##############################
AM_GNU_GETTEXT([external])
################
# Update checker
################
AC_MSG_CHECKING([whether to enable the update checker])
AC_ARG_ENABLE(update-checker,
AS_HELP_STRING([--disable-update-checker], [disable the update checker [no]]))
AC_MSG_RESULT(${enable_update_checker:=yes})
AS_IF([test "x$enable_update_checker" != "xno"],
[AC_DEFINE([WITH_UPDATE_CHECKER], [],
[Whether to enable the update checker])])
AC_MSG_CHECKING([for update checker server])
AC_ARG_WITH(update-server,
AS_HELP_STRING([--with-update-server=HOSTNAME],
[Server to use for the update checker
[updates.aegisub.org]]))
AC_MSG_RESULT(${with_update_server:=updates.aegisub.org})
AC_DEFINE_UNQUOTED([UPDATE_CHECKER_SERVER], ["$with_update_server"],
[Server for the update checker])
AC_MSG_CHECKING([for update checker base URL])
AC_ARG_WITH(update-url,
AS_HELP_STRING([--with-update-url=HOSTNAME],
[Base path to use for the update checker [/trunk]]))
AC_MSG_RESULT(${with_update_url:=/trunk})
AC_DEFINE_UNQUOTED([UPDATE_CHECKER_BASE_URL], ["$with_update_url"],
[Base path for the update checker])
################
# Crash reporter
################
AC_MSG_CHECKING([whether to enable the crash reporter])
AC_ARG_ENABLE(crash-reporter,
AS_HELP_STRING([--enable-crash-reporter], [enable the crash reporter [no]]))
AC_MSG_RESULT(${enable_crash_reporter:=no})
AS_IF([test "x$enable_crash_reporter" = "xyes"],
[PKG_CHECK_MODULES(LIBCURL, libcurl >= curl_required_version,,
[AC_MSG_FAILURE([the crash repoter requires >= cURL curl_required_version])])])
ENABLE_REPORTER="$enable_crash_reporter"
AC_SUBST(ENABLE_REPORTER)
####################################################################
# Default settings for Providers/Players
# * This is done at the end to preserve sanity rather than littering
# it above.
####################################################################
AC_ARG_WITH(player-audio,
AS_HELP_STRING([--with-player-audio=(ALSA|OpenAL|PortAudio|PulseAudio|OSS)],
[Default Audio Player [Linux/ALSA, Darwin/OpenAL, 1:*/OSS, 2:*/PortAudio]]))
# Default audio player.
AS_IF([test -z "$with_player_audio"], [
AS_IF([test x$build_linux = xyes && test x$with_alsa = xyes], [DEFAULT_PLAYER_AUDIO="ALSA"],
[test x$build_darwin = xyes && test x$with_openal = xyes], [DEFAULT_PLAYER_AUDIO="OpenAL"],
[test x$with_portaudio = xyes], [DEFAULT_PLAYER_AUDIO="PortAudio"],
[test x$with_oss = xyes], [DEFAULT_PLAYER_AUDIO="OSS"],
[test x$with_alsa = xyes], [DEFAULT_PLAYER_AUDIO="ALSA"],
[test x$with_openal = xyes], [DEFAULT_PLAYER_AUDIO="OpenAL"],
[test x$with_libpulse = xyes], [DEFAULT_PLAYER_AUDIO="PulseAudio"])],
[DEFAULT_PLAYER_AUDIO="$with_player_audio"])
AC_SUBST(DEFAULT_PLAYER_AUDIO)
# Set some friendly strings if some of the above aren't detected.
DEFAULT_PLAYER_AUDIO=${DEFAULT_PLAYER_AUDIO:-NONE}
###############
# Misc settings
###############
# Files that need substitution.
AC_CONFIG_FILES([
desktop/aegisub.desktop
src/libresrc/default_config_platform.json
tools/osx-bundle.sed
Makefile.inc
])
AC_OUTPUT
AS_IF([test x"$DEFAULT_PLAYER_AUDIO" = xNONE], AC_MSG_NOTICE([
***********************************************************************
* No supported audio player interface was found on your system.
* If you want audio support in Aegisub you need to install one of
* these libraries:
* - PulseAudio
* * http://pulseaudio.org/
* - ALSA (Linux only)
* * http://www.alsa-project.org/
* - PortAudio (version 19 only)
* * http://www.portaudio.com/
***********************************************************************
]))
AS_IF([test x$with_ffms2 != xyes], [AC_MSG_NOTICE([
***********************************************************************
* No supported video/audio reader interface was found on your system.
* You will not be able to open any video or audio files in Aegisub
* unless you install a supported video/audio provider.
* You will however still be able to open "dummy" video, ie. a blank,
* virtual video clip with subtitles overlaid.
* Currently we only support one video/audio provider on non-Windows
* systems:
* - FFMS2
* * http://code.google.com/p/ffmpegsource/
***********************************************************************
])])
AC_MSG_RESULT([
Configure settings
Install prefix: $prefix
Revision: $BUILD_GIT_VERSION_STRING
Debug $enable_debug
CFLAGS $CFLAGS
CXXFLAGS $CXXFLAGS
CPPFLAGS $CPPFLAGS
LDFLAGS $LDFLAGS
LIBS $LIBS
Default Settings
Audio Player: $DEFAULT_PLAYER_AUDIO
Scripting Engines
auto4 Lua: $with_auto4_lua $lua51_disabled
Audio Players
ALSA: $with_alsa $alsa_disabled
OpenAL: $with_openal $openal_disabled
OSS: $with_oss $oss_disabled
PortAudio: $with_portaudio $portaudio_disabled
PulseAudio: $with_libpulse $libpulse_disabled
A/V Providers
FFMS2: $with_ffms2 $ffms2_disabled
Subtitle Providers:
libass $with_libass $libass_disabled
Misc Packages
Hunspell: $with_hunspell $hunspell_disabled
FFTW3: $with_fftw3 $fftw3_disabled
])

View File

@ -1,51 +0,0 @@
include ../Makefile.inc
applicationsdir = $(DESKTOP_DATADIR)/applications
applications_DATA = aegisub.desktop
iconsscalabledir = $(DESKTOP_DATADIR)/icons/hicolor/scalable/apps
iconsscalable_DATA = scalable/aegisub.svg
all: ;
ICON_HICOLOR = \
16x16/apps/aegisub.png \
22x22/apps/aegisub.png \
24x24/apps/aegisub.png \
32x32/apps/aegisub.png \
48x48/apps/aegisub.png \
64x64/apps/aegisub.png
ICON_SCALABLE = \
scalable/apps/aegisub.svg
DESKTOP_FILE = \
aegisub.desktop
EXTRA_DIST = \
aegisub.desktop.in \
$(ICON_HICOLOR) \
$(ICON_SCALABLE)
install: install-desktop install-icons
install-desktop:
@$(BIN_MKDIR) -p $(DESTDIR)$(P_DESKTOP)
$(BIN_INSTALL) $(DESKTOP_FILE) $(DESTDIR)$(P_DESKTOP)/$(DESKTOP_FILE)
install-icons:
@$(BIN_MKDIR) -p $(addprefix $(DESTDIR)$(P_ICON)/hicolor/, $(dir $(ICON_HICOLOR)))
@for i in $(ICON_HICOLOR); do \
$(BIN_ECHO) "$(BIN_INSTALL) $$i $(DESTDIR)$(P_ICON)/hicolor/$$i"; \
$(BIN_INSTALL) $$i $(DESTDIR)$(P_ICON)/hicolor/$$i; \
done
$(BIN_TOUCH) $(DESTDIR)$(P_ICON)/hicolor
$(BIN_MKDIR) -p $(DESTDIR)$(P_ICON)/hicolor/scalable/apps
$(BIN_CP) $(ICON_SCALABLE) $(DESTDIR)$(P_ICON)/hicolor/$(ICON_SCALABLE)
CLEANFILES = aegisub.desktop
include ../Makefile.target

View File

@ -1,13 +0,0 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Aegisub
GenericName=Subtitle Editor
Comment=Create and edit subtitles for film and videos.
Exec=@AEGISUB_COMMAND@ %f
TryExec=@AEGISUB_COMMAND@
Icon=aegisub
Terminal=false
Categories=AudioVideo;AudioVideoEditing;
MimeType=application/x-srt;text/plain;text/x-ass;text/x-microdvd;text/x-ssa;
StartupNotify=true

View File

@ -1,184 +0,0 @@
<doxygenlayout version="1.0">
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title=""/>
<tab type="modules" visible="no" title=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespaces" visible="yes" title=""/>
<tab type="namespacemembers" visible="yes" title=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classes" visible="yes" title=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title=""/>
<tab type="classmembers" visible="yes" title=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="files" visible="yes" title=""/>
<tab type="globals" visible="yes" title=""/>
</tab>
<tab type="dirs" visible="yes" title=""/>
<tab type="examples" visible="yes" title=""/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<allmemberslink visible="yes"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
<protectedtypes title=""/>
<protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
<packageattributes title=""/>
<packagestaticattributes title=""/>
<properties title=""/>
<events title=""/>
<privatetypes title=""/>
<privateslots title=""/>
<privatemethods title=""/>
<privatestaticmethods title=""/>
<privateattributes title=""/>
<privatestaticattributes title=""/>
<friends title=""/>
<related title="" subtitle=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<typedefs title=""/>
<enums title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
</memberdef>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
<sourcelink visible="yes"/>
<memberdecl>
<classes visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection/>
</file>
<!-- Layout definition for a group page -->
<group>
<briefdescription visible="yes"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
<classes visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<dirs visible="yes" title=""/>
<nestedgroups visible="yes" title=""/>
<files visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
</memberdef>
<authorsection visible="yes"/>
</group>
<!-- Layout definition for a directory page -->
<directory>
<briefdescription visible="yes"/>
<directorygraph visible="yes"/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
</directory>
</doxygenlayout>

View File

@ -1,21 +0,0 @@
/* $Id$ */
.note, .warning, .caution {
margin: 0.5em;
padding: 0.5em 0.5em;
word-wrap: break-word;
}
.note {
border: 1px solid #F9FD96;
background-color: #FDFEE7;
}
.caution {
border: 1px solid #FF4A66;
background-color: #FFF5F6;
}
.warning {
border: 1px solid #FF4A66;
}

View File

@ -1,30 +0,0 @@
@INCLUDE = doxyfile_base
PROJECT_NAME = Aegisub
INPUT = ../../src/ ./pages_aegisub
EXCLUDE_PATTERNS = */.svn* */.deps* */.libs* */boost/* */scripts/* */gl/* */msvc/* */libresrc/* \
*/libosxutil/bundledirs-test.c */avisynth.h */MatroskaParser.? */md5.?
PREDEFINED += \
WITH_PORTAUDIO \
WITH_ALSA \
WITH_AUTO4_LUA \
WITH_AUTOMATION \
WITH_AVISYNTH \
WITH_CSRI \
WITH_DIRECTSOUND \
WITH_FFMS2 \
WITH_FONTCONFIG \
WITH_FREETYPE2 \
WITH_HUNSPELL \
WITH_LIBASS \
WITH_OLD_HUNSPELL \
WITH_OPENAL \
WITH_PORTAUDIO \
WITH_PORTAUDIO2 \
WITH_LIBPULSE \
WITH_STARTUPLOG \
WITH_UNIVCHARDET

View File

@ -1,268 +0,0 @@
# Doxyfile 1.5.8
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
#PROJECT_NAME =
PROJECT_NUMBER = trunk
OUTPUT_DIRECTORY = $(OUTPUT_DIR)
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = $(SRC_TRIM)
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = YES
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
ALIASES += ticket{1}="<a href='http://devel.aegisub.org/ticket/\1' class='el'>#\1</a>"
ALIASES += revision{1}="<a href='http://devel.aegisub.org/changeset/\1' class='el'>r\1</a>"
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
EXTENSION_MAPPING =
BUILTIN_STL_SUPPORT = YES
CPP_CLI_SUPPORT = YES
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
TYPEDEF_HIDES_STRUCT = NO
SYMBOL_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = YES
EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = YES
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = NO
SHOW_FILES = YES
SHOW_NAMESPACES = YES
#FILE_VERSION_FILTER = docs/versionfilter.sh
LAYOUT_FILE = Layout.xml
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE = doxygen.log
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
#INPUT =
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.h *.cpp *.c *.dox
RECURSIVE = YES
#EXCLUDE =
EXCLUDE =
EXCLUDE_SYMLINKS = NO
#EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH = ../../
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
# FIXME: set these two to NO?
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = NO
REFERENCES_LINK_SOURCE = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = ./
HTML_FILE_EXTENSION = .html
HTML_HEADER = html_header.html
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
HTML_DYNAMIC_SECTIONS = NO
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = NO
GENERATE_QHP = NO
QCH_FILE =
QHP_NAMESPACE =
QHP_VIRTUAL_FOLDER = doc
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NONE
TREEVIEW_WIDTH = 250
FORMULA_FONTSIZE = 10
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
#PREDEFINED =
PREDEFINED += WXUNUSED(x)=
PREDEFINED += "CMD_NAME(a)=const char* name() { return a; } ///< a"
PREDEFINED += "STR_MENU(a)=wxString StrMenu() const { return a; } ///< a"
PREDEFINED += "STR_DISP(a)=wxString StrDisplay() const { return a; } ///< a"
PREDEFINED += "STR_HELP(a)=wxString StrHelp() const { return a; } ///< a"
#EXPAND_AS_DEFINED = CMD_NAME STR_MENU STR_DISP STR_HELP
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
MSCGEN_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
DOT_FONTNAME = FreeSans
DOT_FONTSIZE = 10
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = NO
GROUP_GRAPHS = NO
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Options related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
SERVER_BASED_SEARCH = YES

View File

@ -1,12 +0,0 @@
@INCLUDE = doxyfile_base
PROJECT_NAME = "libaegisub"
INPUT = ../../libaegisub/ ./pages_libaegisub
EXCLUDE_PATTERNS = */.svn* */.deps* */.libs*
PREDEFINED += \
__WINDOWS__ \
__UNIX__ \
__OSX__

Some files were not shown because too many files have changed in this diff Show More