Commit graph

4830 commits

Author SHA1 Message Date
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 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 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 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 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 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 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