Compare commits

...

8159 Commits

Author SHA1 Message Date
odrling fa669a94e6
use older macos-12 runner
latest/14 fails and builds for arm64
also GA skipped 13 for macos-latest for some reason
2024-04-02 18:59:41 +02:00
odrling dd14bb326f
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-04-02 18:44:59 +02:00
odrling 463f886a58
add missing includes
my gentoo ebuild seems to die on these includes... unlike a manual build
2024-04-02 18:44:59 +02:00
odrling b2e6af62eb
copy all automation scripts to install dir 2024-04-02 18:44:59 +02:00
odrling 724df479c5
add automation scripts back 2024-04-02 18:44:59 +02:00
odrling fc5277492c
force git directory in version.sh 2024-04-02 18:44:59 +02:00
odrling 3e0d4bcdab
osx-fix-libs: log link path 2024-04-02 18:44:59 +02:00
odrling 1ea0faa59f
osx-fix-libs: fix relative symlinks with same name 2024-04-02 18:44:58 +02:00
odrling 89bae8640c
force dependency on libresrc 2024-04-02 18:44:58 +02:00
odrling 13ee9cc20b
don't delay audio on matroska files 2024-04-02 18:44:58 +02:00
odrling 39da678257
add option to disable tests 2024-04-02 18:44:58 +02:00
odrling 9ef7feab55
fix vfr nonzero start time test 2024-04-02 18:44:58 +02:00
odrling e69fd3e96f
[style] increase default font size 2024-04-02 18:44:58 +02:00
odrling ce97291a1b
[Karaoke] disable drag timing
disables "Left-click drag moves end marker"
2024-04-02 18:44:58 +02:00
odrling fc54f0a1a8
[style] change default style 2024-04-02 18:44:58 +02:00
odrling f0c20ea8e5
[Karaoke] Autocommit and autofocus 2024-04-02 18:44:57 +02:00
Vincent Wong 654dbcf2cf
Audio/timing: minor style, comment
A bit more clarification of code logic. Follow predominant if/else style
2024-04-02 18:44:57 +02:00
Vincent Wong 0761654486
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-04-02 18:44:57 +02:00
Vincent Wong 166fabcfd2
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-04-02 18:44:57 +02:00
Vincent Wong 3f0ec2c102
audio_timing: add missing param comment for OnLeftClick
Missing the alt_click param in comment
2024-04-02 18:44:57 +02:00
odrling 010f538efa
normalize timecodes for every formats except matroska 2024-04-02 18:44:57 +02:00
odrling 8348c1e0f5
shift video instead of subtitles
This is probably wrong in some cases. This is probably what we want with
matroska files.
2024-04-02 18:44:57 +02:00
odrling 8c3d6c06ad
fix mks file parsing 2024-04-02 18:44:56 +02:00
odrling e824932423
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-04-02 18:44:56 +02:00
Pierre Jeanjean 93398de478
Fix charset detection and conversion issues 2024-04-02 18:44:53 +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
Thomas Goyne 0d1ffbbdf7 Update manual URL 2012-09-03 17:28:45 -07:00
Thomas Goyne 598d3d77e6 Modify aegisub_convert_docs.pl to produce a static mirror suitable for serving on a web site 2012-09-03 17:26:49 -07:00
Thomas Goyne 1c9af767e5 Move audio decode error handling to GetAudio
Errors when not getting with volume need to be handled too.

Updates #1509.
2012-09-01 21:45:18 -07:00
Thomas Goyne e995cd2616 Don't stop video playback when undoing or redoing changes 2012-09-01 21:45:17 -07:00
Thomas Goyne 4d15df51f5 Fix the hash of the last SVN revision 2012-08-26 19:19:44 -07:00
Thomas Goyne 9f8e25ed0a Force LC_CTYPE to en_US.UTF-8 on OS X
When run from an app bundle the locale environment variables are unset,
and the default locale settings are bogus as a result.
2012-08-26 19:15:48 -07:00
Thomas Goyne 4cb5d411b3 Mark Aegisub as x86_64 rather than i386 2012-08-26 19:15:47 -07:00
Thomas Goyne 9d5d82fc42 Declare Aegisub as the Owner for .ass and .ssa 2012-08-26 19:15:46 -07:00
Thomas Goyne ca4c29a9f4 Fix tests linking with static libaegisub 2012-08-26 19:15:42 -07:00
Thomas Goyne 748ca154b6 Add a BOM to fragment_Translation.iss so that iscc uses the right charset 2012-08-26 19:15:27 -07:00
Thomas Goyne 09962a56d1 Use the last valid mouse position for VideoDisplay::GetMousePosition
On Windows opening the context menu triggers a mouse leave event, which
invalidates the current mouse position, so the Copy coordinates to
Clipboard command didn't work.
2012-08-25 18:33:46 -07:00
Thomas Goyne fd447927d5 Bump copyright year in installer to 2012 2012-08-21 07:06:20 -07:00
Thomas Goyne 54c4e4ab6e Make building the reporter optional
It's not actually useful for anything and it drags in cURL as a dependency.
2012-08-21 07:02:51 -07:00
Thomas Goyne b0036b4d99 Statically link libaegisub
Dynamically linking it caused a steady stream of issues for no apparent
benefits.
2012-08-21 07:02:45 -07:00
Thomas Goyne 4208fa362c Fix stack check failure when a script fails to load in a debug build 2012-08-19 20:32:18 -07:00
Thomas Goyne 1e030289ad Revamp how version tagging works
Rather than having it be a configurable option, simply build in final
release mode if Aegisub is being built from a signed tag, and get the
version information from that tag.

Drop the version number from the OS X app bundle when not building from
a tag as it done everywhere else. Drop the arch suffix since ppc hasn't
been tested in years and isn't worth testing as it's only going to get
less relevant as time goes on.

Remove some redundant definitions in the build system.
2012-08-19 14:33:50 -07:00
Thomas Goyne 42a016a83b Update the revision checks to work with a pure-git repo 2012-08-19 14:05:38 -07:00
Thomas Goyne fd6652b345 Delete stuff that's been split into their own repos 2012-08-19 20:43:40 -07:00
Thomas Goyne 1f07735f6f Add .gitignore 2012-08-19 20:43:39 -07:00
Thomas Goyne 16cd907fe7 Add a BOM to all of the lua files since they're no longer assumed to be UTF-8
Originally committed to SVN as r6962.
2012-08-19 20:43:39 -07:00
Thomas Goyne 18db0b09ac Log audio decoding errors
Originally committed to SVN as r6961.
2012-08-19 14:11:29 -07:00
Thomas Goyne 79684d5ad6 Factor out bounds-checking for GetAudio to a single place
It was being done in inconsistent ways in several places, which did not
include all of the places it needed to be done.

Closes #1509.

Originally committed to SVN as r6960.
2012-08-19 14:11:29 -07:00
Thomas Goyne 037d385419 Guard uses of audio providers with a mutex when not using a cache as they aren't thread-safe. Updates #1509.
Originally committed to SVN as r6959.
2012-08-19 14:11:29 -07:00
Thomas Goyne 5a38d69921 Open files as binary in TextFileReader
Text mode does undesirable things like stopping when it hits an EOF
byte, which can be a valid part of a UTF-16 character, and line_iterator
handles stripping \r anyway.

Originally committed to SVN as r6958.
2012-08-19 14:11:29 -07:00
Thomas Goyne e774902a29 Always write a newline at the end of ASS files
Originally committed to SVN as r6957.
2012-08-19 14:11:29 -07:00
Thomas Goyne b265d1fa0e Actually set the actor when reading from txt files
Originally committed to SVN as r6956.
2012-08-19 14:11:29 -07:00
Thomas Goyne d132364025 Fix check for OS X version in the update checker
Originally committed to SVN as r6955.
2012-08-19 14:11:28 -07:00
Thomas Goyne 21841e84a8 Get the locale name for OS X from CF rather than wx
Originally committed to SVN as r6954.
2012-08-19 14:11:28 -07:00
Thomas Goyne f2035d76fc Don't block the source of a drag-and-drop while the dropped audio/video are loading
Originally committed to SVN as r6953.
2012-08-04 16:31:44 +00:00
Thomas Goyne b86a1bfb2d Fix compilation with wx 2.9.4 with 2.8 compatibility enabled. Closes #1504.
Originally committed to SVN as r6952.
2012-08-03 02:32:30 +00:00
Thomas Goyne e2e304f2cb Don't try to shift to a negative start time when shifting lines to frame zero
Originally committed to SVN as r6951.
2012-07-29 03:23:27 +00:00
Thomas Goyne ffe41cdf20 Don't discard frames which are decoded before the video display becomes visible
Originally committed to SVN as r6950.
2012-07-29 03:23:24 +00:00
Thomas Goyne 8c42f09235 Don't pass size_t to wxString::Format since there's no portable specifier for it
Originally committed to SVN as r6949.
2012-07-24 02:40:39 +00:00
Thomas Goyne 8ba149a7e6 Actually save the video zoom to the subtitles file
Originally committed to SVN as r6948.
2012-07-24 02:40:37 +00:00
Thomas Goyne 65d3c4cc2d Save keyframe and timecode file names even if video isn't loaded
Originally committed to SVN as r6947.
2012-07-24 02:40:34 +00:00
Thomas Goyne de7dd7e07f Use the video AR from the script rather than the video's AR when opening linked video
Originally committed to SVN as r6946.
2012-07-24 02:40:31 +00:00
Thomas Goyne 269a206053 Fix loading linked audio when automatic opening of audio from video is enabled
Originally committed to SVN as r6945.
2012-07-24 02:40:29 +00:00
cantabile 7bd7ef7cd6 Shift times: Make Enter in the time edit do the same as clicking OK
Originally committed to SVN as r6944.
2012-07-24 02:39:40 +00:00
cantabile 5ecb89eeec Shift times: Use TimeEdit::SetTime() instead of TimeEdit::SetValue()
TimeEdit::SetValue() will trigger TimeEdit::OnModified(), but that
doesn't always update the internal "time" property.
TimeEdit::OnModified() seems to be designed to handle editing the value
with the keyboard, not with SetValue().

Originally committed to SVN as r6943.
2012-07-24 02:39:37 +00:00
cantabile 3193e05747 Use correct format specifier in AssColor::GetSSAFormatted()
Avoids a ton of assertion failures when saving SSA files.

Originally committed to SVN as r6942.
2012-07-24 02:39:35 +00:00
cantabile ef65262920 SRTSubtitleFormat: don't mix line endings in non-Windows
Originally committed to SVN as r6941.
2012-07-24 02:39:32 +00:00
Thomas Goyne b2fb39b67f Fix leak of the Indexer when an audio/video file has already been indexed
Originally committed to SVN as r6940.
2012-07-23 00:44:47 +00:00
Thomas Goyne 11a4ede9a0 Add Layer to the things lines can be sorted by
Originally committed to SVN as r6939.
2012-07-23 00:44:44 +00:00
Thomas Goyne f3a935c985 Install all of the automation scripts
Originally committed to SVN as r6938.
2012-07-22 23:56:49 +00:00
Thomas Goyne ef3e75dbe9 Pass the row length rather than frame width to OpenGL for the unpack row length
Originally committed to SVN as r6937.
2012-07-21 03:50:38 +00:00
Thomas Goyne 556f0514c2 Fix crash in the Kanji timer when the source begins with whitespace and the dest is empty
Originally committed to SVN as r6936.
2012-07-21 03:50:35 +00:00
Thomas Goyne 291a4050d8 Fix manual path generation
Originally committed to SVN as r6935.
2012-07-14 16:54:15 +00:00
Thomas Goyne 1ff1a57bdc Regenerate aegisub.pot
Originally committed to SVN as r6934.
2012-07-14 16:54:12 +00:00
Thomas Goyne 38217c6c59 Implement the timing adjustment commands
Originally committed to SVN as r6933.
2012-07-14 13:35:15 +00:00
Thomas Goyne 60c38bd2e5 Fix potential crash when deleting lines with audio open
Don't assume that the active line is valid in RegenerateInactiveLines,
as it may get called by the commit signal before the selection is
updated when the active line is deleted.

Closes #1502.

Originally committed to SVN as r6932.
2012-07-08 23:22:27 +00:00
Thomas Goyne 5162c28684 Check for audio hotkeys in both key down and char hook
wx doesn't call the keyboard hook when a window has capture, which
results in hotkeys not working while a mouse button is held down. This
usually doesn't matter much, but in the audio display one might want to
play audio while moving a marker. In general checking for hotkeys in
keydown doesn't work, but in the specific cast of marker dragging
keyboard focus is guaranteed to be on the audio display so it works out.

Originally committed to SVN as r6931.
2012-07-08 23:22:25 +00:00
Thomas Goyne 4e53ab3eab Remove the uses of wxNumberFormatter
We currently require mismatched locales for non-English since we don't
distinguish between locale-independent things like the config file and
UI things, which wxNumberFormatter barfs on.

Originally committed to SVN as r6930.
2012-07-06 02:14:46 +00:00
Thomas Goyne 8244271508 Use curl to fetch updates on OS X
The update checker sometimes triggers crashes on startup on OS X when
trying to release the CFSocket, so hopefully sidestep whatever the issue
is by just using curl to retrieve the update list.

Originally committed to SVN as r6929.
2012-07-05 23:05:37 +00:00
Thomas Goyne 3dc9e4fbea Don't try to set the zoom dropdown selection if it'd be out of bounds
Originally committed to SVN as r6928.
2012-07-05 23:05:34 +00:00
Thomas Goyne 2fb6b19e45 Destroy the old video context when detaching video
It was previously not being destroyed until video was reattached, which
wasted VRAM and caused problems on OS X.

Originally committed to SVN as r6927.
2012-07-04 15:30:21 +00:00
Thomas Goyne f90d7a56fa Mostly rewrite the VideoDisplay sizing logic
Fixes layout errors after maximizing when the window previously wasn't
big enough to fit the video and an infinite loop caused by wxGTK not
updating the window size immediately.

Makes it so that the bottom video toolbar is not pushed offscreen by
high video zoom. This is not always desirable, but should be an
improvement in most cases.

Closes #1409.

Originally committed to SVN as r6926.
2012-07-04 15:30:16 +00:00
Thomas Goyne a7b254e95f Use the user's ffms2 error handling mode when indexing video files to avoid reindexing when opening the audio
Originally committed to SVN as r6925.
2012-06-30 15:27:11 +00:00
Thomas Goyne fbd0681d2a Use the translated text for submenus
Originally committed to SVN as r6924.
2012-06-27 01:44:38 +00:00
Thomas Goyne 7bb1e10736 Add Basque translation by Xabier Aramendi. Closes #1499.
Originally committed to SVN as r6923.
2012-06-27 01:44:33 +00:00
Thomas Goyne 400520daa4 Fix handling of \N, \n and \h in the fonts collector
Originally committed to SVN as r6922.
2012-06-26 01:50:41 +00:00
Thomas Goyne 33f475ff3a Put VSFilter in the CSRI directory and also include xy-vsfilter in 32-bit builds
Originally committed to SVN as r6921.
2012-06-25 14:21:39 +00:00
Thomas Goyne 67686b1ad8 Copy mo files directly from the po folder for the installer
Originally committed to SVN as r6920.
2012-06-25 14:21:36 +00:00
Thomas Goyne e945c02151 Fix some warnings
Originally committed to SVN as r6919.
2012-06-25 14:21:32 +00:00
Thomas Goyne e4e80b4d3d Add a configure check for the pch flags as clang doesn't support -fpch-deps
Originally committed to SVN as r6918.
2012-06-23 17:22:08 +00:00
Thomas Goyne 4129051684 Add license headers to libresrc.(h|cpp)
Originally committed to SVN as r6917.
2012-06-23 01:06:43 +00:00
Thomas Goyne ed070b7b6a Wrap standard headers in libresrc.h with #ifndef AGI_PRE
Originally committed to SVN as r6916.
2012-06-23 01:06:40 +00:00
Thomas Goyne 257e25eb0e Make libresrc_getconfig less weird
Originally committed to SVN as r6915.
2012-06-23 01:06:38 +00:00
Thomas Goyne e99b1aaad4 Remove some pointess stuff in the icon code
Originally committed to SVN as r6914.
2012-06-23 01:06:35 +00:00
Thomas Goyne bfa3aba654 Don't try to use wxFileName::Exists with wx 2.9.3. Closes #1500.
Originally committed to SVN as r6913.
2012-06-23 01:06:32 +00:00
Thomas Goyne fd017b52ac Fix incorrectly positioned controls in the fonts collector dialog
The documentation claims that making things in static boxes children of
the static box is the right thing to do, but it's broken things a few
times now, so just make them children of the static box's parent.

Originally committed to SVN as r6912.
2012-06-21 04:32:10 +00:00
Thomas Goyne 7d2fb49828 Make the update checker configurable
Move the server and base url to the build-time configuration options and make
it disablable entirely.

Originally committed to SVN as r6911.
2012-06-21 02:09:40 +00:00
Thomas Goyne 87370eb9c0 Fix crash when clicking in the screen dropper area on Windows
Originally committed to SVN as r6910.
2012-06-17 20:22:38 +00:00
Thomas Goyne 9f7bdd8d17 Don't force ffms2 threads to 1 if it's recent enough
Originally committed to SVN as r6909.
2012-06-16 04:10:32 +00:00
Thomas Goyne 77821c10b7 Don't also force TV range when Force BT.601 is enabled
Originally committed to SVN as r6908.
2012-06-15 13:09:15 +00:00
cantabile 5ea71bce89 HD audio cache: initialise variables before checking for free space
Originally committed to SVN as r6907.
2012-06-15 13:08:45 +00:00
cantabile d99f3e3841 Fix missing ending slash in the HD cache file's location
Given the location "/home/asdf/.aegisub" and name "audio%02i.tmp",
the cache file was ".aegisubaudio00.tmp" in "/home/asdf"...

Originally committed to SVN as r6906.
2012-06-15 13:08:41 +00:00
cantabile 67c05519fa Allow the use of standard paths in the HD cache file's location
Originally committed to SVN as r6905.
2012-06-15 13:08:39 +00:00
Thomas Goyne b8c6a41ac4 Add support for floating-point audio. Closes #1490.
Originally committed to SVN as r6904.
2012-06-13 15:58:28 +00:00
Thomas Goyne 5eb14a1f7a Maybe really fix hurr durr gtk. Closes #1474.
Originally committed to SVN as r6903.
2012-06-13 15:58:24 +00:00
Thomas Goyne 05f63f14b2 Log which audio provider is actually used
Originally committed to SVN as r6902.
2012-06-13 15:58:21 +00:00
Thomas Goyne d4635b723a Support wx built with utf-32 strings
Originally committed to SVN as r6901.
2012-06-13 04:16:53 +00:00
Thomas Goyne 7c461ddfcf Use size_t rather than int64_t as the array index in AudioProvider::GetAudioWithVolume
In 32-bit builds the int64_t index resulted in two (inlined) calls to
allmul per audio sample, which took 25-50% of the total CPU time
involved in playing audio from the RAM cache.

Originally committed to SVN as r6900.
2012-06-13 04:16:50 +00:00
Thomas Goyne 998fc633b9 osx: Fix assertion failure when expanding hotkey categories
Originally committed to SVN as r6899.
2012-06-12 03:13:58 +00:00
Thomas Goyne 2db20778fc Mostly rewrite the screen dropper code
Eliminate a lot of the platform-specific code by just using the portable
versions everywhere, and use CoreGraphics rather than wxScreenDC to grab
an image of the screen on OS X as wxScreenDC doesn't actually work on
10.6+.

Originally committed to SVN as r6898.
2012-06-12 03:13:55 +00:00
Thomas Goyne 82d955ba96 Exit on error in osx-run.sh
Originally committed to SVN as r6897.
2012-06-12 03:13:53 +00:00
Thomas Goyne 0f071d978a Rewrite the OS X bundle utils in Obj-C++ and return std::strings rather than malloced char *
Originally committed to SVN as r6896.
2012-06-12 03:13:49 +00:00
cantabile 4b78e05695 Video box: tweak the tab order
Move the slider before the buttons,
and move the video display before the slider.

Originally committed to SVN as r6895.
2012-06-12 02:59:41 +00:00
cantabile 46c83d7f1c Allow tabbing out of the video slider
Originally committed to SVN as r6894.
2012-06-12 02:59:38 +00:00
cantabile acea3a04e0 Make run.sh work regardless of $PWD.
Originally committed to SVN as r6893.
2012-06-12 02:59:35 +00:00
Thomas Goyne 03b1b8e1c0 Flush options before restarting so that language changes actually apply
Originally committed to SVN as r6892.
2012-06-08 21:20:21 +00:00
Thomas Goyne a51de67d68 ffms2: Reindex and reload audio when the error handling mode is changed
Originally committed to SVN as r6891.
2012-06-07 21:03:11 +00:00
Thomas Goyne 8c17d45e8c osx: Move the detached video dialog to the normal window level when it goes fullscreen as it's hilariously broken otherwise
Originally committed to SVN as r6890.
2012-06-07 21:03:08 +00:00
Thomas Goyne f0f7ad2858 osx: Make modelss dialogs stay on top of the main window as they're floating panels, not documents
Originally committed to SVN as r6889.
2012-06-07 02:48:13 +00:00
Thomas Goyne 26a5fbe4b8 osx: Add the full screen button to the detached video dialog
Originally committed to SVN as r6888.
2012-06-07 02:48:11 +00:00
Thomas Goyne b65e867455 Enable the Accept Splits button even when it's only the autosplit that would be committed
Originally committed to SVN as r6887.
2012-06-07 02:48:08 +00:00
Thomas Goyne 18041eabc7 Use * rather than \+ in osx-bundle.sed since the latter has magically stopped working
Originally committed to SVN as r6886.
2012-06-07 02:48:05 +00:00
Thomas Goyne c6237865af Unconditionally add -lz to WX_LIBS
Originally committed to SVN as r6885.
2012-05-28 15:00:54 +00:00
Thomas Goyne 9cb5178c4b Revert r6758
The explicit cast should not be required, and the type of the parameter
has changed between wx versions so it breaks things.

Originally committed to SVN as r6884.
2012-05-28 14:55:42 +00:00
Thomas Goyne 108c38b9bc Don't swallow : keypresses in TimeEdit
Originally committed to SVN as r6883.
2012-05-28 14:18:40 +00:00
cantabile a3d7d2bbc0 TimeEdit: handle Shift-Insert the same way as Ctrl-V
Shift-Insert pasted the text anyway, but without anyone "noticing",
which meant the TimeEdit's internal variable "time" didn't get updated,
causing TimeEdit::GetTime() to return the old time. Because of this,
pasting a time in the Jump To dialog with Shift-Insert didn't update the
frame number.

Originally committed to SVN as r6882.
2012-05-28 14:18:10 +00:00
cantabile 3a81e80aa5 Add workaround for tabbing out of SubsTextEditCtrl
wxStyledTextCtrl eats the tabs, so handle them in
SubsTextEditCtrl::OnKeyDown()

Originally committed to SVN as r6881.
2012-05-28 14:18:07 +00:00
Thomas Goyne 571752a955 Make the visual typesetting toolbar use all available space
When toolbars actually have a background (as on OS X), the stretch
spacer was very ugly, and there's no different on platforms without a
background.

Originally committed to SVN as r6880.
2012-05-26 20:16:12 +00:00
Thomas Goyne cde9a34425 osx: Add the full screen button to the main window
Originally committed to SVN as r6879.
2012-05-26 20:16:08 +00:00
Thomas Goyne 1da7502d6e Remove pointless commented-out code
Originally committed to SVN as r6878.
2012-05-26 20:16:05 +00:00
Thomas Goyne ae672b64af Add Objective-C++ support to the makefile
Originally committed to SVN as r6877.
2012-05-26 20:16:02 +00:00
Thomas Goyne dc5d6c9a4a Add missing include in unix/log.cpp and wrap includes in #ifndef LAGI_PRE
Originally committed to SVN as r6876.
2012-05-26 17:00:16 +00:00
Thomas Goyne 427c8406d5 hurr durr gtk. Closes #1474.
Originally committed to SVN as r6875.
2012-05-26 16:54:55 +00:00
Thomas Goyne a75c8705bb Make bitmap.{h,cpp} depend on their input files
Originally committed to SVN as r6874.
2012-05-26 16:54:52 +00:00
Thomas Goyne e4154b1ae0 Don't include the version in the automation install path. Closes #1493.
Originally committed to SVN as r6873.
2012-05-26 16:54:48 +00:00
Thomas Goyne bf9a71f91a assdraw: remove unused stuff
Originally committed to SVN as r6872.
2012-05-26 16:54:45 +00:00
Thomas Goyne e368b068e4 assdraw: eliminate some variable shadowing
Originally committed to SVN as r6871.
2012-05-26 16:54:42 +00:00
Thomas Goyne 618c4b8afa assdraw: delete some commented code
Originally committed to SVN as r6870.
2012-05-26 16:54:39 +00:00
Thomas Goyne 4b662d74f4 assdraw: create the config dir if it doesn't already exist
Originally committed to SVN as r6869.
2012-05-24 01:56:39 +00:00
Thomas Goyne 03259b3ceb assdraw: always write the config file to the user's config dir
Originally committed to SVN as r6868.
2012-05-24 01:56:36 +00:00
Thomas Goyne 77b60b579e assdraw: actually set the app name
Originally committed to SVN as r6867.
2012-05-24 01:56:33 +00:00
Thomas Goyne c3aa3cbe00 assdraw: strip trailing whitespace from files
Originally committed to SVN as r6866.
2012-05-24 01:56:30 +00:00
Thomas Goyne 8c6d047115 assdraw: remove checks for basic wx features
Originally committed to SVN as r6865.
2012-05-24 01:56:27 +00:00
Thomas Goyne e215c9d22b assdraw: delete beta expiration code
Originally committed to SVN as r6864.
2012-05-24 01:56:24 +00:00
Thomas Goyne 3083df4a45 assdraw: delete some insane commented out code
Originally committed to SVN as r6863.
2012-05-24 01:56:21 +00:00
Thomas Goyne 091af97248 assdraw: use CSS syntax to save colors since it actually supports alpha
Originally committed to SVN as r6862.
2012-05-24 01:56:18 +00:00
Thomas Goyne eb1184b329 assdraw: add minimal OS X bundle generation script
Originally committed to SVN as r6861.
2012-05-24 01:56:15 +00:00
Thomas Goyne 01eba350b7 assdraw: fix assertion failure from reading and writing a bitmap at the same time
Originally committed to SVN as r6860.
2012-05-24 01:56:12 +00:00
Thomas Goyne f0eaaacd06 assdraw: actually ask for all of the wx libraries used
Originally committed to SVN as r6859.
2012-05-24 01:56:09 +00:00
Thomas Goyne b67edaff6d assdraw: add missing news when creating PG properties
Originally committed to SVN as r6858.
2012-05-24 01:56:06 +00:00
Thomas Goyne ecc05d5965 assdraw: fix AddTool argument order
Originally committed to SVN as r6857.
2012-05-24 01:56:03 +00:00
Thomas Goyne a30b9d4fdb assdraw: remove pointless variable that clang barfs on
Originally committed to SVN as r6856.
2012-05-24 01:56:00 +00:00
Thomas Goyne fd322e8dc9 assdraw: pass enough arguments to wxFlexGridSizer's constructor
Originally committed to SVN as r6855.
2012-05-24 01:55:57 +00:00
Thomas Goyne a0c0b5a865 assdraw: remove wxADJUST_MINSIZE (which didn't actually do anything)
Originally committed to SVN as r6854.
2012-05-24 01:55:54 +00:00
Thomas Goyne 822f659055 assdraw: add missing wx/dcclient include
Originally committed to SVN as r6853.
2012-05-24 01:55:51 +00:00
Thomas Goyne cfb34bd50c assdraw: typedef wxPGId for backwards comaptibility
Originally committed to SVN as r6852.
2012-05-24 01:55:49 +00:00
Thomas Goyne decc47a568 assdraw: fix memory leak
Originally committed to SVN as r6851.
2012-05-24 01:55:46 +00:00
Thomas Goyne 40a2bae771 assdraw: remove pointless out of date inline copy of libpropgrid
Originally committed to SVN as r6850.
2012-05-24 01:55:42 +00:00
Thomas Goyne c4367f083c assdraw: add wxwin.m4
Originally committed to SVN as r6849.
2012-05-24 01:55:39 +00:00
Thomas Goyne 5dd13ea811 assdraw: fix some derp in the configure script
Originally committed to SVN as r6848.
2012-05-24 01:55:36 +00:00
Thomas Goyne 86674614a4 assdraw: actually set the package name in configure.in
Originally committed to SVN as r6847.
2012-05-24 01:55:33 +00:00
Thomas Goyne fb77e183e6 assdraw: replace autogen.sh with buildconf
The autogen.sh script was incredibly out of date and dumb.

Originally committed to SVN as r6846.
2012-05-24 01:53:59 +00:00
Thomas Goyne 1206906c32 Automatically generate the list of supported languages rather than hardcoding it
Originally committed to SVN as r6845.
2012-05-24 01:53:56 +00:00
Thomas Goyne a6036d98f1 Fix copyright years and URL in the plist
Originally committed to SVN as r6844.
2012-05-24 01:53:53 +00:00
Thomas Goyne 29e9d09859 Fix non-precompiled-header compilation
Originally committed to SVN as r6843.
2012-05-23 03:38:50 +00:00
Thomas Goyne 11747a6c27 Regenerate aegisub.pot
Originally committed to SVN as r6842.
2012-05-23 03:38:47 +00:00
Thomas Goyne c6aa43de72 Add command audio/play/current
This is like audio/play/selection except it ignores changes to the
primary range during playback, and always stops when the original end of
the line is reached.

Originally committed to SVN as r6841.
2012-05-23 03:38:44 +00:00
Thomas Goyne 567549c55d OS X: Add default hotkey to show/hide toolbar
Originally committed to SVN as r6840.
2012-05-23 03:38:41 +00:00
Thomas Goyne 58de109085 Add Show/Hide toolbar to the View menu
The Apple HIG says to include this, and I see no reason not to include
it on the other platforms as well.

Originally committed to SVN as r6839.
2012-05-23 03:38:37 +00:00
Thomas Goyne b9154a79c1 Also extract strings from the OS X default menu
Originally committed to SVN as r6838.
2012-05-23 03:38:34 +00:00
Thomas Goyne 24cd2bbdf9 Fix the name of the quit command
Originally committed to SVN as r6837.
2012-05-19 16:22:21 +00:00
Thomas Goyne 9f9e273de2 Compress the dmg with bzip2 rather than zlib
Reduces size by ~7%.

Originally committed to SVN as r6836.
2012-05-19 16:22:16 +00:00
Thomas Goyne 35279b6e28 Remove pointless blank buttons
Originally committed to SVN as r6835.
2012-05-19 15:49:23 +00:00
Thomas Goyne e4cc9d1404 OX X: Force 32x32 toolbar icons rather than 24x24
Originally committed to SVN as r6834.
2012-05-19 15:49:18 +00:00
Thomas Goyne 57d1d92a9e Make the 32x32 icons available in the program
Originally committed to SVN as r6833.
2012-05-19 15:49:12 +00:00
Thomas Goyne dc99f02d1d Add 32x32 icons to the respack manifest
Originally committed to SVN as r6832.
2012-05-19 15:49:06 +00:00
Thomas Goyne 2fdded77fb Add 32x32 versions of the icons for OX X
Originally committed to SVN as r6831.
2012-05-19 15:48:57 +00:00
Thomas Goyne 467f4b0c52 Fix crash when changing hotkeys after detaching video
ToolTipManager's slots can outlive the windows they're for, so use
wxWeakRef to avoid trying to update the tooltip for windows that have
been destroyed.

Originally committed to SVN as r6830.
2012-05-19 03:02:21 +00:00
Thomas Goyne b6e47f1cc0 Remove unused incldue in subs_edit_box.cpp
Originally committed to SVN as r6829.
2012-05-19 03:02:15 +00:00
Thomas Goyne dcbe114361 Add version of run.sh that works on OS X
Originally committed to SVN as r6828.
2012-05-19 01:13:11 +00:00
Thomas Goyne 3d512eb422 OS X: Always use 24x24 icons for toolbars attached to frames
32x32 icons really should be used here as they'll get automatically
upscaled to that anyway, but we currently don't have those.

Originally committed to SVN as r6827.
2012-05-19 01:13:05 +00:00
Thomas Goyne ba40e24326 Attach toolbars to the frame before populating them
Works around a wxOSX-Cocoa bug (http://trac.wxwidgets.org/ticket/13888)
that resulted in items never being added to the toolbar.

Originally committed to SVN as r6826.
2012-05-19 01:13:00 +00:00
Thomas Goyne 48c3b39cd1 Silence some warnings in universalchardet
Originally committed to SVN as r6825.
2012-05-19 01:12:54 +00:00
Thomas Goyne c7fb7eb295 Handle modeless dialogs which never fully open
Fixes crash when opening the spell checker dialog after no spelling
errors were found previously.

Closes #1491.

Originally committed to SVN as r6824.
2012-05-18 14:01:56 +00:00
Thomas Goyne 904b5aafe4 Set both the initial and value for font size spin ctrls as well
Originally committed to SVN as r6823.
2012-05-18 05:03:21 +00:00
Thomas Goyne 4f832e4b82 Cast size_ts passed to wxString::Format to ints
Originally committed to SVN as r6822.
2012-05-18 05:03:16 +00:00
Thomas Goyne 21100038f5 Explicitly set the value of the Matches radio box in the Select Lines dialog
On OS X is it not implicitly set to the opposite of the Doesn't Match
radio box as it is on other platforms.

Originally committed to SVN as r6821.
2012-05-18 05:03:11 +00:00
Thomas Goyne 5c10bfa2f3 OS X: Fix crash when opening Find/Replace dialog
Originally committed to SVN as r6820.
2012-05-18 05:03:05 +00:00
Thomas Goyne 2675bbb831 OS X: Adjust some default hotkeys to match the platform standards
Originally committed to SVN as r6819.
2012-05-18 05:03:00 +00:00
Thomas Goyne 2f2e33617a OS X: Rearrange menus a bit to get closer to normal
Originally committed to SVN as r6818.
2012-05-18 05:02:55 +00:00
Thomas Goyne 129edf3f12 OS X: Use Lucida Grande by default
Originally committed to SVN as r6817.
2012-05-18 05:02:50 +00:00
Thomas Goyne 3699a35988 Add OS X-specific default config, hotkey and menu files
Originally committed to SVN as r6816.
2012-05-18 05:02:43 +00:00
Thomas Goyne 33c36a3298 Fix double multiplication by sample rate that resulted in the waveform renderer allocating way more memory than needed
Originally committed to SVN as r6815.
2012-05-18 01:58:35 +00:00
Thomas Goyne 2243844d89 Actually copy the automation files into the .app
Originally committed to SVN as r6814.
2012-05-17 05:22:52 +00:00
Thomas Goyne 7c203dd750 Don't version-suffix the fontconfig cache path
Everything else is put in ~/Library/Application Support/Aegisub/, so put
the fontconfig cache there as well instead of ~/Library/Application
Support/Aegisub-3.0/

Originally committed to SVN as r6813.
2012-05-17 05:22:46 +00:00
Thomas Goyne 015d533556 Fix bad destruction order when exiting without closing the main window first
On OS X, when closing via Quit the document windows are not closed until
after OnExit is called, resulting the project context being destructed
after the global stuff, resulting in crashes on exit in some cases.

Originally committed to SVN as r6812.
2012-05-16 14:23:16 +00:00
Thomas Goyne 7ab4f85211 Stop audio undo coalescing when swtiching between lines
Originally committed to SVN as r6811.
2012-05-16 14:23:10 +00:00
Thomas Goyne c86f553aa7 Handle the menu items that are moved to the application menu on OS X
Originally committed to SVN as r6810.
2012-05-16 04:57:24 +00:00
Thomas Goyne e51a86195f Don't signal ScriptsChanged in ScriptManager's destructor
Fixes a crash on exit on OS X

Originally committed to SVN as r6809.
2012-05-16 04:57:18 +00:00
Thomas Goyne 7570d2b982 Fix wxString::Format assertion failure when opening the log window
Originally committed to SVN as r6808.
2012-05-16 04:57:12 +00:00
Thomas Goyne 7e8c18492f Fix non-precompiled-header compilation
Originally committed to SVN as r6807.
2012-05-16 04:57:06 +00:00
Thomas Goyne 0efae2fc85 Add ffms2's cflags to preferenes.cpp
Originally committed to SVN as r6806.
2012-05-16 04:56:59 +00:00
Thomas Goyne e798e517bd Add padding to the sides of the jump to dialog
Originally committed to SVN as r6805.
2012-05-15 14:11:30 +00:00
cantabile 8960e840d2 Vertically center various widgets
Preferences: labels.
Properties dialog: resolution textboxes.
Fonts collector: path textbox.
Resample resolution: resolution spin boxes.
Video details: labels.

Originally committed to SVN as r6804.
2012-05-15 14:07:14 +00:00
cantabile b8f7d5eb13 Jump To dialog: use correct format specifier in wxString::Format
Avoids an assertion failure.

Originally committed to SVN as r6803.
2012-05-15 14:07:10 +00:00
cantabile 5d9268792f Make the Jump To dialog less silly
- Don't set arbitrary sizes for the labels and textboxes.
- Get rid of the horizontal box sizers because the labels just wouldn't
  center vertically. Use a grid sizer instead.
- Use a wxStdDialogButtonSizer instead of creating the buttons manually.

Originally committed to SVN as r6802.
2012-05-15 14:07:05 +00:00
cantabile 9254ea8ff6 Dummy video dialog: make the OK button the default button of the dialog
Done by imitating the buttons in the timing postprocessor.

Originally committed to SVN as r6801.
2012-05-15 14:07:00 +00:00
cantabile 848ebf4d2d Move two accelerators
SubsEditBox: move accelerator so it doesn't conflict with "Timing" menu.
Dummy video dialog: move accelerator so it doesn't conflict with the
Cancel button.

Originally committed to SVN as r6800.
2012-05-15 14:06:55 +00:00
cantabile 597b92bb7f Silence three gcc warnings ("ambiguous else")
Originally committed to SVN as r6799.
2012-05-15 14:06:49 +00:00
cantabile 68d7677e14 Never focus the comment checkbox (wxGTK only)
The checkbox can be toggled using its accelerator, without needing to
switch focus back to whatever was focused before.

Originally committed to SVN as r6798.
2012-05-15 14:06:44 +00:00
cantabile 1afc3a816f Alsa player: avoid allocating an array of negative size and add some printfs for debugging.
Originally committed to SVN as r6797.
2012-05-15 14:06:39 +00:00
cantabile 9f6d117875 Preferences: give the font and path textboxes a minimum width of 160 px
The default minimum width was too small.

Originally committed to SVN as r6796.
2012-05-15 14:06:34 +00:00
cantabile c868928817 Preferences, Colors page: make the box sizers expand
This way the Colors page behaves more or less like the other pages.

Originally committed to SVN as r6795.
2012-05-15 14:06:29 +00:00
cantabile 8887f96098 Preferences: rearrange the "Colors" page a bit
Make it look less asymmetrical.

Originally committed to SVN as r6794.
2012-05-15 14:06:24 +00:00
cantabile 54a08a44c1 stdout log emitter: flush stdout after every printf() if stdout is not a terminal
This makes it possible to watch aegisub's output in realtime even if its
stdout is redirected to a file.

Originally committed to SVN as r6793.
2012-05-15 14:06:18 +00:00
Thomas Goyne d38e02c031 Always use wxPATH_WIN for wxFileName::GetForbiddenChars
While it's possible to have files with the DOS-only forbidden characters
on other platforms, wx doesn't actually support them very well.

Closes #1489.

Originally committed to SVN as r6792.
2012-05-15 13:40:10 +00:00
Thomas Goyne ea1dbc3e8c Remove out of date bug workaround
Panel borders no longer make update region coordinates be out of sync
with drawing coordinates.

Originally committed to SVN as r6791.
2012-05-15 13:40:05 +00:00
Thomas Goyne d31b795e60 Move the logic for Enter in a time edit to SubsEditBox
It doesn't make any sense for the time edits used elsewhere, and it made
Enter in a time edit not close dialogs.

Originally committed to SVN as r6790.
2012-05-15 13:40:00 +00:00
Thomas Goyne fc7164422c Flush options after asking the first-startup questions
Originally committed to SVN as r6789.
2012-05-15 13:39:55 +00:00
Thomas Goyne 4940a98e85 Set both the initial and value fields of spin controls in the preferences dialog since wx ports are inconsistent about which is used
Originally committed to SVN as r6788.
2012-05-15 13:39:50 +00:00
Thomas Goyne 5b9ba0205a Always use change_value for setting spin ctrls in the color picker
With wxCocoa the change events from SetValue are processed immediately,
resulting in significant breakage as in some cases multiple spin
controls need to be set at once. Even on other platforms where things
appeared to work due to the change notifications being delayed, they
still didn't do anything useful and slowed updates down slightly.

Originally committed to SVN as r6787.
2012-05-15 13:39:45 +00:00
Thomas Goyne ad64e8e48a Remove hardcoded widths for the labels in the color picker
This results in the controls being slightly misaligned, but that's not
as bad as truncating the labels.

Originally committed to SVN as r6786.
2012-05-15 13:39:40 +00:00
Thomas Goyne a97c7fa1f6 Fix infinite loop when changing the color in the color picker on OS X
Originally committed to SVN as r6785.
2012-05-15 13:39:35 +00:00
Thomas Goyne 75305877f0 Set the initial values of the color picker before binding events
Originally committed to SVN as r6784.
2012-05-15 13:39:30 +00:00
Thomas Goyne ba413fa64d Rework destruction of FrameMain's children
wxCocoa doesn't like reparenting SubsGrid to NULL, so instead
recursively destroy all of FrameMain's children other than SubsGrid and
its parent. Fixes a crash on exit on OS X.

Originally committed to SVN as r6783.
2012-05-15 13:39:24 +00:00
Thomas Goyne 3a951a2564 Fix wxstd.mo paths in osx-bundle.sh
Originally committed to SVN as r6782.
2012-05-14 13:22:09 +00:00
Thomas Goyne 827abff4c3 Recreate the App dir if it already exists rather than falling down
Originally committed to SVN as r6781.
2012-05-14 13:22:04 +00:00
Thomas Goyne 2a5666be69 Pass the path to wx-config to osx-bundle.sh as it may not be on the path
Originally committed to SVN as r6780.
2012-05-14 13:21:58 +00:00
Thomas Goyne fa70f15988 Remove the message about not asking for support with SVN revisions
Originally committed to SVN as r6779.
2012-05-14 13:21:53 +00:00
Thomas Goyne aee4657ece Remove the check for wx's m4 since we ship it now
Originally committed to SVN as r6778.
2012-05-14 13:21:48 +00:00
Thomas Goyne bdda855438 Explicitly set the git log format rather than relying on the default
Originally committed to SVN as r6777.
2012-05-14 13:21:43 +00:00
Thomas Goyne 069b34a806 Remove osx-bundle.sed on distclean, not clean
Originally committed to SVN as r6776.
2012-05-14 13:21:38 +00:00
Thomas Goyne 6b21485c0b Add default_config_platform.json to distclean files
Originally committed to SVN as r6775.
2012-05-14 13:21:33 +00:00
Thomas Goyne a126dea300 Make osx-bundle.sh exit on error
Originally committed to SVN as r6774.
2012-05-14 13:21:27 +00:00
Thomas Goyne 0239ab6688 Remove the explicit height from the preferences dialog
The height was too short to fit the contents in some cases, and wasn't
even used on Windows. Patch by cantabile.

Closes #1488.

Originally committed to SVN as r6773.
2012-05-13 00:58:16 +00:00
Thomas Goyne 57e06a6cad Fix error when a dropdown in the preferences dialog has no values
Originally committed to SVN as r6772.
2012-05-13 00:58:11 +00:00
Thomas Goyne d04bc6d9b4 Don't paint the audio display if it hasn't been fully initialized due to audio not being open
Originally committed to SVN as r6771.
2012-05-13 00:58:06 +00:00
Thomas Goyne c0d3cbf688 Make the use of blacklisted paths when building a OS X bundle a warning rather than an error
Originally committed to SVN as r6770.
2012-05-13 00:58:01 +00:00
Thomas Goyne deaf8669da Make make osx-dmg run make osx-bundle automatically
Originally committed to SVN as r6769.
2012-05-13 00:57:56 +00:00
Thomas Goyne 8abfdd6156 Actually fail if wx can't be found
Originally committed to SVN as r6768.
2012-05-13 00:57:50 +00:00
Thomas Goyne 2cc44be966 Add wxwin.m4 to acinclude.m4 so that it actually gets used without the user manually setting the aclocal path
Originally committed to SVN as r6767.
2012-05-13 00:57:45 +00:00
Thomas Goyne 65117f56d3 Add 1.12 to the automake versions checked for
Originally committed to SVN as r6766.
2012-05-13 00:57:40 +00:00
Thomas Goyne 35fa6c47ce Automatically add a "Default" style to the "Default" catalog as 2.1.x did. Patch by cantabile. Closes #1487.
Originally committed to SVN as r6765.
2012-05-13 00:57:34 +00:00
Thomas Goyne 3388281fb7 Fix error when the style catalog directory doesn't exist or is empty
Use wxDir::GetFirst/GetNext rather than wxFileFirstFile since the latter
doesn't have any way to signal that there aren't actually any files to
be found.

Closes #1486.

Originally committed to SVN as r6764.
2012-05-13 00:57:25 +00:00
Thomas Goyne 2addf40b31 Fix typo (204M -> 240M)
Originally committed to SVN as r6763.
2012-05-11 14:42:30 +00:00
Thomas Goyne bc74dfc33b Update the video matrix tagging scheme
Write the color range and color space used to convert video to RGB to
the YCbCr Matrix field, or None if no non-RGB video was opened. See
http://code.google.com/p/xy-vsfilter/issues/detail?id=91 for related
discussion.

Originally committed to SVN as r6762.
2012-05-11 14:38:44 +00:00
Thomas Goyne baacea6ab0 Force threads to 1 when opening video via lavf since the ffms2 bug that makes multithreaded decoding sometimes break still hasn't been fixed
Originally committed to SVN as r6761.
2012-05-11 02:58:34 +00:00
Thomas Goyne c354dc9e30 Fix brokenness in the curve smoothing
Originally committed to SVN as r6760.
2012-05-11 02:47:24 +00:00
Thomas Goyne a05d469741 Actually do the smoothing when drawing a smoothed freehand shape
Originally committed to SVN as r6759.
2012-05-11 02:47:18 +00:00
Thomas Goyne c4e36e00a5 Fix compilation with wxGTK trunk
Originally committed to SVN as r6758.
2012-05-10 14:19:07 +00:00
Thomas Goyne f1b2b4a3da Don't allow opening multiple copies of the spell checker dialog
Originally committed to SVN as r6757.
2012-05-10 14:19:02 +00:00
Thomas Goyne 47fb50d4d3 Fix crash after cancelling the shift times dialog. Closes #1483.
Originally committed to SVN as r6756.
2012-05-10 14:18:54 +00:00
Thomas Goyne f724abd0b8 Add support for symlinking fonts rather than copying them in the fonts collector. Based on a patch by nodame.
Originally committed to SVN as r6755.
2012-05-10 14:18:47 +00:00
Thomas Goyne 18f158a364 Rename option "Always show visual tools" to "Only show visual tools when mouse is over video" as the old name said nothing about when they wouldn't be shown.
Originally committed to SVN as r6754.
2012-05-05 02:11:15 +00:00
Thomas Goyne 06e23b9296 Use SetSelectionAndActive whenever both are set at once
I'm not sure if this fixes any current actual problems as using slightly
stale data is normally only a problem when lines are being deleted, but
it's easier to fix it across the board than to figure out where it is
and isn't needed, and the speed impact of batching is trivial.

Originally committed to SVN as r6753.
2012-05-05 02:11:09 +00:00
Thomas Goyne f756aa73c1 Add SelectionController::SetSelectionAndActive, which automatically batches the changes to the selection and active line
Originally committed to SVN as r6752.
2012-05-05 02:11:03 +00:00
Thomas Goyne 70abaf75d7 Don't cache the selection in the dialogue timing controller, as getting it isn't very expensive and it was used in a stale state when the active line changed
Originally committed to SVN as r6751.
2012-05-05 02:10:57 +00:00
Thomas Goyne a15024e052 Trigger a modified event on Enter in a time edit so that selecting several lines and hitting Enter to set them all to the active line's time works
Originally committed to SVN as r6750.
2012-05-04 02:53:14 +00:00
Thomas Goyne 9269c79763 Only clear the selection due to a click on no visual features if there are actually multiple visual features to select
Originally committed to SVN as r6749.
2012-05-04 02:53:09 +00:00
Thomas Goyne 479de87068 Leave the selected range in the audio display unchanged when switching to an untimed line as 2.1.x did
Originally committed to SVN as r6748.
2012-05-04 02:53:03 +00:00
Thomas Goyne 1bd24d837c Allow block selections on the grid with modifier keys held down
Originally committed to SVN as r6747.
2012-05-04 02:52:58 +00:00
Thomas Goyne 213ccccf86 Redesign the logic for scrolling the grid on drags
Update the grid scroll position on mouse up rather than mouse down,
eliminating the need for the logic that made it impossible to do a drag
selection from the top or bottom rows of the grid, and fix some cases
where the grid would scroll in an undesirable direction.

Originally committed to SVN as r6746.
2012-05-04 02:52:52 +00:00
Thomas Goyne 4d7c6b08e0 Leave the current line selected after splitting at cursor rather than selecting the new line
Originally committed to SVN as r6745.
2012-05-03 03:14:11 +00:00
Thomas Goyne 4603a86953 Don't pointless recreate the subs provider when the subs preview is resized
Fixes a bug that made it rather awkward to resize the style editor
dialog with libass, as the libass provider briefly creates a modal
dialog whenever it's created, which would interrupt the drag

Originally committed to SVN as r6744.
2012-05-02 22:42:43 +00:00
Thomas Goyne 63d60b9b1e Save the size of the style editor in addition to the position
Originally committed to SVN as r6743.
2012-05-02 22:42:37 +00:00
Thomas Goyne 5a067f56e4 Add command "time/lead/both" which adds both lead in and out
Originally committed to SVN as r6742.
2012-05-02 22:42:31 +00:00
Thomas Goyne 8f3b027881 Improve the negative-duration-avoiding behavior of the time edit boxes
Save the initial start and end times of lines before adjusting them to
avoid negative line durations, so that if further changes to the edit
boxes make the adjustment unneccesary the original values can be
restored. This Fixes the problem where changing a line visible from
frames 800-900 to 800-901 would actually result in 90-901, due to the
end frame briefly being 90.

Originally committed to SVN as r6741.
2012-05-02 22:42:25 +00:00
Thomas Goyne 252351b7da Don't stop audio playback when switching lines
Originally committed to SVN as r6740.
2012-05-02 22:42:18 +00:00
Thomas Goyne 4be8e3595b Limit the duration of the lines created with Insert (before) and Insert (after) to the default timing length
Originally committed to SVN as r6739.
2012-05-02 00:31:44 +00:00
Thomas Goyne cb75c42f04 Leave the old audio open when opening new audio fails for any reason
Originally committed to SVN as r6738.
2012-05-02 00:31:38 +00:00
Thomas Goyne b8212512e7 Work around a bug which made style names in the style editor scrolled to the left far sooner than they needed to be
Originally committed to SVN as r6737.
2012-05-01 02:50:09 +00:00
Thomas Goyne 2ef7ed98c0 Update the audio scroll position at most once every 50ms when dragging markers
Originally committed to SVN as r6736.
2012-05-01 02:50:03 +00:00
Thomas Goyne 1558aa2dad Increase the height of the audio display scrollbar by 50%
Originally committed to SVN as r6735.
2012-05-01 02:49:58 +00:00
Thomas Goyne 4231653146 When joining lines, use the maximum of the lines' end times rather than the last line's end time
Originally committed to SVN as r6734.
2012-05-01 02:49:53 +00:00
Thomas Goyne 9e3553c199 Join concatenated lines with a space rather than \N
Originally committed to SVN as r6733.
2012-05-01 02:49:48 +00:00
Thomas Goyne 834c2849da Scroll 1/3 of the audio display per mouse wheel click rather than 120 pixels
This is what 2.1.x did (except this actually handles nonstandard wheel
deltas) and is generally far more usable.

Originally committed to SVN as r6732.
2012-05-01 02:49:43 +00:00
Thomas Goyne 1c4bb4a0e2 Split Lead In and Lead Out into separate passes in the TPP
This makes it so that if there is a gap between two lines but not enough
space for both the full lead-in and lead-out to be added, adding lead-in
to the second line will be prioritized over adding lead-out to the first
line, which is usually the desired result.

Originally committed to SVN as r6731.
2012-05-01 02:49:38 +00:00
Thomas Goyne 742cbf16aa Add WebM to the list of supported video formats
Originally committed to SVN as r6730.
2012-05-01 02:49:33 +00:00
Thomas Goyne 2deafdd3a7 Fix race condition on shutdown that could result in the program not completely exiting on Windows
Originally committed to SVN as r6729.
2012-05-01 02:49:26 +00:00
Thomas Goyne 81d1073a97 Move the auto4 script factories to a local non-heap static to reduce memory leak report noise
Originally committed to SVN as r6728.
2012-04-27 19:08:17 +00:00
Thomas Goyne 38e87e2c83 Fix formatting string assertion failure in the search/replace dialog. Closes #1478.
Originally committed to SVN as r6727.
2012-04-27 19:08:09 +00:00
Thomas Goyne c71734a8a4 Fix the width of the adjacent bias slider in the TPP dialog on wxGTK. Closes #1477.
Originally committed to SVN as r6726.
2012-04-27 19:08:02 +00:00
Thomas Goyne f3238e2609 Bump required version of wx to 2.9.3
Although EVT_CHAR_HOOK was added in 2.9.2, it does not behave in the
required way until 2.9.3.

Originally committed to SVN as r6725.
2012-04-27 19:07:57 +00:00
Thomas Goyne 123f02f0fb Process hotkeys in wxEVT_CHAR_HOOK rather than wxEVT_KEY_DOWN
Char hook events propagate by default, removing the need for the event
filter to make key down events propagate, which was causing some funny
issues.

On Windows, the char hook handler runs before menu accelerators, fixing
a bug where Default context hotkeys would override more specific ones
when they appeared on a menu. Unfortunately, this is not the case on
GTK, so the dumb accelerator-disabling hack is still required.

Originally committed to SVN as r6724.
2012-04-27 19:07:49 +00:00
Thomas Goyne 40b1fbaa1b Implement audio/play/toggle (default hotkey B)
Originally committed to SVN as r6723.
2012-04-27 19:07:42 +00:00
Thomas Goyne 46a27a4e46 Eliminate excess spacing from CellSkip
Originally committed to SVN as r6722.
2012-04-27 19:07:36 +00:00
Thomas Goyne b275399fb1 Add option to draw lines at each second in the audio display
Originally committed to SVN as r6721.
2012-04-27 19:07:29 +00:00
Thomas Goyne 8b854283b7 Add audio/commit/default command
This command commits the current line, advances to the next line (even
if Auto Next on Commit is disabled), and resets the next line's time to
the default timing as if the next line was zero-timed. Add a default
hotkey of Shift-G, but don't bother with a toolbar button for now as
demand for this turned out to be fairly low.

Closes #946.

Originally committed to SVN as r6720.
2012-04-27 19:07:21 +00:00
Thomas Goyne eb26bc51b9 Add commit commands which always stay and always advance regardless of the auto advance setting
Originally committed to SVN as r6719.
2012-04-27 19:07:15 +00:00
Thomas Goyne 99a65974e4 Move the Next Line on Commit logic to the commit command so that other commands can do different things
Originally committed to SVN as r6718.
2012-04-27 19:07:07 +00:00
Thomas Goyne 79282d7b89 Add the header background color to the preferences dialog
Originally committed to SVN as r6717.
2012-04-27 19:06:58 +00:00
Thomas Goyne e4df8f9654 Reduce the Matroska read-ahead to 1KB
We only read subtitles, which are individually very small and generally
have video frames between them, resulting in most of the 65 KB
previously read being wasted. On an arbitrary test file this speeds up
subtitle reading from a cold cache by ~25%, and ~60% from warm.

Originally committed to SVN as r6716.
2012-04-22 15:31:16 +00:00
Thomas Goyne b13c72e967 Fix a few places where 32-bit fseek/ftell were used in the Matroska reader code
Originally committed to SVN as r6715.
2012-04-22 15:31:11 +00:00
Thomas Goyne 35241bdbce Fix wxString::Format assertion failure when opening subtitles from Matroska
Originally committed to SVN as r6714.
2012-04-22 15:31:06 +00:00
Thomas Goyne 95344fdb7c Always write user dictionaries to ?user/dictionaries
The value of Path/Dictionary is not guaranteed to be writable, and on
linux is likely to not be.

Originally committed to SVN as r6713.
2012-04-21 15:13:57 +00:00
Thomas Goyne fb5f94ca74 Change the spell checker and thesaurus language lists to radio items rather than check items
Originally committed to SVN as r6712.
2012-04-21 15:13:51 +00:00
Thomas Goyne 0a64763f2f Set the audio volume from the slider when audio is opened
Originally committed to SVN as r6711.
2012-04-21 15:13:46 +00:00
Thomas Goyne 3c31c1a17a Store the loaded audio file as a path relative to the subtitles, as is done with video
Originally committed to SVN as r6710.
2012-04-21 15:13:40 +00:00
Thomas Goyne 15eb4dc29d Fix bad option name that caused a fatal error on startup for clean installs
Originally committed to SVN as r6709.
2012-04-17 15:03:27 +00:00
Thomas Goyne 3253ccdb90 Move the "Force BT.601" option out of the FFmpegSource category as it's no longer FFMS2-specific, and make it on by default
Originally committed to SVN as r6708.
2012-04-16 23:55:21 +00:00
Thomas Goyne eceac482d0 Add BT.601/BT.709 guessing to the Avisynth video provider along with support for Force BT.601
Originally committed to SVN as r6707.
2012-04-16 23:55:15 +00:00
Thomas Goyne c28a2d33ed Explicitly enable optimization for the CSRI project to eliminate some link-time warnings about optimizations being disabled
Originally committed to SVN as r6706.
2012-04-16 23:55:10 +00:00
Thomas Goyne c28f262ec4 Use a save file dialog when extracting attachments rather than an open one
Originally committed to SVN as r6705.
2012-04-16 23:55:04 +00:00
Thomas Goyne 8a03e3a374 Read and write attachments in binary mode so they don't get mutilated on Windows
Originally committed to SVN as r6704.
2012-04-16 23:54:59 +00:00
Thomas Goyne d83507c816 Use the overload of wxComboBox::Append that takes a wxArrayString rather than manually looping over the items
Originally committed to SVN as r6703.
2012-04-16 23:54:53 +00:00
Thomas Goyne e5540de2da Delay creation of the thesaurus until it's needed
Although in absolute terms it does not take very long, loading the 18 MB
en_US thesaurus was about three quarters of Aegisub's total startup
time when opening with no command line arguments.

Originally committed to SVN as r6702.
2012-04-16 23:54:47 +00:00
Thomas Goyne 20a31f8e32 Change the default subtitles provider on Windows to "CSRI/vsfilter_aegisub"
Originally committed to SVN as r6701.
2012-04-16 23:54:42 +00:00
Thomas Goyne ed27a4eaa4 When gathering CSRI renderers, stick those with "aegisub" in the name at the beginning, so that the shipped copy of VSFilter will be used by default
Originally committed to SVN as r6700.
2012-04-16 23:54:34 +00:00
Thomas Goyne 0f9289dc0f Reduce how long the CSRI lock is held
Originally committed to SVN as r6699.
2012-04-14 03:17:22 +00:00
Thomas Goyne 24fde36e7f Don't fallback to default when trying to create a nonexistent CSRI renderer, as that should never happen
Originally committed to SVN as r6698.
2012-04-14 03:17:15 +00:00
Thomas Goyne 77eaedd611 Use wxEVT_CHAR_HOOK rather than wxEVT_KEY_DOWN in the hotkey editor so that hotkeys can be set to Esc
Originally committed to SVN as r6697.
2012-04-13 22:27:56 +00:00
Thomas Goyne 1d15bf273a Fix compilation failure from incomplete merging in r6692
Originally committed to SVN as r6696.
2012-04-12 15:40:25 +00:00
Thomas Goyne ba7b7efc12 Rename the 'Start-marker drag sensitivity' option, as its name was highly misleading
Originally committed to SVN as r6695.
2012-04-12 00:04:36 +00:00
Thomas Goyne 0da9a4f111 Add option to disable the new behavior where left-click-drag sets the start marker then drags the end marker
Originally committed to SVN as r6694.
2012-04-12 00:04:31 +00:00
Thomas Goyne 313fa2e1eb Use START times rather than EXACT for keyframe markers so that they agree with the snap start/end to frame commands
Originally committed to SVN as r6693.
2012-04-12 00:04:24 +00:00
Thomas Goyne bdafd8f201 Reset to the platform-specific default option values rather than the global defaults
Originally committed to SVN as r6692.
2012-04-11 04:10:56 +00:00
Thomas Goyne 4cafedb14e Regenerate aegisub.pot and fix a msgid misspelling
Originally committed to SVN as r6691.
2012-04-11 03:43:16 +00:00
Thomas Goyne 39d2546dcd Add a button to the preferences dialog to reset all options to the defaults
Originally committed to SVN as r6690.
2012-04-11 03:43:08 +00:00
Thomas Goyne 3ae96b59b9 Set the event type for version checker results correctly so that the dialog actually gets displayed
Originally committed to SVN as r6689.
2012-04-10 23:19:42 +00:00
Thomas Goyne 30565530eb Pick the CSRI renderer when the provider is created rather than every time subtitles are loaded
Originally committed to SVN as r6688.
2012-04-10 20:41:25 +00:00
Thomas Goyne 9f87a2bacb Only register the CSRI subtitles provider if there actually are any CSRI providers available
Originally committed to SVN as r6687.
2012-04-10 20:41:20 +00:00
Thomas Goyne e6978e9909 Fix some things in the po files
In cases where an English-specific change was made to a string (such as
fixing a misspelling or colour -> color), update the corresponding msgid
in the po.

Apply some of the punctuation changes where it's safe to. Many strings
lost some punctuation at the end, so simply update the msgid when the
translation didn't have any punctuation at the end, and if the
punctuation was the same, update both the msgid and msgstr (and leave it
up to the translator if the punctuation was different).

Update msgid and msgstr in the cases where the printf formatting
character was the only thing that changed.

This decreases the number of new strings by up to ~150.

Originally committed to SVN as r6686.
2012-04-10 20:41:11 +00:00
Thomas Goyne d2483f6b37 Regenerate aegisub.pot
Originally committed to SVN as r6685.
2012-04-10 20:41:05 +00:00
Thomas Goyne e2edd71f9d Make top-level menubar items translatable
Originally committed to SVN as r6684.
2012-04-10 20:41:00 +00:00
Thomas Goyne ee84961d36 Make the invalid command name message translatable, as it's displayed to the user in non-error situations
Originally committed to SVN as r6683.
2012-04-10 20:40:54 +00:00
Thomas Goyne d842e73643 Make the hotkey context names translatable
Originally committed to SVN as r6682.
2012-04-10 20:40:48 +00:00
Thomas Goyne f7a42e8821 Mark the Actor and Effect placeholder texts as translatable
Originally committed to SVN as r6681.
2012-04-10 20:40:43 +00:00
Thomas Goyne 0c7638aed5 s/were were/were/g
Originally committed to SVN as r6680.
2012-04-10 20:40:37 +00:00
Thomas Goyne 711faf17fa Readd the 's' to 'Subtitles provider'
Originally committed to SVN as r6679.
2012-04-10 20:40:32 +00:00
Thomas Goyne 08a63d437a Don't mark the provider/player names as translatable in the preferences dialog
The dropdown to pick the provider/player can't be made translatable with
how they're currently implemented, and having the options group name not
match the values in the dropdown is more confusing than useful.

Originally committed to SVN as r6678.
2012-04-10 20:40:26 +00:00
Thomas Goyne 7cda44c3f0 Readd the number prefixes to the automation log levels in the preferences dialog
Originally committed to SVN as r6677.
2012-04-10 20:40:20 +00:00
Thomas Goyne af0e58f876 Readd the word 'Mode' to 'Cycle Tag Hiding Mode'
Originally committed to SVN as r6676.
2012-04-10 20:40:14 +00:00
Thomas Goyne 87455d7f7e Append a blank line to the end of the fonts collector log since it clips the bottom few pixels of the last line on windows
Originally committed to SVN as r6675.
2012-04-08 02:28:50 +00:00
Thomas Goyne 79f24a5fb2 Add a warning when the fonts collector finds over 32 MB of fonts
Originally committed to SVN as r6674.
2012-04-08 02:28:43 +00:00
Thomas Goyne c614980dca "Fix" issues with hotkeys not working with wxGTK
GTK accelerators silently swallow the keypresses when the menu item is
disabled, so disable accelerators completely and just use our hotkey system.

Closes #1314.

Originally committed to SVN as r6673.
2012-04-07 01:06:34 +00:00
Thomas Goyne db69fdbbcd Vertically center the labels in the color picker dialog. Closes #1467.
Originally committed to SVN as r6672.
2012-04-06 15:51:14 +00:00
Thomas Goyne 309bc35af3 Don't accept keyboard focus in the color picker controls which can't be used via the keyboard. Updates #1467.
Originally committed to SVN as r6671.
2012-04-06 15:51:07 +00:00
Thomas Goyne 07eb718fa1 Rearrange control creation in the color picker dialog to get a less weird tab order. Updates #1467.
Originally committed to SVN as r6670.
2012-04-06 15:51:00 +00:00
Thomas Goyne 5f00eb62f4 Fix a case where Recombine Lines would leave an empty line
If a "1, 1+2, 1" pattern appeared at the end of the selection the blank
line at the end would never get cleaned up as it's removed when the line
after it is checked for recombination, so add a special case for that.

Closes #1468.

Originally committed to SVN as r6669.
2012-04-06 15:50:54 +00:00
Thomas Goyne 3403734c00 Update the cached grid colors when the relevant options are changed rather than just repainting the grid. Closes #1466.
Originally committed to SVN as r6668.
2012-04-06 15:50:46 +00:00
Thomas Goyne 9f3fd691e2 Unskip key events handled by the non-command keypress handling in BaseGrid
hotkey::check marks non-matching events as skipped, so the default key
event handler was running even if BaseGrid did something with the
keypress.

Closes #1464.

Originally committed to SVN as r6667.
2012-04-06 03:53:38 +00:00
Thomas Goyne 01f3049c0f Add batch file for 64-bit portable
Originally committed to SVN as r6666.
2012-04-06 01:55:40 +00:00
Thomas Goyne b6dab6f9bc Add 64-bit installer
Originally committed to SVN as r6665.
2012-04-06 01:55:34 +00:00
Thomas Goyne 84e378148e Add platform-specific default configuration files
Default to VSFilter on Windows as libass is still somewhat unstable.

Set the default audio player via the platform config file rather than
not doing anything with it.

Originally committed to SVN as r6664.
2012-04-06 01:55:22 +00:00
Thomas Goyne 0d4846d012 Handle the cancel button in the color picker dialog better
Return wxNullColor rather than the original color on cancel so that the
calling code can actually tell if it was cancelled.

If one of the subs edit box color buttons is cancelled, undo the changes
made rather than restoring the original text of the active line. This
makes the cancel button actually work with multiple lines selected, and
eliminates some undo state noise.

Closes #1465.

Originally committed to SVN as r6663.
2012-04-06 01:55:14 +00:00
Thomas Goyne acf566a062 Delete the libass vcproj as libass is no longer in-tree
Originally committed to SVN as r6662.
2012-04-04 16:46:26 +00:00
Thomas Goyne 4992d8f3c2 Remove the old portable and upgrade installers
Originally committed to SVN as r6661.
2012-04-04 16:46:20 +00:00
Thomas Goyne 8e98e6d61e Add a batch file to generate the portable self-extracting archive
Originally committed to SVN as r6660.
2012-04-04 16:46:14 +00:00
Thomas Goyne 113b09035e Add re and clipboard lua modules to the installer
Originally committed to SVN as r6659.
2012-04-04 16:46:08 +00:00
Thomas Goyne 6e877b7dea Make some very similar translatable strings identical
Originally committed to SVN as r6658.
2012-04-04 16:46:02 +00:00
Thomas Goyne 4ed11dafca Regenerate aegisub.pot. May or may not be final.
Originally committed to SVN as r6657.
2012-04-04 02:47:17 +00:00
Thomas Goyne b7c1526c7d Fix an underescaped translatable string
Originally committed to SVN as r6656.
2012-04-04 02:47:12 +00:00
Thomas Goyne e557aa866b Fix pot generation
Filter out duplicate strings, and escape backslashes from lua strings.

Include strings from aegisub.desktop.

Originally committed to SVN as r6655.
2012-04-04 02:47:05 +00:00
Thomas Goyne 566f08f308 Clean up old log files rather than just letting them accumulate forever
Originally committed to SVN as r6654.
2012-04-03 22:44:47 +00:00
Thomas Goyne bd0f6a4c2b Extract the cache cleaning logic from FFmpegSourceProvider
Originally committed to SVN as r6653.
2012-04-03 22:44:40 +00:00
Thomas Goyne 2a324a56e5 Fix crash when opening the Select Lines dialog for the second time
Originally committed to SVN as r6652.
2012-04-03 20:40:39 +00:00
Thomas Goyne 462448c7d1 Add icons to some of the dialogs missing them
Originally committed to SVN as r6651.
2012-04-03 20:40:33 +00:00
Thomas Goyne fe36760872 Use 16x16 icons for dialogs rather than cropping the 24x24 icons to 16x16
Originally committed to SVN as r6650.
2012-04-03 20:40:24 +00:00
Thomas Goyne a679d91304 Write the bytes as unsigned chars rather than signed in respack, as the array is declared as unsigned
Originally committed to SVN as r6649.
2012-04-03 20:40:18 +00:00
Thomas Goyne 4bb707d663 Use "color" in all UI strings
Previously there were 29 instances of "color" and 9 of "colour".

Originally committed to SVN as r6648.
2012-04-03 17:38:50 +00:00
Thomas Goyne b11e3d7f3a gcc 4.7 compilation fixes
Originally committed to SVN as r6647.
2012-04-03 17:38:45 +00:00
Thomas Goyne 582e947c75 Fix errors when reattaching video with some video cards
With ATI cards, deleting a wxGLContext seems to invalidate ALL
wxGlContexts, rather than just things associated with the deleted one.
This resulted in video breaking after closing the detached video dialog,
as the embedded video display was trying to use an invalidated context.
To work around this, delete and recreate the context when reattaching
video.

Also recreate the visual typesetting tool as OpenGLText holds references
to textures created on construction.

Originally committed to SVN as r6646.
2012-04-03 17:38:38 +00:00
Thomas Goyne 9f9ada8f8d Fix race condition that could result in a crash when opening video
When opening the video resulted in the script resolution changing, the
subtitles file was committed at a time when IsLoaded() would return true
but VideoOpen hadn't been signalled yet, resulting in some VideoDisplay
code running before the display was initialized. If the video opened is
sufficiently fast to decode, this could result in a crash due to trying
to display a frame before the display is shown.

Originally committed to SVN as r6645.
2012-04-02 04:22:22 +00:00
Thomas Goyne 4d50efc256 Add a help button to the preferences dialog
Originally committed to SVN as r6644.
2012-04-01 02:43:01 +00:00
Thomas Goyne 8f7d3ba8b8 Move audio color schemes to the Colours page
Originally committed to SVN as r6643.
2012-03-31 17:38:33 +00:00
Thomas Goyne da8ea6d220 Reword a few option labels in the preferences dialog
Originally committed to SVN as r6642.
2012-03-31 17:38:27 +00:00
Thomas Goyne 25f5254e1b Let the user set FFMS2 decoding threads to -1
Originally committed to SVN as r6641.
2012-03-31 17:38:22 +00:00
Thomas Goyne 4f32fe2db4 Increase default undo levels to 50
Typical computers have far more RAM than they did in 2005, and the
memory required for each undo state is far lower than when the default
was first set to 8.

Originally committed to SVN as r6640.
2012-03-31 17:38:16 +00:00
Thomas Goyne e6697b1923 Fix fallbacks for invalid characters when converting charsets
r6632 made ConverterImpl have a vtable, which makes the iconv_fallbacks
parent no longer the first thing in the object, so add an explicit cast.

Originally committed to SVN as r6639.
2012-03-31 00:28:55 +00:00
Thomas Goyne 2d9213cdfc Add support for writing unformatted level 1 teletext to the EBU STL subtitle format
Originally committed to SVN as r6638.
2012-03-29 19:05:45 +00:00
Thomas Goyne 7335c520c1 Ensure that the text field is terminated when writing EBU STL files
The text field must be terminated with 0x8F, so write an extra block if
the last block is filled exactly.

Originally committed to SVN as r6637.
2012-03-29 19:05:37 +00:00
Thomas Goyne 4294e5857d Port the EBU STL (tech 3264) subtitle format from 2.1.9
Split the configuration dialog off into its own file and mostly decouple
it from the subtitle format.

Save last used export settings to options and restore them the next time
the dialog is opened.

Use libaegisub for charset conversion and IO rather than wxWidgets.

Use libaegisub's line-wrapping logic and finish implementing all of the
various wrapping modes.

Make unchecking the "Translate alignments" checkbox do something.

Originally committed to SVN as r6636.
2012-03-29 19:05:26 +00:00
Thomas Goyne 028fd3b4ba Add line-wrapping logic to libaegisub
Originally committed to SVN as r6635.
2012-03-29 19:05:16 +00:00
Thomas Goyne 39ca0c1b5b Fix some uses of uninitialized values on startup
Originally committed to SVN as r6634.
2012-03-29 19:05:07 +00:00
Thomas Goyne dd0b1cf5ec Disable the busy cursor while displaying the FPS prompt when exporting subtitles
Originally committed to SVN as r6633.
2012-03-29 19:04:58 +00:00
Thomas Goyne f31d9a5a8b Add converter to ISO-6937-2
glibc's iconv implementation supports ISO-6937-2, but libiconv doesn't
due to that these days the only place it's used is in a few old subtitle
formats. As a result, on everything but linux we need our own converter.

Conversion from ISO-6937-2 is currently not supported.

Originally committed to SVN as r6632.
2012-03-29 19:04:49 +00:00
Thomas Goyne 71776940f6 Rewrite SMPTE timecode handling
Move SMPTE handling to agi::vfr::Framerate to get all of the interesting
logic dealing with timcodes in one place, and to make it testable.

Completely rewrite the SMPTE time conversions as testing them reveals
that they were incorrect in some cases.

Originally committed to SVN as r6631.
2012-03-29 19:04:36 +00:00
Thomas Goyne c7d3c8a5c3 Override CanWriteFile in the transation subtitle format as the default doesn't work for it
Originally committed to SVN as r6630.
2012-03-29 00:05:34 +00:00
Thomas Goyne c4a1a93b97 Center most of the message boxes over their parent windows
Originally committed to SVN as r6629.
2012-03-28 23:59:19 +00:00
Thomas Goyne 31a0146df2 Fix crash when clicking the sort button in the style manager with no styles selected
Originally committed to SVN as r6628.
2012-03-28 23:59:10 +00:00
Thomas Goyne a76fb7c432 Override CanSave in the SRT format to allow supported override tags
Originally committed to SVN as r6627.
2012-03-28 23:59:01 +00:00
Thomas Goyne d49e59653f Add a version of ParseASSTags that returns the blocks rather than mutating the line
Originally committed to SVN as r6626.
2012-03-28 23:58:50 +00:00
Thomas Goyne a03b37bdef Move the CanSave logic to the subtitle formats as it's obviously format-specific
Originally committed to SVN as r6625.
2012-03-28 23:58:40 +00:00
Thomas Goyne 0ae8479ffb Remove the check for timing in AssFile::CanSave as all non-txt formats support timing
Originally committed to SVN as r6624.
2012-03-28 23:58:28 +00:00
Thomas Goyne 6e36a897d0 Don't allow dragging audio markers to negative times
As ASS doesn't support negative times, some of the other code assumes
that times are >= 0, and it's never actually useful to have a negative
start time.

Originally committed to SVN as r6623.
2012-03-27 23:15:20 +00:00
Thomas Goyne e4043e64a3 Add support for omitted parameters in tags to the SRT exporter
Originally committed to SVN as r6622.
2012-03-27 23:15:12 +00:00
Thomas Goyne 87d5b1b943 Fix error when exporting a file with \bord tags to SRT
Originally committed to SVN as r6621.
2012-03-27 23:15:03 +00:00
Thomas Goyne fccec60fec Center the load/unload dialog over the main window
Originally committed to SVN as r6620.
2012-03-27 23:14:42 +00:00
Thomas Goyne d3eaa5af9c Remove some unused options from the config file and preferences dialog
Originally committed to SVN as r6619.
2012-03-27 04:23:54 +00:00
Thomas Goyne 1d289bf8f8 Rework FrameMain::LoadList and OnSubtitlesOpen a bit
Fix some issues where a spurious load/unload dialog would be displayed
despite that nothing would be loaded even if the user selected yes, and
double-loading of audio when opening video and audio files with
automatic audio loading enabled.

Originally committed to SVN as r6618.
2012-03-27 04:23:45 +00:00
Thomas Goyne 3f70491ea6 Eliminate a few unneeded header inclusions
Originally committed to SVN as r6617.
2012-03-27 00:50:03 +00:00
Thomas Goyne b201bee1d1 Don't mark file format filters as translatable
Originally committed to SVN as r6616.
2012-03-27 00:49:53 +00:00
Thomas Goyne fb7638312a Make PrettySize less dumb
Originally committed to SVN as r6615.
2012-03-27 00:49:43 +00:00
Thomas Goyne 30f0a56832 Document some of the utils functions
Originally committed to SVN as r6614.
2012-03-27 00:49:33 +00:00
Thomas Goyne e6f55bdbcb Use a binary search in IsWhitespace rather than linear
Originally committed to SVN as r6613.
2012-03-27 00:49:24 +00:00
Thomas Goyne 1f1e9a700a Use std::binary_search rather than a set in GetWordBoundaries
This is slightly faster and simpler.

Originally committed to SVN as r6612.
2012-03-27 00:49:15 +00:00
Thomas Goyne 909a0ca280 Remove some unused functions
Originally committed to SVN as r6611.
2012-03-27 00:49:05 +00:00
Thomas Goyne 7f427e01df Fix completely wrong results from the Kanji timer
Durations were being set in milliseconds rather than centiseconds.

Originally committed to SVN as r6610.
2012-03-27 00:48:56 +00:00
Thomas Goyne 232bae36e7 Fix crash when the Accept button in the kanji timer is clicked at a time when there's nothing to accept
Originally committed to SVN as r6609.
2012-03-27 00:48:47 +00:00
Thomas Goyne f9e8d89059 Remove some unused stuff in the kanji timer
Originally committed to SVN as r6608.
2012-03-27 00:48:38 +00:00
Thomas Goyne 2ef193e197 Remove pointless translatable strings that are never actually displayed
Originally committed to SVN as r6607.
2012-03-27 00:48:28 +00:00
Thomas Goyne 52b1a74f12 Remove todo comment from DirectSoundPlayer, as the player was rewritten entirely instead (years ago)
Originally committed to SVN as r6606.
2012-03-25 04:05:51 +00:00
Thomas Goyne 7218c04d52 Kill AudioPlayer::displayTimer
The rewritten audio display does not use displayTimer and that
functionality shouldn't have been in the players in the first place.

Originally committed to SVN as r6605.
2012-03-25 04:05:44 +00:00
Thomas Goyne 2840fc0aea Replace most remaining uses of std::auto_ptr with agi::scoped_ptr
Originally committed to SVN as r6604.
2012-03-25 04:05:38 +00:00
Thomas Goyne 55f9ccc18d Remove AudioPlayer::GetProvider()
There's really no reason why anything should ever be getting the audio
provider from an audio player.

Originally committed to SVN as r6603.
2012-03-25 04:05:31 +00:00
Thomas Goyne e120bec4f0 Clean up AegisubLocale a bit
Don't let the user cancel the language selection dialog on first
startup, and don't bother with the dialog at all if there's only one
language available.

Originally committed to SVN as r6602.
2012-03-25 04:05:25 +00:00
Thomas Goyne 0b9a21bf82 Hide SinkMessage's copy constructor and assignment operator
Originally committed to SVN as r6601.
2012-03-25 04:05:20 +00:00
Thomas Goyne b32515da80 Strip trailing whitespace from all cpp and h files
Originally committed to SVN as r6600.
2012-03-25 04:05:06 +00:00
Thomas Goyne 1077b9b5c4 Rewrite the Resample Resolution dialog
Use more appropriate controls rather than a pile of text ctrls and some
not-entirely-correct validation of the values.

Split apart the dialog and the actual resampling logic.

Originally committed to SVN as r6599.
2012-03-25 04:04:59 +00:00
Thomas Goyne 6f167e9293 Add functions for converting between SSA and ASS aligns to AssStyle
Originally committed to SVN as r6598.
2012-03-25 04:04:54 +00:00
Thomas Goyne 2036712acb Don't display an error when the user cancels an export
Originally committed to SVN as r6597.
2012-03-25 04:04:48 +00:00
Thomas Goyne ae5d6edaed End the batch if the Paste Over dialog is cancelled rather than horribly breaking everything
Originally committed to SVN as r6596.
2012-03-25 04:04:42 +00:00
Thomas Goyne ddc70bcd9c Add Paste Over to the default grid context menu
Originally committed to SVN as r6595.
2012-03-23 21:47:55 +00:00
Thomas Goyne a815d35f51 Unswap preserve and estimate times when splitting lines at the cursor
Originally committed to SVN as r6594.
2012-03-23 03:45:35 +00:00
Thomas Goyne 73e81c3dca Rewrite the overscan mask logic so that it works with blackbarred detached video
Originally committed to SVN as r6593.
2012-03-20 00:39:42 +00:00
Thomas Goyne d86d56d816 Move bicubic point interpolation logic to SplineCurve
Originally committed to SVN as r6592.
2012-03-20 00:39:33 +00:00
Thomas Goyne ca76c5cf21 Delete some declarations for nonexistent methods
Originally committed to SVN as r6591.
2012-03-20 00:39:25 +00:00
Thomas Goyne 75ae053958 Make some stuff const
Originally committed to SVN as r6590.
2012-03-20 00:39:10 +00:00
Thomas Goyne 36d962931d Eliminate overly-early rounding that resulted in the waveform renderer being significantly wrong at some zoom levels
Originally committed to SVN as r6589.
2012-03-18 18:41:48 +00:00
Thomas Goyne 4d2623bc2a Really fix crash when switching lines with the drag visual tool active
Originally committed to SVN as r6588.
2012-03-15 00:25:54 +00:00
Thomas Goyne cbf9ee463e Remove export_clean_info.h/cpp from the vcproj
Originally committed to SVN as r6587.
2012-03-12 23:39:51 +00:00
Thomas Goyne 9f43f9f041 Rewrite the Clean Script Info export filter in lua
This makes it easy to make it a macro in addition to an export filter,
and simplifies the implementation.

Originally committed to SVN as r6586.
2012-03-12 23:35:56 +00:00
Thomas Goyne 2fa054b48b Extract strings from the lua scripts for translation
Originally committed to SVN as r6585.
2012-03-12 23:35:47 +00:00
Thomas Goyne f4c1fb441e Mark the names and descriptions of included lua macros as translatable
Originally committed to SVN as r6584.
2012-03-12 23:35:37 +00:00
Thomas Goyne 55eb230ef6 Add aegisub.gettext to get translations of strings
Originally committed to SVN as r6583.
2012-03-12 23:35:29 +00:00
Thomas Goyne f66c772130 Ensure the hotkey descriptions in the translation and styling assistants actually get marked as translatable
Originally committed to SVN as r6582.
2012-03-12 23:35:20 +00:00
Thomas Goyne 4153bbc10b Fix pointlessly different strings in the translation and styling assistant
Originally committed to SVN as r6581.
2012-03-12 23:35:11 +00:00
Thomas Goyne 212013ccdf Add Delete line to the hotkeys listed in the translation assistant
Originally committed to SVN as r6580.
2012-03-12 23:35:03 +00:00
Thomas Goyne d0150d6b6d Handle external changes in the translation assisant
As all program hotkeys are now allowed while the translation assistant
is active, it can no longer assume that it's the only thing modifying
the file.

Originally committed to SVN as r6579.
2012-03-12 23:34:54 +00:00
Thomas Goyne 7e5b241260 Use SubsTextEditCtrl in the translation assistant
This gives spellchecking and thesaurus support for the translation (and
syntax highlighting, but that usually won't be useful).

Originally committed to SVN as r6578.
2012-03-12 23:34:45 +00:00
Thomas Goyne de9cc755d2 Stop key event propagation when checking for hotkeys to avoid checking keypresses that aren't hotkeys several times
Originally committed to SVN as r6577.
2012-03-12 23:34:34 +00:00
Thomas Goyne 14274a7672 Forward Cut/Copy/Paste to all text areas, not just the main subs edit box
Originally committed to SVN as r6576.
2012-03-12 23:34:25 +00:00
Thomas Goyne 42b1d4d4eb Fix some misleading variable shadowing
Originally committed to SVN as r6575.
2012-03-12 23:34:16 +00:00
Thomas Goyne 29fcf9de44 Fix new[]/delete mismatch
Originally committed to SVN as r6574.
2012-03-12 23:34:05 +00:00
Thomas Goyne 4a151ca995 Set all selected lines on clicks in dialogue mode rather than just the active line
Originally committed to SVN as r6573.
2012-03-12 00:07:33 +00:00
Thomas Goyne dcffc3fd38 Show all selected lines in the audio display in dialogue mode
Originally committed to SVN as r6572.
2012-03-12 00:07:27 +00:00
Thomas Goyne a48190871b In karaoke mode use the Selected style for the portion of the active line not in the active syllable
Originally committed to SVN as r6571.
2012-03-12 00:07:22 +00:00
Thomas Goyne aba0b5db11 Add support for the Selected style to the audio renderers
Originally committed to SVN as r6570.
2012-03-12 00:07:16 +00:00
Thomas Goyne 812e2e8025 Document a few classes
Originally committed to SVN as r6569.
2012-03-12 00:07:09 +00:00
Thomas Goyne 30d7a18e97 Add missing spaces after colons in error messages
Originally committed to SVN as r6568.
2012-03-11 23:51:10 +00:00
Thomas Goyne 175443d7a6 Fix int overflow in DAR calculation
Originally committed to SVN as r6567.
2012-03-11 23:51:04 +00:00
Thomas Goyne 77e755d109 Allow duplicated timestamps as real files do have them; simply skip all but the last frame with the same timestamp
Originally committed to SVN as r6566.
2012-03-11 23:05:08 +00:00
Thomas Goyne ebe32890fb Don't scroll to the beginning of the audio when switching to an untimed line
Originally committed to SVN as r6565.
2012-03-11 23:05:02 +00:00
Thomas Goyne 1d4c0c0712 Apply bounds checking to AssTimes generated from strings
Originally committed to SVN as r6564.
2012-03-11 23:04:56 +00:00
Thomas Goyne 43f461e846 Delete the dialog manager before the main frame as having modeless dialogs disappear after the main window is ugly
Originally committed to SVN as r6563.
2012-03-11 23:04:49 +00:00
Thomas Goyne 284eac1c93 Fix check for Darwin in the tests makefile
Originally committed to SVN as r6562.
2012-03-11 23:04:42 +00:00
Thomas Goyne 3e3a853a89 Fix iterator increment after erase in VisualToolDrag
Originally committed to SVN as r6561.
2012-03-10 02:16:38 +00:00
Thomas Goyne 29662749db Fix case-insensitive regular expressions in the Select Lines dialog
Originally committed to SVN as r6560.
2012-03-10 02:16:28 +00:00
Thomas Goyne 12511901a9 Fix bad string concatenation in a json parse error message
Originally committed to SVN as r6559.
2012-03-10 02:16:20 +00:00
Thomas Goyne 759b8433c1 Silence some clang warnings
Originally committed to SVN as r6558.
2012-03-10 02:16:08 +00:00
Thomas Goyne fed2a91598 Non-precomp header compilation
Originally committed to SVN as r6557.
2012-03-10 02:15:58 +00:00
Thomas Goyne 7f8aecd7fa Use int64_t for progress reporting rather than int as it's what ffms2 requires. Fixes magic jumping progress bars during indexing.
Originally committed to SVN as r6556.
2012-03-10 01:00:13 +00:00
Thomas Goyne 8ec478db36 Make the fonts collector dialog modeless
Originally committed to SVN as r6555.
2012-03-09 00:24:01 +00:00
Thomas Goyne 6b141f2bd3 Fix gcc compilation errors
Originally committed to SVN as r6554.
2012-03-09 00:23:53 +00:00
Thomas Goyne 36548b93b1 Add a dialog manager for modeless dialogs so that they don't have to all be stuffed into the context
Originally committed to SVN as r6553.
2012-03-09 00:23:41 +00:00
Thomas Goyne 41f2f67042 Make the automation manager dialog modeless
Originally committed to SVN as r6552.
2012-03-09 00:23:30 +00:00
Thomas Goyne 931de846ae Ignore \an and \a tags with out of bounds values rather than doing odd things
Originally committed to SVN as r6551.
2012-03-09 00:23:22 +00:00
Thomas Goyne eea914fa48 Don't select the start handle when a line is selected due to a click on the end handle in the drag visual tool
Originally committed to SVN as r6550.
2012-03-09 00:23:14 +00:00
Thomas Goyne 229daa9874 Update the color of the drag handles in the drag visual tool immediately when the selection changes
Originally committed to SVN as r6549.
2012-03-09 00:23:04 +00:00
Thomas Goyne d8e0038333 Fix SVN revision check with SVN 1.7 when the aegisub directory is not the top level directory of the working copy. Patch by Larso. Closes #1458.
Originally committed to SVN as r6548.
2012-03-08 05:07:15 +00:00
Thomas Goyne 59447a942d Make the style manager dialog modeless
Originally committed to SVN as r6547.
2012-03-08 04:17:42 +00:00
Thomas Goyne 83faddfdb6 Refactor New/Copy/Edit in the style manager a bit and do a better job of selecting the right style in the lists
Originally committed to SVN as r6546.
2012-03-08 04:17:36 +00:00
Thomas Goyne b5a71587ff Move more of the style storage management logic to AssStyleStorage
Originally committed to SVN as r6545.
2012-03-08 04:17:29 +00:00
Thomas Goyne a09d96df1f Make AssStyleStorage keep track of the current catalog name
Originally committed to SVN as r6544.
2012-03-08 04:17:23 +00:00
Thomas Goyne fa06033762 Ensure that there is always at least one style catalog existing and selected so that the style manager doesn't have to check if there is one
Originally committed to SVN as r6543.
2012-03-08 04:17:17 +00:00
Thomas Goyne a0b4da90f7 Add commands and menu entries to sort only the selected lines. Closes #1457.
Originally committed to SVN as r6542.
2012-03-07 22:41:12 +00:00
Thomas Goyne c84c9fe6b8 Fix issues with audio auto scrolling and lines longer than the display
Clicking on the audio display (to change line timing) now never scrolls
the display, rather than jumping around if the line is too long to fit
on the display.

Dragged markers are now always kept visible in the display, even if auto
scroll is off.

Originally committed to SVN as r6541.
2012-03-07 22:41:03 +00:00
Thomas Goyne 9f6bb17379 Fix bug where the Actor box would get incorrectly set to the placeholder text
Originally committed to SVN as r6540.
2012-03-07 22:40:54 +00:00
Thomas Goyne b64e1f925c Coalesce typing in the Actor box (but not selections from the dropdown)
Originally committed to SVN as r6539.
2012-03-07 22:40:45 +00:00
Thomas Goyne 94b3764a91 Coalesce changes made in the Effect box
Originally committed to SVN as r6538.
2012-03-07 22:40:35 +00:00
Thomas Goyne 49ce5275d1 Only prompt to update references to a renamed style if there actually are any
Originally committed to SVN as r6537.
2012-03-07 22:40:26 +00:00
Thomas Goyne f4e1b28c9f Rework handling of copied styles in the style manager a bit
Generate the new name in the style manager rather than the editor so
that the naming scheme of copies is consistent between the Copy buttons
and pasting styles.

Name the second copy of style X "X - Copy (2)" rather than "X - Copy -
Copy", and so on for further copies. (Copies of style "X - Copy" would
still be named "X - Copy - Copy").

Select the new style when a copy is created.

Originally committed to SVN as r6536.
2012-03-07 22:40:15 +00:00
Thomas Goyne 366baff2f8 Add option to force all video opened with FFMS2 to BT.601 for VSFilter compatibility
Originally committed to SVN as r6535.
2012-03-07 04:25:46 +00:00
Thomas Goyne bb9859c70f Fix crash when selecting pure black in the color picker when the recent colors list isn't full
Originally committed to SVN as r6534.
2012-03-07 01:31:04 +00:00
Thomas Goyne 110c2358a6 Use validators for reading values from all lua controls
Fixes some issues with control values not being read back correctly.

Originally committed to SVN as r6533.
2012-03-07 01:30:52 +00:00
Niels Martin Hansen 95fe56d41b Fix compilation with dummy font file lister (i.e. without FT2/FC.)
Originally committed to SVN as r6532.
2012-03-03 01:51:14 +00:00
Niels Martin Hansen 2ddde60efd Stop MSBuild warning about two different specifications of output file name for executables being different.
This prevented the VS debugger from launching properly.

Originally committed to SVN as r6531.
2012-03-03 01:49:42 +00:00
Niels Martin Hansen 3403bd6113 Add some kind of (really untested, but it compiles!) exception data fetching/command line arguments to w32dumper.
Suggest a format for Aegisub to report its crash information to the dumper.

Originally committed to SVN as r6530.
2012-03-03 01:48:23 +00:00
Niels Martin Hansen 4246ea0bd8 Fixed w32dumper GUI so the listbox shows things chronologically instead of lexically.
Also be more correct in the DialogProc implementation.

Originally committed to SVN as r6529.
2012-03-01 00:37:34 +00:00
Niels Martin Hansen 0a6a045241 Experimental minidump writer for Win32. Kinda buggy but kinda works.
Originally committed to SVN as r6528.
2012-03-01 00:12:04 +00:00
Thomas Goyne d9c0f79910 Add wxwin.m4 to m4macros as it changes very rarely and people are terrible at setting their aclocal paths correctly
Originally committed to SVN as r6527.
2012-02-29 01:24:24 +00:00
Thomas Goyne af58db5b9e Fix reindexing of files on every open
FFMS_IndexBelongsToFile returns 0 when the index belongs to the file,
not 1.

Originally committed to SVN as r6526.
2012-02-29 01:24:16 +00:00
Thomas Goyne d53bb22d2b Split the "am/manager" command into several subcommands so that it can be hotkeyed usefully
Originally committed to SVN as r6525.
2012-02-29 01:24:04 +00:00
Thomas Goyne b9fc28b44d Implement min, max and step for floatedit in lua dialogs
Originally committed to SVN as r6524.
2012-02-28 01:23:24 +00:00
Thomas Goyne 27144a7ef7 Fix min/max for lua intedit controls
Originally committed to SVN as r6523.
2012-02-28 01:23:15 +00:00
Thomas Goyne 24fbf25882 Fix duplication of source syllables when linking in the kanji timer
Originally committed to SVN as r6522.
2012-02-28 01:23:07 +00:00
Thomas Goyne 0d703cff69 Don't save empty hotkeys
Originally committed to SVN as r6521.
2012-02-28 01:22:58 +00:00
Thomas Goyne 95a1e187a0 Combine the Subtitles and Interface pages of the preferences dialog as they both have subs edit box and subs grid options
Originally committed to SVN as r6520.
2012-02-28 01:22:49 +00:00
Thomas Goyne 70261b6466 Disable the controls for mutally exclusive and unused options in the preferences dialog
Originally committed to SVN as r6519.
2012-02-28 01:22:40 +00:00
Thomas Goyne c4cba875b4 Always index all tracks when "Video/Open Audio" is enabled, as it'll always double-index otherwise
Originally committed to SVN as r6518.
2012-02-28 01:22:29 +00:00
Thomas Goyne 93d3895a2a Include font_file_lister.h in font_file_lister.cpp, not font_file_lister_fontconfig.h
Originally committed to SVN as r6517.
2012-02-25 02:58:23 +00:00
Thomas Goyne d942663316 Remove the "Link commiting of times" option
It doesn't actually do anything anymore due to that changed to the time
boxes are committed automatically.

Originally committed to SVN as r6516.
2012-02-25 02:58:14 +00:00
Thomas Goyne 451b262672 Increment iterators before erasing them rather than after
Originally committed to SVN as r6515.
2012-02-25 02:58:04 +00:00
Niels Martin Hansen 45da185a43 A bunch of fixes to the MSBuild projects.
Originally committed to SVN as r6514.
2012-02-24 22:48:52 +00:00
Thomas Goyne 5fd05762bd Remove all references to QuickTime, as the QuickTime provider is long gone
Originally committed to SVN as r6513.
2012-02-23 19:28:29 +00:00
Thomas Goyne 5f82f5b2d7 OS X compilation fixes
Originally committed to SVN as r6512.
2012-02-23 19:28:19 +00:00
Thomas Goyne 45dbc8bd15 Fix checks for which OpenGL headers to include on OS X
Originally committed to SVN as r6511.
2012-02-23 19:28:08 +00:00
Thomas Goyne 0d45f98ae8 Cast time_ts passed to printf to a known type
Originally committed to SVN as r6510.
2012-02-23 19:28:00 +00:00
Thomas Goyne 9e6d782339 Remove invalid spaces in the OSX link command
Originally committed to SVN as r6509.
2012-02-23 19:27:51 +00:00
Thomas Goyne 6cf122dea2 Remove the time_t overload of UnknownElement and just cast to int64_t
Originally committed to SVN as r6508.
2012-02-23 19:27:42 +00:00
Thomas Goyne f54d381f94 Don't skip the OS X OpenGL check when X is detected
Originally committed to SVN as r6507.
2012-02-23 19:27:32 +00:00
Thomas Goyne ea130d9af2 Automatically set the aspect ratio when opening anamorphic video with ffms
Originally committed to SVN as r6506.
2012-02-23 01:30:59 +00:00
Thomas Goyne 7e87e95526 Send text updated events when pasting into time edits
Originally committed to SVN as r6505.
2012-02-23 00:46:33 +00:00
Thomas Goyne 7992009392 Treat an unclosed override block as plain text in the syntax highlighter to match vsfilter
Originally committed to SVN as r6504.
2012-02-22 22:36:55 +00:00
Thomas Goyne 7e9608cf7a Adjust syntax highlighting of template lines to match how karaoke templater parses the line
Originally committed to SVN as r6503.
2012-02-22 22:36:45 +00:00
Thomas Goyne d5577b994c Move lead in/out logic to the timing controllers
This makes adding lead in/out work correctly when autocommit is
disabled, and improves the behavior of adding lead-in when in karaoke
mode.

Originally committed to SVN as r6502.
2012-02-22 22:00:54 +00:00
Thomas Goyne c4daf860e5 Add a lua module for reading from/writing to the clipboard
Originally committed to SVN as r6501.
2012-02-22 20:47:34 +00:00
Thomas Goyne 74fcf68fe2 Improve the error message when autoload scripts fail to load
Remove a reference to errors "above" as the message appears both above
and below the actual errors.

Shorten the message a bit to reduce the chance of it getting truncated
by wx.

Fix the name of the button in the automation manager dialog.

Originally committed to SVN as r6500.
2012-02-22 20:47:24 +00:00
Thomas Goyne b59b3c56fc Add lua bindings for open and save standard dialogs
Originally committed to SVN as r6499.
2012-02-22 04:17:16 +00:00
Thomas Goyne 048fc44cfa Add aegisub.file_name() to get the file name of the subtitles file
If called during a macro processing or validation function when the
subtitles have a valid file name (i.e. they've been saved and are not
Untitled), this returns the name of the file, without the path. If
called at any other time, it returns nil.

Originally committed to SVN as r6498.
2012-02-21 23:32:58 +00:00
Thomas Goyne 2dd01747f8 Fix crash on underrun in the alsa player
Originally committed to SVN as r6497.
2012-02-20 18:22:43 +00:00
Thomas Goyne fb6d3daf8b Eliminate all uses of volatile in the alsa player and just lock reads instead
Originally committed to SVN as r6496.
2012-02-20 18:22:37 +00:00
Thomas Goyne df73e15f0f Include C++ versions of C headers rather than the C versions
Originally committed to SVN as r6495.
2012-02-20 18:22:31 +00:00
Thomas Goyne 3fdb50925e Explicitly flag the precompiled header as a C++ header to silence a clang warning
Originally committed to SVN as r6494.
2012-02-20 18:22:25 +00:00
Thomas Goyne f79e933ac9 Bump required version of ffms2 to 2.16
Originally committed to SVN as r6493.
2012-02-20 18:22:20 +00:00
Thomas Goyne 17b0d83831 Use scoped_holder in a handful of places
Originally committed to SVN as r6492.
2012-02-20 18:22:12 +00:00
Thomas Goyne b9ddf00ead Add a scoped holder similar to scoped_ptr for handles that may or may not be pointers
Originally committed to SVN as r6491.
2012-02-20 18:22:04 +00:00
Thomas Goyne ad7d7c2be3 Don't return a dummy icon when no icon is found for a command
The hotkey editor initially required this, but now that we've using
fully custom renderers they're no longer needed, and the blank icons
didn't work correctly on wxGTK.

Originally committed to SVN as r6490.
2012-02-20 05:41:54 +00:00
Thomas Goyne 113c85bda0 Fix crash on aegisub.log(0, nil)
Originally committed to SVN as r6489.
2012-02-20 05:15:18 +00:00
Thomas Goyne 53c2c8821b Redesign BlockCache's age tracking to run in constant time
Speeds up spectrum painting by 40-90% depending on how much of the audio
data is being read from the cache.

Originally committed to SVN as r6488.
2012-02-20 05:15:10 +00:00
Thomas Goyne ffa7e70f5c Fix compilation on 64-bit linux with clang
Originally committed to SVN as r6487.
2012-02-20 05:15:00 +00:00
Thomas Goyne 8e0f6c8d25 Add KP_Enter to the default hotkeys for commit in the translation assistant and styling assistant. Closes #1414.
Originally committed to SVN as r6486.
2012-02-18 00:41:18 +00:00
Thomas Goyne 7f513e675d Replace newlines with \N when modifying text via the translation assistant. Updates #1414.
Originally committed to SVN as r6485.
2012-02-18 00:41:08 +00:00
Thomas Goyne b1930f06e5 Actually set the volume/audio zoom to the saved values rather than just setting the slider positions
Originally committed to SVN as r6484.
2012-02-18 00:40:58 +00:00
Thomas Goyne 72ee3efdc3 Rename the audio rendering style enum values to reflect how they're actually used
Originally committed to SVN as r6483.
2012-02-17 00:14:45 +00:00
Thomas Goyne 57b6a1f03a Remove the nonfunctional Restore Defaults button from the preferences dialog
Originally committed to SVN as r6482.
2012-02-17 00:14:35 +00:00
Thomas Goyne 46254613c8 Batch up log messages in DialogProgress and append them in OnIdle
This signficantly improves performance with spammy automation macros
(karaoke templater with the log level set to Trace is 10-15x faster),
and helps ensure that clicks on the Cancel button are actually processed
in a timely manner.

Originally committed to SVN as r6481.
2012-02-16 21:22:04 +00:00
Thomas Goyne a3ef701f17 Add a [Script Info] section in SetScriptInfo if none exists
Originally committed to SVN as r6480.
2012-02-16 21:21:55 +00:00
Thomas Goyne e5e2b84b15 Ensure that loaded files always have a style and dialogue line
Fixes crashes and general brokenness when opening invalid files.

Originally committed to SVN as r6479.
2012-02-16 21:21:35 +00:00
Thomas Goyne fc64bcaa36 Don't normalize syllable durations when parsing karaoke for automation
Originally committed to SVN as r6478.
2012-02-16 05:21:00 +00:00
Thomas Goyne 6339df3521 Correct the calculation for the position of right-aligned lines in the visual tools
Originally committed to SVN as r6477.
2012-02-16 03:52:50 +00:00
Thomas Goyne 9b69ce7a27 Add support for noncontiguous selections to the duplicate lines commands
Originally committed to SVN as r6476.
2012-02-15 22:14:10 +00:00
Thomas Goyne d4e1c90a04 Force a repaint of the window after opening files from the command line. Closes #1419.
Originally committed to SVN as r6475.
2012-02-15 21:24:00 +00:00
Thomas Goyne a2872158a9 Remember the last used audio zoom and volume and restore it
Originally committed to SVN as r6474.
2012-02-15 21:23:52 +00:00
Thomas Goyne 5bf7342019 Add a Lua binding for wxRegEx
Lua's built in regular expression engine is rather limited in features
compared to wx's, and operates on bytes rather than characters due to
not being unicode-aware.

Originally committed to SVN as r6473.
2012-02-15 21:23:42 +00:00
Thomas Goyne 1c2fb01f0a Copy the cached entry data in AssStyle's operator=. Closes #1453.
Originally committed to SVN as r6472.
2012-02-14 00:35:41 +00:00
Thomas Goyne 17b293865b Override CanWriteFile in the Encore subtitle format as the default extension check doesn't work for the weird filename format
Originally committed to SVN as r6471.
2012-02-14 00:35:33 +00:00
Thomas Goyne 3252503eaa Check for updates after loading files passed on the command line as the update checker dialog interacts poorly with the loading modal dialogs
Originally committed to SVN as r6470.
2012-02-14 00:35:25 +00:00
Thomas Goyne 105a6bd68a Force Encore subtitles to UTF-8 as Encore doesn't like non-unicode encodings
Originally committed to SVN as r6469.
2012-02-14 00:35:16 +00:00
Thomas Goyne fae7261bd0 Make AssTime::ParseASS a constructor overload instead
Originally committed to SVN as r6468.
2012-02-14 00:35:06 +00:00
Thomas Goyne 26b7970ed0 Add missing milliseconds to samples conversion that resulted in audio playback stopping when the start or end time of the line was changed
Originally committed to SVN as r6467.
2012-02-12 04:16:21 +00:00
Thomas Goyne 437cd47cd3 Don't block editing storage styles with the same name as a style on the current script
Originally committed to SVN as r6466.
2012-02-12 04:16:14 +00:00
Thomas Goyne 952bc02c07 Enable lua stack checking in debug builds
Originally committed to SVN as r6465.
2012-02-10 02:16:49 +00:00
Thomas Goyne 3fd457ac68 Fix memory corruption after automation macro errors
Originally committed to SVN as r6464.
2012-02-10 01:41:22 +00:00
Thomas Goyne fbc93bb98a Fix non-precomp header compilation
Originally committed to SVN as r6463.
2012-02-10 00:04:42 +00:00
Thomas Goyne 30e1679a78 Create a new line when committing the last line via the audio display when Next Line on Commit is enabled, as in 2.1.x
Originally committed to SVN as r6462.
2012-02-10 00:04:34 +00:00
Thomas Goyne 47cf5c8629 Support dragging multiple markers at once in the dialogue timing controller
When ctrl is held down and the user clicks on one of the active line's
markers, all markers at the same position as the clicked marker (for
both active and inactive lines) are now moved along with the clicked
marker.

Closes #20.

Originally committed to SVN as r6461.
2012-02-10 00:04:24 +00:00
Thomas Goyne 32c8cc0974 Modify the TimingController interface to support dragging more than one marker at once. Updates #20.
Originally committed to SVN as r6460.
2012-02-10 00:04:13 +00:00
Thomas Goyne 51a3831794 Remove charset detection from AssFile::Load
All of the subtitle formats also already do charset detection when
needed, so doing it in it AssFile::Load is pointless and results in
performing the auto-detection even when it's pointless (because the
format isn't text-based or always uses a single encoding).

Originally committed to SVN as r6459.
2012-02-10 00:04:05 +00:00
Thomas Goyne e20bc09052 colorspace.(cpp|h) cosmetics
Originally committed to SVN as r6458.
2012-02-10 00:03:56 +00:00
Thomas Goyne 16627dbfe7 Clean up DialogVersionCheck a bit
Originally committed to SVN as r6457.
2012-02-10 00:03:46 +00:00
Thomas Goyne de7df882e9 Seek audio to the line on double-click in the grid in addition to video
Originally committed to SVN as r6456.
2012-02-07 23:17:26 +00:00
Thomas Goyne 07327c2b65 Add position information to the error message when aegisub.log is called with bad arguments
Originally committed to SVN as r6455.
2012-02-07 23:17:06 +00:00
Thomas Goyne 003322813e Clean up VideoProviderCache a bit
Originally committed to SVN as r6454.
2012-02-07 23:16:41 +00:00
Thomas Goyne 1075b71976 Prompt to update uses of the style when "Default" is renamed
As far as I can tell, Default was only excluded to avoid prompting when
creating a new style, but whether or not a style is new is now an
explicit parameter to the editor so it's unneeded.

Originally committed to SVN as r6453.
2012-02-07 20:42:44 +00:00
Thomas Goyne fcffb010b9 Fix check for \i?clip in cleantags. Updates #1450.
Originally committed to SVN as r6452.
2012-02-07 01:23:00 +00:00
Thomas Goyne 26f3bb26ba Remove some incorrect uses of ellipses
Ellipses are used to indicate that a command will require additional
input from the user, not that a dialog will be opened.

Originally committed to SVN as r6451.
2012-02-07 01:22:50 +00:00
Thomas Goyne b262a07180 Don't mark paths as translatable
Originally committed to SVN as r6450.
2012-02-07 01:22:42 +00:00
Thomas Goyne 5e96d6e8c3 Remove periods from single-sentence tooltips
Originally committed to SVN as r6449.
2012-02-07 01:22:32 +00:00
Thomas Goyne 38c905d32a Call Validate before invoking commands via hotkeys
Originally committed to SVN as r6448.
2012-02-07 01:22:23 +00:00
Thomas Goyne 51cbc353b3 Fix crashes after reloading automation scripts
Originally committed to SVN as r6447.
2012-02-07 01:22:15 +00:00
Thomas Goyne 489d5bbec6 Ignore the Maximize option for dialogs which aren't supposed to be maximizable. Closes #1451.
Originally committed to SVN as r6446.
2012-02-07 01:22:06 +00:00
Thomas Goyne 813f23e762 Check whether the dialog is maximized rather than whether it's not iconized in PersistLocation. Updates #1451.
Originally committed to SVN as r6445.
2012-02-07 01:21:56 +00:00
Thomas Goyne 5a53aa5511 Delete aegisub.h. It's been a few years since it last had anything in it.
Originally committed to SVN as r6444.
2012-02-07 01:21:47 +00:00
Thomas Goyne 68c9989c89 Clean up DummyVideoProvider a bit
Originally committed to SVN as r6443.
2012-02-07 01:21:37 +00:00
Thomas Goyne f48ccc0640 Make the version check dialog a bit wider
Originally committed to SVN as r6442.
2012-02-03 00:54:09 +00:00
Thomas Goyne bd38cfc305 Only age the renderer caches when a new block is created
Originally committed to SVN as r6441.
2012-02-02 22:58:15 +00:00
Thomas Goyne fc932dddc7 Convert BlockCache from LFU to LRU
In practice there were usually <10 calls to Get per call to Age,
resulting in everything but the most recently used block having an
access count of 0. This resulted in it having essentially random
eviction, which worked decently due to the size of the cache, but with a
significant speed overhead for the LFU tracking.

Originally committed to SVN as r6440.
2012-02-02 22:58:06 +00:00
Thomas Goyne 7ca0ad3233 Repaint the entire audio display when style ranges change
In practice, painting audio from the cache isn't all that expensive, so
the limited refreshing was just introducing places for bugs without
improving performance all that much.

Closes #1432.

Originally committed to SVN as r6439.
2012-02-02 22:57:53 +00:00
Thomas Goyne ddc8dc9eca Only wrap the avisynth-using part of AvisynthVideoProvider's constructor with try/catch so that avisynth is still initialized when the catch handler runs, which is required to actually get an error message. Closes #1444.
Originally committed to SVN as r6438.
2012-02-02 20:51:07 +00:00
Thomas Goyne c5c829357d Use wxAutoBufferedPaintDC for ToggleButton
Originally committed to SVN as r6437.
2012-02-02 20:50:56 +00:00
Thomas Goyne bd7f338115 Don't copy fonts which appear in styles but are never actually used
Originally committed to SVN as r6436.
2012-02-02 19:31:37 +00:00
Thomas Goyne da61e75f75 Skip inline comments when gathering things to collect fonts for
Originally committed to SVN as r6435.
2012-02-02 19:31:27 +00:00
Thomas Goyne 6652ef40e9 Increase the amount of information reported when fonts can't be found
List the styles using the font along with lines which use the font via
overrides, and add a warning at the end when some glyphs could not be
found to reduce the chance of the user failing to notice it.

Originally committed to SVN as r6434.
2012-02-02 19:18:40 +00:00
Thomas Goyne 6c365f0e6a Remove VideoProvider::GetPosition, as it's unused and unneeded
Originally committed to SVN as r6433.
2012-02-02 19:18:30 +00:00
Thomas Goyne 6717334c12 Fix crash when trying to seek to keyframes via the video slider with no keyframes loaded, and use wxAutoBufferedPaintDC rather than manual double-buffering
Originally committed to SVN as r6432.
2012-02-02 19:18:21 +00:00
Thomas Goyne b8a7c6cb1e Remove scoped_ptr::swap
Originally committed to SVN as r6431.
2012-02-02 19:18:10 +00:00
Thomas Goyne d68a7e81b0 Add (optional) overlapping line correction to the timing postprocessor
Trying to use this at the same time as adding lead in/out will probably
not have useful results.

Originally committed to SVN as r6430.
2012-02-01 23:59:40 +00:00
Thomas Goyne eebcf34edb Don't decode audio URIs stored on the script as it currently always stores the absolute path and the decoding breaks dummy audio URIs
Originally committed to SVN as r6429.
2012-02-01 23:59:32 +00:00
Thomas Goyne 3d6e5e7d39 Fix incorrect styling of overlapping inactive lines
Originally committed to SVN as r6428.
2012-02-01 23:59:23 +00:00
Thomas Goyne aaf7285a6e Remove UI-related responsibilities from AudioController
Keeping track of audio markers and labels to be shown in the audio
display is not particularly related to AudioController's primary
responsiblity of controlling the playback of audio.

Originally committed to SVN as r6427.
2012-02-01 23:59:12 +00:00
Thomas Goyne 01b92aa4e3 Change AudioController's public API from samples to milliseconds
The sample rate of the currently open audio is not something that things
which do not interact with the raw audio data should have to care about,
or even know about.

Originally committed to SVN as r6426.
2012-02-01 23:58:58 +00:00
Thomas Goyne bba825ed0d Clear the error color when an automation script which previously failed to load loads successfully
Originally committed to SVN as r6425.
2012-02-01 18:47:47 +00:00
Thomas Goyne 9dbfe5d8e5 Update the visual tool buttons when the active tool is changed via hotkey
Originally committed to SVN as r6424.
2012-02-01 18:47:37 +00:00
Thomas Goyne 4ea45627b5 Remove periods from the end of help strings
Originally committed to SVN as r6423.
2012-02-01 18:47:26 +00:00
Thomas Goyne 2dcd4ff2a6 Mark the style name collision messages as translatable
Originally committed to SVN as r6422.
2012-02-01 18:47:18 +00:00
Thomas Goyne 439b1272b0 Select current style when the style manager is opened
Originally committed to SVN as r6421.
2012-02-01 18:47:10 +00:00
Thomas Goyne f0933ecb1a When adding new hotkeys, automatically select and start editing the new hotkey
Originally committed to SVN as r6420.
2012-02-01 18:47:00 +00:00
Thomas Goyne 499a9b2869 Set thread priorty between Create() and Run()
Originally committed to SVN as r6419.
2012-02-01 14:23:52 +00:00
Thomas Goyne fbe00eabe8 Bump up the size of the log window in the font collector dialog so that it can actually fit font names without wrapping
Originally committed to SVN as r6418.
2012-02-01 04:17:39 +00:00
Thomas Goyne db7924d646 Add a warning in the fontconfig font collector when the chosen font does not have glyphs for some of the characters used in that font
Originally committed to SVN as r6417.
2012-02-01 04:17:33 +00:00
Thomas Goyne 98b51e2c23 Clean up DialogStyleManager a bit, eliminating a decent amount of duplicated code and fixing issues with the logic for enabling and disabling the buttons.
Originally committed to SVN as r6416.
2012-02-01 00:48:50 +00:00
Thomas Goyne c6ac746215 Kill DialogStyleManager::OnClose as it just does the default thing
Originally committed to SVN as r6415.
2012-02-01 00:48:42 +00:00
Thomas Goyne b48436c5de Skip unprocessed key events in the style manager
Originally committed to SVN as r6414.
2012-02-01 00:48:33 +00:00
Thomas Goyne 3be4693480 Uncrustify AssStyleStorage a bit
Originally committed to SVN as r6413.
2012-02-01 00:48:24 +00:00
Thomas Goyne ac5af24014 Remove pointless #ifdef __APPLE__ around CmdDown()
The entire point of CmdDown is that it calls ControlDown on non-OS X, so
the ifdefs are completely pointless.

Originally committed to SVN as r6412.
2012-02-01 00:48:16 +00:00
Thomas Goyne 7bd0691bd7 In PersistLocation get the new location of the dialog directly from the dialog rather than from the event as the data in the event is wrong
Originally committed to SVN as r6411.
2012-02-01 00:48:07 +00:00
Thomas Goyne 04cc422391 Close the spell checker after all lines have been checked rather than only once there are no errors remaining. Closes #1442.
Originally committed to SVN as r6410.
2012-02-01 00:47:57 +00:00
Thomas Goyne 3af57cdbcd Copy the source line's group in AssDialogue's copy constructor as copying wxStrings is far faster than constructing new ones
Originally committed to SVN as r6409.
2012-02-01 00:47:49 +00:00
Thomas Goyne a7d54f3d69 Make AssEntry::group const as it really should never change
Originally committed to SVN as r6408.
2012-02-01 00:47:38 +00:00
Thomas Goyne 8bef1eb874 Destruct AssFiles on a background thread as it's rather slow with large files
Originally committed to SVN as r6407.
2012-02-01 00:47:28 +00:00
Thomas Goyne 64553dd633 Handle commands which change types at runtime. Closes #1413.
Originally committed to SVN as r6406.
2012-01-31 04:04:02 +00:00
Thomas Goyne 983ffc1e83 Add some dumb heuristics to detect binary files in the charset detector to avoid taking forever feeding hundreds of MB through it. Closes #1438.
Originally committed to SVN as r6405.
2012-01-31 04:03:55 +00:00
Thomas Goyne d68a395499 Open files in binary mode for charset detection
Originally committed to SVN as r6404.
2012-01-31 04:03:50 +00:00
Thomas Goyne fc96f1bd28 Swallow cancel exceptions thrown from opening audio from the script so that unrelated things aren't canceled
Originally committed to SVN as r6403.
2012-01-31 04:03:44 +00:00
Thomas Goyne f774f21903 Explicitly do nothing when an empty container is passed to delete_clear as it's oddly slow otherwise
Originally committed to SVN as r6402.
2012-01-31 00:44:55 +00:00
Thomas Goyne c2d3c910c7 Replace some uses of "" with wxString()
Despite special-casing zero-length input, wxString("") takes over four
times as long as wxString() - and on a 10k line script, this change cuts
AssFile's copy constructor's runtime in half.

Originally committed to SVN as r6401.
2012-01-31 00:44:43 +00:00
Thomas Goyne 3b0d2ae8e6 Add effect and actor to the things that lines can be sorted by
Originally committed to SVN as r6400.
2012-01-31 00:44:34 +00:00
Thomas Goyne a114238396 Use AssTime::GetASSFormated for the video position display
Originally committed to SVN as r6399.
2012-01-31 00:44:26 +00:00
Thomas Goyne 725820efc0 Add support for setting the active line from automation macros
The macro processing function can now return a second value, which is
the index of the line to make active, which must be one of the lines in
the selection. If it is not, or if the value is not present, then the
active line is left unchanged if it is in the new selection, or set to
the first line of the new selection if it is not.

Closes #1435.

Originally committed to SVN as r6398.
2012-01-31 00:44:16 +00:00
Thomas Goyne dad803e956 Set the start and end times of syllables relative to the line's start time rather than time 0 to match 2.1.x's behavior. Closes #1440.
Originally committed to SVN as r6397.
2012-01-31 00:44:07 +00:00
Thomas Goyne 4c4ea92d0f Update all spellcheckers after adding a word
Previously adding a word to the dictionary via the spell checker dialog
would not update the dictionary used by the subs edit box and
vice-versa.

Originally committed to SVN as r6396.
2012-01-31 00:43:59 +00:00
Thomas Goyne 57fc4145d9 Always use the same language for all spellchecker instances as having different languages in different places is weird
Originally committed to SVN as r6395.
2012-01-31 00:43:49 +00:00
Thomas Goyne e205f9d51b Make the 'Add to dictionary' button in the spellchecker dialog actually do something. Closes #1441.
Originally committed to SVN as r6394.
2012-01-31 00:43:40 +00:00
Thomas Goyne aa49a4eb0f Factor out the options lookups from BaseGrid::GetRowStrings so that they aren't pointlessly checked every row
Originally committed to SVN as r6393.
2012-01-31 00:43:32 +00:00
Thomas Goyne 1af19fb42e Make AssTime::GetASSFormated roughly an order of magnitude faster
Originally committed to SVN as r6392.
2012-01-31 00:43:23 +00:00
Thomas Goyne 0c972886fb Cache most of the brushes used in grid painting
Originally committed to SVN as r6391.
2012-01-31 00:43:15 +00:00
Thomas Goyne cf1425f9d1 Don't get the strings for hidden columns when painting the grid. Speeds up grid painting by up to 25%.
Originally committed to SVN as r6390.
2012-01-31 00:43:06 +00:00
Thomas Goyne b34d2c547f Use wxAutoBufferedPaintDC rather than manual double-buffering in BaseGrid, as it's simpler and slightly faster
Originally committed to SVN as r6389.
2012-01-31 00:42:58 +00:00
Thomas Goyne e5f1719d8f Use DC clipping in AudioRenderer rather than wxMemoryDC + Blit
In addition to being far simpler, this is marginally faster as
wxMemoryDC has a decent amount of overhead.

Originally committed to SVN as r6388.
2012-01-31 00:42:47 +00:00
Thomas Goyne 0bff490b7e Enable/disable the OK button in the TPP dialog when styles are (un)checked
Originally committed to SVN as r6387.
2012-01-27 23:35:31 +00:00
Thomas Goyne 049c730813 Fix handling of autosave and autobackup paths that don't end in a slash
Originally committed to SVN as r6386.
2012-01-27 21:32:48 +00:00
Thomas Goyne e258e8c25f Fix crash on empty lines in karaoke mode
Originally committed to SVN as r6385.
2012-01-27 20:04:31 +00:00
Thomas Goyne 9e3f280cda Fix bug where opening audio with audio already open would resize the audio display
Originally committed to SVN as r6384.
2012-01-27 20:04:22 +00:00
Thomas Goyne ef4c1b369d Adjust the label for the history box in the shift times dialog to suggest that old shifts can now be loaded
Originally committed to SVN as r6383.
2012-01-27 20:04:14 +00:00
Thomas Goyne 642a9df2bf Correct the tooltip for 'Shift to Current Frame'
Originally committed to SVN as r6382.
2012-01-27 20:04:05 +00:00
Thomas Goyne 78f1198426 Fix error when adding a word to the dictionary when the user dictionary file doesn't already exist
Originally committed to SVN as r6381.
2012-01-27 20:03:55 +00:00
Thomas Goyne bc9c521cfd Apply the 'Subs Edit Box' hotkey handling to all of the text boxes in the subs edit area rather than just the main text edit. Closes #1431.
Originally committed to SVN as r6380.
2012-01-27 19:23:35 +00:00
Thomas Goyne 0dc0135f9a Select the appropriate entry in the zoom dropdown when the zoom is changed externally so that keyboard navigation works. Updates #1433.
Originally committed to SVN as r6379.
2012-01-27 19:23:26 +00:00
Thomas Goyne 2d5df24fd6 Update the zoom on Enter in the zoom box. Updates #1433.
Originally committed to SVN as r6378.
2012-01-27 19:23:16 +00:00
Thomas Goyne 772c8dee3b Fix accelerator conflict between Redo and Find and Replace
Originally committed to SVN as r6377.
2012-01-27 19:23:07 +00:00
Thomas Goyne 16db1eb4dd Add more menu accelerators and fix a conflict between View and Video. Patch by catntabile. Closes #1434.
Originally committed to SVN as r6376.
2012-01-27 19:22:57 +00:00
Thomas Goyne d01c0cf501 Fix crash when drawing a vector clip that does not start with a move. Closes #1430.
Originally committed to SVN as r6375.
2012-01-27 19:22:46 +00:00
Thomas Goyne 4746ae8a1d Really unhardcode the Paste Over dialog's height rather than just the width
Originally committed to SVN as r6374.
2012-01-26 23:23:41 +00:00
Thomas Goyne a54983a9bc Fix a few minor issues with the Paste Over dialog
Remove the pointlessly hardcoded height of the checklist.

Set the parent correctly.

Set the initial focus to the OK button.

Originally committed to SVN as r6373.
2012-01-26 23:21:19 +00:00
Thomas Goyne 8c246e1cb8 Make shift-scrollwheel scroll the grid a page at a time. Closes #1407.
Originally committed to SVN as r6372.
2012-01-26 22:46:09 +00:00
Thomas Goyne 6d550b4a5d Repaint the entire grid on timing changes
Timing changes can potentially make all of the columns need to be
repainted (due to the collision line color), and the grid currently
isn't smart enough to know when this is actually the case, so just
always repaint the entire thing.

Originally committed to SVN as r6371.
2012-01-26 22:27:57 +00:00
Thomas Goyne a1ad0fa585 Use Scintilla's logic for deciding when to coalesce edit box changes
Scintilla's modification notifications don't expose enough information
to do a very good job of deciding when to group changes with previous
ones, but it does expose when Scintilla thinks undo groups should end,
so just use that.

This should significantly improve the behavior of undo when editing
lines in the edit box.

Originally committed to SVN as r6370.
2012-01-26 22:13:39 +00:00
Thomas Goyne d55f1622f1 Fix backwards-compatibilty break in the lua karaoke parser
Insert an empty syllable at the beginning of the karaoke syllable table
to better mimick 2.1.x's behavior.

Originally committed to SVN as r6369.
2012-01-26 21:19:25 +00:00
Thomas Goyne 0aec0a9d59 Add an option to skip over commented lines in the spell checker. Closes #1428.
Originally committed to SVN as r6368.
2012-01-26 20:51:08 +00:00
Thomas Goyne 92ae4a616e Fix truncation of all float fields in styles
Originally committed to SVN as r6367.
2012-01-26 20:17:31 +00:00
Thomas Goyne 99a7eece9c Significantly speed up duplicating multiple lines
SubtitlesGrid::DuplicateLines iterated over the entire file multiple
times for each line duplicated, making duplicating large numbers of
lines extremely slow.

Originally committed to SVN as r6366.
2012-01-26 20:08:54 +00:00
Thomas Goyne 15a4eca7ce Fix crash on (auto)save when using CSRI and video is open
Calling AssFile::Save/Load from multiple threads (even on different
objects) was not safe due to that is uses SubtitleFormat internally,
which was inheriently thread-unsafe. To fix this, change
SubtitleFormat's interface to support immutable implementations, and
make all of the current implementations immutable.

This isn't a perfect solution - making a subtitle format implemented in
lua immutable would be rather difficult - so at some point in the future
SubtitleFormat should probably be changed to a factory which returns new
objects from GetReader/GetWriter.

Originally committed to SVN as r6365.
2012-01-26 20:08:38 +00:00
Thomas Goyne d001d66b12 Add support for the scale parameter of vector clips. Closes #1415.
Originally committed to SVN as r6364.
2012-01-26 00:29:08 +00:00
Thomas Goyne 214079af58 Load Shift Times settings from history on double-click
Redesign how shift times history is saved. Previously it stored the
localized strings in the history file, which are not particularly
parsable as the format may differ between locales. Rather than doing
this, store the raw settings in a json file, and generate the history
strings on display. In addition to making it much easier to load old
settings, this makes it so that the history is always displayed using
the current locale, rather than the locale in which the shifting was
done.

Closes #1427.

Originally committed to SVN as r6363.
2012-01-25 23:09:45 +00:00
Thomas Goyne 2094814077 Save the current row and scroll position in the file and restore it when the file is reopened. Closes #1417.
Originally committed to SVN as r6362.
2012-01-25 19:07:36 +00:00
Thomas Goyne 71a4e38c7d Fix over-escaping that resulted in Recombine Lines stripping 't' rather than tabs. Closes #1418.
Originally committed to SVN as r6361.
2012-01-25 19:07:27 +00:00
Thomas Goyne a4eb7ef528 Fix crash with empty hotkeys. Closes #1420.
Originally committed to SVN as r6360.
2012-01-25 19:07:18 +00:00
Thomas Goyne e9dcbf66f3 Fix compilation errors when wxUSE_ON_FATAL_EXCEPTION is not enabled. Updates #1423.
Originally committed to SVN as r6359.
2012-01-25 19:07:07 +00:00
Thomas Goyne d798d69849 Enable the dummy audio provider in release builds. Closes #1425.
Originally committed to SVN as r6358.
2012-01-25 19:06:56 +00:00
Thomas Goyne e7307d249e Fix odd behavior when switching active lines with the Effect or Actor boxes focused
Originally committed to SVN as r6357.
2012-01-25 05:49:00 +00:00
Thomas Goyne f8c27feedb Skip unprocessed key events. Updates #1408.
Originally committed to SVN as r6356.
2012-01-25 05:48:53 +00:00
Thomas Goyne 26c3e13340 Fix poor synchronization between mouse and keyboard modifications to the selection
Combining Shift+Up/Down (or Home/End or Page Up/Page Down) with
shift-clicking had very odd results due to that they used separate
variables to decide where to extend from (and even when only one was
used they were handled incorrectly in some cases).

Closes #1311.

Originally committed to SVN as r6355.
2012-01-25 04:59:17 +00:00
Thomas Goyne e6d86a1af4 Don't remove audio files from the recently used files list when loading is cancelled
Originally committed to SVN as r6354.
2012-01-25 04:59:11 +00:00
Thomas Goyne bce29f5a9a Fix bug where "Play current line" would not stop at the end of the line if video was already playing
Originally committed to SVN as r6353.
2012-01-25 00:40:21 +00:00
Thomas Goyne a24f1692be Let macros update their help string from the validate function
If the second return value from the validate function exists and is a
non-empty string, replace the macro's help text with that string.

Revert r6327, as this is a better solution to the same problem.

Closes #1413.

Originally committed to SVN as r6352.
2012-01-25 00:21:37 +00:00
Thomas Goyne 3140d902da Report the endianness of detected UTF-16 and UTF-32
'UTF-16' is big-endian UTF-16, so returning it for UTF-16LE is incorrect
and results in line_iterator failing on UTF-16LE.

Originally committed to SVN as r6351.
2012-01-25 00:21:27 +00:00
Thomas Goyne 1034d16e4b Auto-apply AssFixStylesFilter when sending subtitles to the renderer
Originally committed to SVN as r6350.
2012-01-24 01:46:29 +00:00
Thomas Goyne 1c14740d51 Fix check for 'start after' and 'end after' keyframe snapping in the TPP
Originally committed to SVN as r6349.
2012-01-24 01:28:26 +00:00
Thomas Goyne df9f46b49c Actually read the values from the TPP dialog before applying processing
Originally committed to SVN as r6348.
2012-01-23 23:53:26 +00:00
Thomas Goyne 3b5bc88285 Write the video's colorspace to the script info section
Originally committed to SVN as r6347.
2012-01-23 23:07:35 +00:00
Thomas Goyne f2aadc7439 Add automatic host API selection to the portaudio player
Portaudio defaults to using the most stable widely available host API,
rather than the highest performance or quality, and as a result the
default host API on windows (MME) is really quite bad. As such, add
logic to select the best host API for the selected output device.

Closes #1375.

Originally committed to SVN as r6346.
2012-01-23 21:14:32 +00:00
Thomas Goyne e6252ae11b Fix adding lead in/out in the timing postprocessor
The wrong set of lines were being checked for overlaps resulting in
completely broken results.

Originally committed to SVN as r6345.
2012-01-23 21:01:57 +00:00
Thomas Goyne 2d3e505193 Port 2.1.9's installer scripts to 3.0.0
The upgrade installer still needs some updating as it only supports
upgrading from 2.1.8

Originally committed to SVN as r6344.
2012-01-23 19:09:14 +00:00
Thomas Goyne 0b7d018287 Delete the unused preferences dialog pages
Originally committed to SVN as r6343.
2012-01-23 19:02:25 +00:00
Thomas Goyne 8eaf4a6a8e Add most of the remaining "hidden" options to the preferences dialog. Closes #1022.
Originally committed to SVN as r6342.
2012-01-23 19:02:15 +00:00
Thomas Goyne 2e37ba8246 Remove redundant OSS device option
Originally committed to SVN as r6341.
2012-01-23 19:02:05 +00:00
Thomas Goyne 1f8005d8d1 Add option to hide the main toolbar. Updates #1399.
Originally committed to SVN as r6340.
2012-01-22 23:44:24 +00:00
Thomas Goyne c8099decf3 Fix infinite loop in ALSA player when playing zero-length audio
Updates #1394.

Originally committed to SVN as r6339.
2012-01-22 18:18:07 +00:00
Thomas Goyne e026d2a60a Fix copy/paste error that made the end time and duration boxes not work
Originally committed to SVN as r6338.
2012-01-22 18:18:00 +00:00
Thomas Goyne 0287edaa33 Suppress creation of multiple separators in a row in toolbars
If an entire group of commands in a toolbar is missing (such as with
AssDraw on non-windows), the duplicate separator should go as well to
avoid ugliness. A better solution here would be platform-specific
default toolbars, which should probably be done as part of #495.

Closes #1398.

Originally committed to SVN as r6337.
2012-01-22 17:15:36 +00:00
Thomas Goyne 7da57b38dc Bind wxEVT_LEAVE_WINDOW in AudioDisplay so the track cursor actually gets removed when the mouse leaves the display
Originally committed to SVN as r6336.
2012-01-22 17:15:31 +00:00
Thomas Goyne c0b599fbae Only play audio on next/prev line in karaoke mode
Originally committed to SVN as r6335.
2012-01-22 17:15:25 +00:00
Thomas Goyne e10055cb59 Don't try to create an OpenGL context until video is loaded
Creating it during startup triggers a few valgrind errors in vbox's gl
driver that may or may not matter.

Originally committed to SVN as r6334.
2012-01-22 05:59:43 +00:00
Thomas Goyne 6c879c12f1 Move the visual tool submode buttons to the main visual tool toolbar
Creating an entire toolbar for one button in the drag mode is a
pointless waste of space and source of ugliness. The secondary toolbar
was more reasonable for the vector clip tool, but it's still a bit
pointless as there's enough space for it on the main toolbar at any
reasonable zoom level.

Closes #1401.

Originally committed to SVN as r6333.
2012-01-22 05:59:36 +00:00
Thomas Goyne d273255814 Use wxDataViewCtrl::EditItem rather than StartEditor when using 2.9.4 as StartEditor is deprecated
Originally committed to SVN as r6332.
2012-01-22 05:59:31 +00:00
Thomas Goyne 6d4a56d391 Delete most of VideoBox's members
VideoBox is down to one method so it doesn't actually need to be able to
reference most of the stuff it constructs.

Originally committed to SVN as r6331.
2012-01-22 05:59:23 +00:00
Thomas Goyne d1d4d7840b Obey the icon size option in the visual subtoolbars rather than always using 24x24 icons
Originally committed to SVN as r6330.
2012-01-20 23:42:33 +00:00
Thomas Goyne d253620a96 Remove duplicate *.mov from video format filters
Originally committed to SVN as r6329.
2012-01-20 22:36:11 +00:00
Thomas Goyne c83135cb9b Add a few more a/v formats to the filters. Updates #1397.
Originally committed to SVN as r6328.
2012-01-20 22:20:08 +00:00
Thomas Goyne a939732d9c Add auto4lua support for dynamic help strings
Rather than passing a string as the second argument to
aegisub.register_macro, they can now pass a function which will be
called (with no arguments) to get a help string.

Originally committed to SVN as r6327.
2012-01-20 21:33:39 +00:00
Thomas Goyne b0c1ef2d6b Add support for commands with dynamic help strings
Originally committed to SVN as r6326.
2012-01-20 21:33:30 +00:00
Thomas Goyne 64c7043123 Add aegisub.cancel(), which immediates ends macro execution without applying any of the changes that have been made
Originally committed to SVN as r6325.
2012-01-20 21:33:20 +00:00
Thomas Goyne 632a02bcc9 Disable keyboard scrolling in the preferences dialog as it eats unrelated key events on wxGTK
Originally committed to SVN as r6324.
2012-01-20 15:14:47 +00:00
Thomas Goyne 2e2d896ea9 Fix the font pick buttons in the preferences dialog with wxGTK
wxGTK doesn't generate spin events when the value of a spin control is
set programmatically, so generate the event ourseleves.

Originally committed to SVN as r6323.
2012-01-20 15:14:41 +00:00
Thomas Goyne 2bc43eb886 Fix use of uninitialized variable when setting margins to an empty string
Originally committed to SVN as r6322.
2012-01-20 05:14:56 +00:00
Thomas Goyne 4675dbb29d Factor out the placeholder text behavior from SubsEditBox and make it work better
Handle switching from placeholder/normal mode when the value is changed
externally (such as from the active line changing) in addition to on
focus/blur, and improve behavior when the user sets the text to the
placeholder text.

Originally committed to SVN as r6321.
2012-01-20 05:14:50 +00:00
Thomas Goyne 1ce9b0d31b Refactor SubsEditBox a bit to make the constructor less of a monolithic behemoth and eliminate some duplicated code.
Originally committed to SVN as r6320.
2012-01-20 05:14:44 +00:00
Thomas Goyne 8e1ffb7898 Fix off-by-one error in logic for when to reannounce karaoke style ranges
Originally committed to SVN as r6319.
2012-01-20 01:49:41 +00:00
Thomas Goyne a249cfcc35 Add an option to disable autosave as setting the interval to zero isn't very obvious
Originally committed to SVN as r6318.
2012-01-20 01:04:24 +00:00
Thomas Goyne 6e09fb1abf Reset syntax highlighter state at the end of override blocks correctly
With incomplete (or possibly incomplete for \r and \fn) tags at the end
of an override block, the text at the beginning of the next override
block was being incorrectly parsed as part of that tag.

Originally committed to SVN as r6317.
2012-01-19 19:46:09 +00:00
Thomas Goyne 6a091e3ba2 Don't save the file in the 'opened a new file' commit when 'App/Auto/Save on Every Change' is enabled as it's not actually a change
Originally committed to SVN as r6316.
2012-01-19 19:46:01 +00:00
Thomas Goyne e4b2f1b509 Set the minimum undo levels to 2, as things get weird without a valid undo stack
Originally committed to SVN as r6315.
2012-01-19 19:45:49 +00:00
Thomas Goyne c75fb1d069 Add the OSS player to the vcproj
It's never used on Windows, but it's useful to have all of the files in
the project, and the other non-Windows audio players are already in the
project.

Originally committed to SVN as r6314.
2012-01-19 00:43:43 +00:00
Thomas Goyne a72fb8f5bf Quote the path to gtestd.lib so that it works with spaces
Originally committed to SVN as r6313.
2012-01-18 23:39:52 +00:00
Thomas Goyne 6414a6ffcb Add the Ctrl/Alt/Shift-Left/Right hotkeys to the subtitle grid
Originally committed to SVN as r6312.
2012-01-18 22:51:37 +00:00
Thomas Goyne be07cca9f6 Change keyframe snapping distance from frames to milliseconds
Snapping based on frames works poorly with VFR, and is pointlessly
different from the other adjustments.

Originally committed to SVN as r6311.
2012-01-18 22:51:28 +00:00
Thomas Goyne f6c3be4776 Clean up a bunch of stuff in DialogTimingProcessor
Factor out most of the duplicated code and fix a lot of ugly stylistic
things.

Originally committed to SVN as r6310.
2012-01-18 22:51:17 +00:00
Thomas Goyne e40e42ff1c Modernize DialogTextImport
Originally committed to SVN as r6309.
2012-01-18 20:08:53 +00:00
Thomas Goyne b36c70ca7d Move a pile of things that shouldn't be in headers out of the headers
Originally committed to SVN as r6308.
2012-01-18 20:08:42 +00:00
Thomas Goyne b38851bb93 Make the avisynth providers store an AvisynthWrapper rather than inherit from it
Originally committed to SVN as r6307.
2012-01-18 20:08:32 +00:00
Thomas Goyne 46986c6944 Fix new[]/delete mismatch
Originally committed to SVN as r6306.
2012-01-18 20:08:24 +00:00
Thomas Goyne 8cf71ddd8d Fix crash when seeking to previous keyframe with no keyframes loaded
Originally committed to SVN as r6305.
2012-01-18 20:08:16 +00:00
Thomas Goyne 9ac2f93bf0 Fix some mostly unimportant uses of uninitialized memory
Originally committed to SVN as r6304.
2012-01-18 20:08:06 +00:00
Thomas Goyne 2109d677a7 Handle unicode in string lists in the preferences dialog
Originally committed to SVN as r6303.
2012-01-17 03:03:13 +00:00
Thomas Goyne 96211b79cf Focus the frame number field of the Jump To dialog when it's opened
Originally committed to SVN as r6302.
2012-01-17 02:47:37 +00:00
Thomas Goyne cf6f54720d Change the default hotkey for the Jumo To dialog to Ctrl-G
The hotkey should only be Ctrl-J on OS X (where Ctrl-G is taken by Find
Next), but platform-specific hotkeys aren't implemented yet.

Originally committed to SVN as r6301.
2012-01-17 02:47:31 +00:00
Thomas Goyne f463bf4bd9 Derive the custom hotkey renderers from wxDataViewCustomRenderer
Deriving from the more specialized renderes reduces the amount of code
required, but it depends on implementation details of the specific
implementations, resulting in the custom renderers not working with
wxGTK. In addition, this makes it possible to bypass the default
handling for 'Enter' which made it impossible to set it as a hotkey.

Originally committed to SVN as r6300.
2012-01-17 02:47:25 +00:00
Thomas Goyne 4055100734 Implement 'make dist'
Originally committed to SVN as r6299.
2012-01-14 18:46:49 +00:00
Thomas Goyne 3ed84ba70d Update distdir generation
The list of files to include was out of date and only included files
for dependencies which were actually enabled, and the script was
FreeBSD-specific.

Originally committed to SVN as r6298.
2012-01-14 18:46:43 +00:00
Thomas Goyne a586e7e58f Write svn_revision when getting the revision from git
Originally committed to SVN as r6297.
2012-01-14 18:46:38 +00:00
Thomas Goyne 3c6e28ec2e Make default_config.h/cpp depend on the json files packed into it
Originally committed to SVN as r6296.
2012-01-14 18:46:33 +00:00
Thomas Goyne 72c9bdeebf Add some super-kludgy hotkey migration logic
Originally committed to SVN as r6295.
2012-01-14 01:40:32 +00:00
Thomas Goyne 40e4f887ba Make the enter-key-in-edit-box logic a standard hotkeyed command
Originally committed to SVN as r6294.
2012-01-14 01:40:21 +00:00
Thomas Goyne d8cedf0eec Implement the "Auto-focus audio display on mouse over" option
Originally committed to SVN as r6293.
2012-01-13 21:17:51 +00:00
Thomas Goyne 9166eb1d6b Store the selection range for the audio display srollbar in pixels so it remains valid when the zoom changes
Originally committed to SVN as r6292.
2012-01-13 21:17:40 +00:00
Thomas Goyne 3ec9514636 Fix bogus inactive line markers for the previous line when the first dialogue line is active
Originally committed to SVN as r6291.
2012-01-13 20:59:48 +00:00
Thomas Goyne 37cb9d0548 Fix some 32-bit int overflows at high zoom with long audio
Originally committed to SVN as r6290.
2012-01-13 20:59:35 +00:00
Thomas Goyne 789f25aff2 Move all selected rows up/down rather than just the active row
Originally committed to SVN as r6288.
2012-01-13 20:19:06 +00:00
Thomas Goyne 7e557c1dad Rename edit/line/swap to grid/swap and grid/swap/* to grid/move/*
Continue moving all the reordering commands to grid (why were they in
three different categories?), and change swap to move to better reflect
what they do.

Originally committed to SVN as r6287.
2012-01-13 20:18:57 +00:00
Thomas Goyne e2984b93b0 Rename time/sort/* to grid/sort/*
Sorting lines doesn't effect the timing of them, and sorting by style
doesn't even involve time in any way. Moving lines up and down is
already in the grid category, so it seems logical to put sorting there
as well.

Originally committed to SVN as r6286.
2012-01-13 20:18:48 +00:00
Thomas Goyne 1bcbc728c8 Mark the current visual tool as active in the toolbar
Originally committed to SVN as r6285.
2012-01-13 20:18:40 +00:00
Thomas Goyne 54ebe9b37a Fix incorrect (un)wrapping of the subs edit box toolbar on video zoom changes
The size of the contents is not updated until after SubsEditBox::OnSize
is called, so the wrapping logic was being done based on the previous
available area, rather than the new size.

Originally committed to SVN as r6284.
2012-01-13 20:18:29 +00:00
Thomas Goyne 5774e87248 Add files which were missed in r6278
Originally committed to SVN as r6283.
2012-01-13 14:37:15 +00:00
Thomas Goyne 4ab04b79dd Repaint the visual tools when the active line changes
Originally committed to SVN as r6282.
2012-01-12 22:49:24 +00:00
Thomas Goyne 695559d403 Add missing parentheses that resulted in repainting issues in the audio display with inactive lines disabled
Originally committed to SVN as r6281.
2012-01-12 22:32:28 +00:00
Thomas Goyne ca5c968d4f Non-precomp-header compilation fixes
Originally committed to SVN as r6280.
2012-01-12 22:32:20 +00:00
Thomas Goyne 988ade0c00 Rewrite the font collector
The fontconfig collector should now always pick the exact font files
used by libass rather than a giant mishmash of vaguely related files
which may or may not include the correct font.

Make the freetype font collector windows-only, as it's far inferior to
the fontconfig collector and is only present as a fallback.

Add option to copy the fonts to the script's folder.

Closes #1059.

Originally committed to SVN as r6279.
2012-01-12 22:32:09 +00:00
Thomas Goyne 7dd6cfe37d Derive agi::acs exceptions from agi::FileSystemError and friends rather than having two sets of errors for the same thing
Originally committed to SVN as r6278.
2012-01-12 22:31:54 +00:00
Thomas Goyne 7031ba807b Fix gcc compilation error
Originally committed to SVN as r6277.
2012-01-12 21:33:14 +00:00
Thomas Goyne 85733835d1 Kill setup.cpp and move library inclusion to config_windows0.h. Closes #949.
Originally committed to SVN as r6276.
2012-01-11 20:03:46 +00:00
Thomas Goyne 86aacca631 Move SplitLine from SubtitlesGrid to SubsEditCtrl
This still isn't a very good place for the functionality, but it breaks
SubsEditCtrl's dependency on SubtitlesGrid.

Originally committed to SVN as r6275.
2012-01-11 19:19:30 +00:00
Thomas Goyne c8d67ea0ff Fix disabling the spellchecker
Originally committed to SVN as r6274.
2012-01-11 19:19:21 +00:00
Thomas Goyne db18cea308 Don't sort automation macros by name
Leaving macros in the order they're registered makes it possible to
group related macros. Once a UI for editing the menus has been added it
might make sense to default to sorting them, but for now it's just
unhelpful.

Closes #1381.

Originally committed to SVN as r6273.
2012-01-11 19:19:11 +00:00
Thomas Goyne 896a1ab902 Don't mark things in drawing blocks as words in GetWordBoundaries
This disables spell checking in drawing blocks and potential weird
behavior when right-clicking on drawing blocks.

Originally committed to SVN as r6272.
2012-01-11 19:19:03 +00:00
Thomas Goyne 3f8b9b8213 Fix use of uninitialized variables in GetWordAtPosition when the position is not in a word
Originally committed to SVN as r6271.
2012-01-11 19:18:54 +00:00
Thomas Goyne 1293f86afe Refactor SubsTextEditCtrl::OnContextMenu a bit
Originally committed to SVN as r6270.
2012-01-11 19:18:45 +00:00
Thomas Goyne 4726402abd Don't embolden spell check suggestions
Setting the font to bold also changes the font size, which results in
the suggestions looking worse than the default appearance is.

Originally committed to SVN as r6269.
2012-01-11 19:18:35 +00:00
Thomas Goyne ce01b39248 Add some of the FFMS2 options to the advanced audio page of the preferences dialog
Originally committed to SVN as r6268.
2012-01-10 22:10:57 +00:00
Thomas Goyne 2b49d6ea62 Fix typo in preferences dialog
Originally committed to SVN as r6267.
2012-01-10 22:10:47 +00:00
Thomas Goyne 3b099dba74 Fix icon installation with DESTDIR set
Originally committed to SVN as r6266.
2012-01-10 20:56:25 +00:00
Thomas Goyne 5ab777f230 Set BIN_SINSTALL in a way that actually works (make is not sh)
Originally committed to SVN as r6265.
2012-01-10 20:56:15 +00:00
Thomas Goyne 237193a4bb Add option to only show non-comment inactive dialogue lines in the audio display. Closes #1386.
Originally committed to SVN as r6264.
2012-01-10 20:03:31 +00:00
Thomas Goyne 5cd47a8a88 Switch precompiled headers back to defaulting to on
Originally committed to SVN as r6263.
2012-01-10 19:10:00 +00:00
Thomas Goyne 1a02d2ba3e Add missing #include <algorithm> to dialog_log.cpp. Closes #1391.
Originally committed to SVN as r6262.
2012-01-10 19:09:51 +00:00
Thomas Goyne ea819a2e1a Fix portaudio compilation failure
Originally committed to SVN as r6261.
2012-01-10 19:09:41 +00:00
Thomas Goyne d451cf3e9c Add option to show the previous and next inactive lines in the audio display in addition to previous, all or none. Updates #1386.
Originally committed to SVN as r6260.
2012-01-10 01:16:39 +00:00
Thomas Goyne a0fcd535c1 Store the names of commands in the menu rather than references to the commands themselves, to avoid crashes with dynamically created and removed commands. This makes most menu operations a bit slower, but it appears to be sufficiently fast.
Originally committed to SVN as r6259.
2012-01-09 20:31:55 +00:00
Thomas Goyne 1801583ed7 Reload the video when reattaching the video display. Fixes a pile of issues and potential crashes
Originally committed to SVN as r6258.
2012-01-09 20:31:47 +00:00
Thomas Goyne cd48b711b4 Fix opengl errors when the file is modified with a minimized detached video window open
Originally committed to SVN as r6257.
2012-01-09 20:31:38 +00:00
Thomas Goyne 93c96d1f82 Increase default audio marker snap distance to 10 pixels to match 2.1.9
Originally committed to SVN as r6256.
2012-01-09 20:31:30 +00:00
Thomas Goyne 8bfefd356c Return nil from lua functions which require a project context if they're called during script initialization. Closes #1380.
Originally committed to SVN as r6255.
2012-01-09 20:31:19 +00:00
Thomas Goyne bf26c14999 Remove redundant check in AudioDispaly::SetZoomLevel
Originally committed to SVN as r6254.
2012-01-08 01:37:19 +00:00
Thomas Goyne f4c8bf429b Remove AudioTimingController::HasLabels as the rewritten audio display doesn't need it
Originally committed to SVN as r6253.
2012-01-08 01:37:12 +00:00
Thomas Goyne d04753aaf2 Remove AudioController::GetAudioProvider as it was a temporary hack which is no longer needed
Originally committed to SVN as r6252.
2012-01-08 01:37:05 +00:00
Thomas Goyne 702d1e9c22 Split AudioDisplay::OnPaint into several methods
Originally committed to SVN as r6251.
2012-01-08 01:36:58 +00:00
Thomas Goyne 3c62a38c7a Replace MyThes thesaurus implementation with a custom one
Fixes a pile of unicode-related issues, such as dictionaries in a path
which does not fit into the system's local charset, and significantly
cuts down on the amount of code.

Originally committed to SVN as r6250.
2012-01-08 01:36:50 +00:00
Thomas Goyne 518f93f18f Create the json log writer after checking for local config so it goes to the right place
Originally committed to SVN as r6249.
2012-01-08 01:36:35 +00:00
Thomas Goyne e2d31b708e Split the json log writing into a seperate class from LogSink
Originally committed to SVN as r6248.
2012-01-08 01:36:23 +00:00
Thomas Goyne 59ce8bf414 Pass wxStrings to wxString::Format rather than std::string in LogWindow
Originally committed to SVN as r6247.
2012-01-08 01:36:16 +00:00
Thomas Goyne d148bbbf2a Make agi::log::LogSink take ownership of the emitters passed to it
Originally committed to SVN as r6246.
2012-01-08 01:36:09 +00:00
Thomas Goyne ba1a1dc737 Load configuration before initializing commands, hotkeys and icons, as hotkeys uses ?user which may be changed by configuration loading
Originally committed to SVN as r6245.
2012-01-08 01:36:03 +00:00
Thomas Goyne d2d28401bd Change how local config mode works
Rather than loading both the local and user config files and saving to
the local directory if an option is set, simply try to load the local
config file, and if it exists switch to local mode and never even touch
the user file.

Originally committed to SVN as r6244.
2012-01-08 01:35:56 +00:00
Thomas Goyne ae62cb75b4 Add missing uses of STD_STR when converting from wxString to std::string
Originally committed to SVN as r6243.
2012-01-08 01:35:49 +00:00
Thomas Goyne 56337beb11 Use OutputDebugStringW rather than OutputDebugStringA in the windows debug logging so that unicode actually works
Originally committed to SVN as r6242.
2012-01-08 01:35:43 +00:00
Thomas Goyne 976da6717e Change "windows specific" things in the preferences dialog to avisynth-specific
Originally committed to SVN as r6241.
2012-01-08 01:35:37 +00:00
Thomas Goyne 32abbde477 Pass a copy of the video filename to SetVideo in VideoContext::Reload so that it doesn't get cleared by Reset
Originally committed to SVN as r6240.
2012-01-08 01:35:31 +00:00
Thomas Goyne 6f7836c11e Paint keyframe markers on top of line markers so that they don't vanish when lines are scenetimed
Originally committed to SVN as r6239.
2012-01-08 01:35:25 +00:00
Thomas Goyne 58c7bbd78a Sort inactive markers so that lower_bound will actually work when lines are out of order or overlapping
Originally committed to SVN as r6238.
2012-01-08 01:35:18 +00:00
Thomas Goyne c84275d6fa Snap to markers in the audio display on click in addition to on drag
Originally committed to SVN as r6237.
2012-01-08 01:35:11 +00:00
Thomas Goyne 4dcb6240d4 Move audio marker snapping logic from the audio display to the dialogue timing controller
Originally committed to SVN as r6236.
2012-01-08 01:35:04 +00:00
Thomas Goyne 1285584e89 Add ?local for the user's local config dir; use it for FFMS2 indexes
Originally committed to SVN as r6235.
2012-01-08 01:34:57 +00:00
Thomas Goyne 44bc249fe8 Don't suffix the configuration directory with the version on unix
Aegisub is not a library that needs to support having many versions
installed at once, and having multiple versions sharing a config
directory mostly works fine on Windows anyway.

Closes #1031.

Originally committed to SVN as r6234.
2012-01-08 01:34:49 +00:00
Thomas Goyne 43d4e785fb Cosmetics in standard_paths.cpp
Originally committed to SVN as r6233.
2012-01-08 01:34:43 +00:00
Thomas Goyne 01646d7cf4 Remove StandardPaths::DecodePathMaybeRelative, as it's been deprecated forever
Originally committed to SVN as r6232.
2012-01-08 01:34:37 +00:00
Thomas Goyne 15d49fb655 Revamp AssFile::AddLine and related functions to eliminate the statics and hopefully make it less brittle
Originally committed to SVN as r6231.
2012-01-08 01:34:30 +00:00
Thomas Goyne f8b4dd3a61 Bump copyright year in about dialog to 2012
Originally committed to SVN as r6230.
2012-01-08 01:34:24 +00:00
Thomas Goyne afca7e9732 Don't overwrite overridden menu text when hotkeys change
Originally committed to SVN as r6229.
2012-01-08 01:34:18 +00:00
Thomas Goyne 8511376da5 Make strings from the menu json translatable
Originally committed to SVN as r6228.
2012-01-08 01:34:12 +00:00
Thomas Goyne 4d7518e127 Make OpenStream and CloseStream pure virtual
Originally committed to SVN as r6227.
2012-01-08 01:34:06 +00:00
Thomas Goyne 2f38efede6 Remove pointless call to CloseStream in AudioPlayer's destructor (calling virtual functions in constructors/destructors calls the version from the current class, not the most derived type)
Originally committed to SVN as r6226.
2012-01-08 01:34:01 +00:00
Thomas Goyne 81a99ae27b Remove pointless duplicated member variable in OSSPlayer and document a few of the members
Originally committed to SVN as r6225.
2012-01-08 01:33:55 +00:00
Thomas Goyne 02fa5bee3e Add option to automatically open audio when opening video. Closes #1134.
Originally committed to SVN as r6224.
2012-01-08 01:33:47 +00:00
Thomas Goyne df9c6b627f Improve audio open error reporting and remove a pile of unused stuff in AudioPlayer
Originally committed to SVN as r6223.
2012-01-08 01:33:39 +00:00
Thomas Goyne a927672c27 Remove unused private variables in AudioProvider
Originally committed to SVN as r6222.
2012-01-08 01:33:33 +00:00
Thomas Goyne 4e06c198d0 Kill AssStyle::Get\SetMarginString, as it isn't really used for much of anything
Originally committed to SVN as r6221.
2012-01-08 01:33:26 +00:00
Thomas Goyne 8fdd5d987e Remove the encoding parameter from AssFile::SaveMemory, as it only supports utf-8, and simplify the implementation
Originally committed to SVN as r6220.
2012-01-08 01:33:19 +00:00
Thomas Goyne c379e1e8e0 Prompt to save changes before creating new subtitles
Originally committed to SVN as r6218.
2012-01-08 01:05:57 +00:00
Thomas Goyne dc58b3db40 Clean up SetThreadName a little
Originally committed to SVN as r6217.
2012-01-08 01:05:51 +00:00
Thomas Goyne c0d8270815 Add shell script to regenerate the .pot file
Originally committed to SVN as r6216.
2012-01-08 01:05:45 +00:00
Thomas Goyne 2b07b3411f Fill in a few placeholder strings
Originally committed to SVN as r6215.
2012-01-08 01:05:39 +00:00
Thomas Goyne dfafbc082d Delete unused command "subtitle/tags/show"
Originally committed to SVN as r6214.
2012-01-08 01:05:33 +00:00
Thomas Goyne e8ba128fa8 Synchronize a bunch of similar but not quite identical strings. Closes #1081.
Originally committed to SVN as r6213.
2012-01-08 01:05:25 +00:00
Thomas Goyne c847318ddb Mark command strings as translatable
Originally committed to SVN as r6212.
2012-01-08 01:05:19 +00:00
Thomas Goyne 3efdef2224 Tweak a few strings to make them easier to translate
Originally committed to SVN as r6211.
2012-01-08 01:05:13 +00:00
Thomas Goyne eaa1001d7a Don't mark help button page names as translatable
Originally committed to SVN as r6210.
2012-01-08 01:05:07 +00:00
Thomas Goyne e08fb25d15 Check for --enable-debug before wxWidgets as the wx m4 macros use the value of $enable_debug
Originally committed to SVN as r6209.
2012-01-08 01:05:01 +00:00
Thomas Goyne 25c1225ad1 Fix bug where on wxGTK the display mode would get set to "Subs Only" the first time the menus were opened after opening video or audio
Originally committed to SVN as r6208.
2012-01-08 01:04:55 +00:00
Thomas Goyne 89705b4f9c Add missing config.h include in preferences.cpp
Originally committed to SVN as r6207.
2012-01-08 01:04:50 +00:00
Thomas Goyne 4990d8255c Don't bother refcounting portaudio initializations as portaudio does that internally
Originally committed to SVN as r6206.
2012-01-08 01:04:44 +00:00
Thomas Goyne 0fd475031a Make default script resolution customizable
Originally committed to SVN as r6205.
2012-01-08 01:04:37 +00:00
Thomas Goyne 6b85782dc5 Fix signed/unsigned comparison warning on x64
Originally committed to SVN as r6204.
2012-01-08 01:04:29 +00:00
Thomas Goyne 71968aa4f3 Fix wxString::Format assertion failures in the stack walker
Originally committed to SVN as r6203.
2012-01-08 01:04:16 +00:00
Thomas Goyne 00b3fcf0b7 Remove incorrect overriding of the test project's intermediate and output directories
Originally committed to SVN as r6202.
2012-01-08 01:04:11 +00:00
Thomas Goyne 0113b33d66 Always build with -g and optionally strip the debugging symbols on install so that crash backtraces aren't completely meaningless
Originally committed to SVN as r6201.
2012-01-08 01:04:05 +00:00
Thomas Goyne 5702dd60a1 Add install-strip target to the makefile
Originally committed to SVN as r6200.
2012-01-08 01:03:59 +00:00
Thomas Goyne 3d906ded47 Remove precompiled headers on 'make clean' and add 'mostlyclean' target that does not touch them
Originally committed to SVN as r6199.
2012-01-08 01:03:53 +00:00
Thomas Goyne c4251bd181 Add DESTDIR support. Patch by Alucryd. Closes #1376.
Originally committed to SVN as r6198.
2012-01-08 01:03:45 +00:00
Thomas Goyne 58d6ac1fad Make DataBlockCache::Age roughly ten times as fast
Originally committed to SVN as r6197.
2012-01-08 01:03:40 +00:00
Thomas Goyne 83805934dd Fix order of Cut and Copy on the subtitles grid context menu
Originally committed to SVN as r6196.
2012-01-08 01:03:33 +00:00
Thomas Goyne 3f9080bbee Fix left-click check on audio display
Originally committed to SVN as r6189.
2011-12-30 15:52:04 +00:00
Thomas Goyne e34b401201 Return -1 from AegisubApp::FilterEvent rather than wxEventFilter::Event_Skip, as the enum was added in wx 2.9.4
Originally committed to SVN as r6188.
2011-12-30 15:51:58 +00:00
Thomas Goyne 84d1315736 Write the config and MRU files to ?data in portable mode rather than ?user
Originally committed to SVN as r6187.
2011-12-30 01:21:03 +00:00
Thomas Goyne d01d7eb78b Fix crash when the audio commit hotkey is pressed with the grid focused and no audio open
Originally committed to SVN as r6185.
2011-12-29 15:12:36 +00:00
Thomas Goyne d192f1c332 Fix bad format string that made stack trace writing fail after one stack frame
Originally committed to SVN as r6184.
2011-12-29 05:36:49 +00:00
Thomas Goyne 68b2ae8275 Eliminate most clang warnings
Originally committed to SVN as r6183.
2011-12-28 21:27:22 +00:00
Thomas Goyne 0eeb1d18fc Fix getting the revision from git with BSD sed
Originally committed to SVN as r6182.
2011-12-28 21:27:16 +00:00
Thomas Goyne cae10121ed Fix a bunch of -pedantic stuff
Originally committed to SVN as r6181.
2011-12-28 21:27:06 +00:00
Thomas Goyne cdf8e31e1a Get audio marker drag sensitivity from configuration
Originally committed to SVN as r6180.
2011-12-28 21:27:00 +00:00
Thomas Goyne 0e17edc561 Rearrange AudioDisplay::OnMouseEvent a bit to eliminate some duplicated code and separate the code which requires a timing controller from that which doesn't
Originally committed to SVN as r6179.
2011-12-28 21:26:54 +00:00
Thomas Goyne 6953a69cf8 Store the last used AudioMarkerInteractionObject in its own member variable to eliminate an ugly dynamic_cast
Originally committed to SVN as r6178.
2011-12-28 21:26:48 +00:00
Thomas Goyne 88ba844850 Make middle-click-drag on the audio display continue to update the video position
Originally committed to SVN as r6177.
2011-12-28 21:26:41 +00:00
Thomas Goyne 4b2e5d1b93 Make audio marker snap distance and whether or not it defaults to snapping customizable
Originally committed to SVN as r6176.
2011-12-28 01:22:59 +00:00
Thomas Goyne c06d72d5be gcc compilation fix
Originally committed to SVN as r6175.
2011-12-28 01:22:54 +00:00
Thomas Goyne b7cd695cd6 Add support for getting the revision number from git
Originally committed to SVN as r6174.
2011-12-28 01:22:49 +00:00
Thomas Goyne f02ccdd331 Update translations to 2.1.9's. Still rather out of date, but slightly less so.
Originally committed to SVN as r6173.
2011-12-28 01:22:37 +00:00
Thomas Goyne 532072218f Allow snapping to the inactive line markers in the audio display
Originally committed to SVN as r6172.
2011-12-27 18:46:20 +00:00
Thomas Goyne eda90a15fb Make the "Play last 500ms of selection" command always play to the end of the selection as it did in 2.1
Originally committed to SVN as r6171.
2011-12-27 02:23:04 +00:00
Thomas Goyne 935e5544d5 Fix intermediate overflow in DirectSoundPlayer2 that resulted in the playback position resetting to the beginning after 97 seconds with 44.1 khz audio
Originally committed to SVN as r6170.
2011-12-27 01:38:14 +00:00
Thomas Goyne 090fdecb95 Scroll instantly to the audio playback position when "Lock Scroll on Cursor" is enabled
Originally committed to SVN as r6169.
2011-12-27 01:38:08 +00:00
Thomas Goyne cfc7e009f2 Don't disable or hide the visual tools while video is playing. Updates #1336.
Originally committed to SVN as r6168.
2011-12-27 01:38:00 +00:00
Thomas Goyne ae3895fb8e Handle empty files better in the translation assistant
Originally committed to SVN as r6167.
2011-12-26 22:21:19 +00:00
Thomas Goyne 92254a9806 Start the translation assistant at the first translatable block rather than always the first block
Originally committed to SVN as r6166.
2011-12-26 22:21:14 +00:00
Thomas Goyne 9cfe230682 Remove unused 'parent' member from AssDialogueBlock and make 'text' protected
Originally committed to SVN as r6165.
2011-12-26 22:21:08 +00:00
Thomas Goyne 7b4759cc13 Parse {} as an empty override block rather than an empty comment
Originally committed to SVN as r6164.
2011-12-26 22:21:02 +00:00
Thomas Goyne 04990e8694 Fix seeking to previous keyframe when the current frame is not a keyframe
Originally committed to SVN as r6163.
2011-12-26 22:20:57 +00:00
Thomas Goyne 7adbe07b4e Silence a bunch of PREFast warnings
Originally committed to SVN as r6162.
2011-12-26 22:20:49 +00:00
Thomas Goyne bddd4fc714 Add group as an optional parameter to AssEntry's contructor
Originally committed to SVN as r6161.
2011-12-26 22:20:43 +00:00
Thomas Goyne a189bac35e Make AudioRenderingStyleRanges's destructor protected
Originally committed to SVN as r6160.
2011-12-26 22:20:37 +00:00
Thomas Goyne bc640b4f94 Fix use of uninitialized value that resulted in the find/replace dialog always opening as the replace dialog
Originally committed to SVN as r6155.
2011-12-24 00:47:41 +00:00
Thomas Goyne 7c6696a53a Fix signature of AssDialogue::SetEntryData so it actually overrides the base
Originally committed to SVN as r6154.
2011-12-24 00:36:30 +00:00
Thomas Goyne 309e7e75fd Eliminate the use of wxAny as it's the only thing not supported by clang
Originally committed to SVN as r6153.
2011-12-24 00:36:19 +00:00
Thomas Goyne 38b3379b3a Remove build_bsd as it's no longer used by anything
Originally committed to SVN as r6152.
2011-12-23 23:30:31 +00:00
Thomas Goyne d87ff50fc1 Remove special-casing for iconv on BSD
iconv is only one of many dependencies which are likely to be installed
to /usr/local ib BSD.

Originally committed to SVN as r6151.
2011-12-23 23:21:12 +00:00
Thomas Goyne aba01b833a Allow nonintegral font sizes in styles
Originally committed to SVN as r6150.
2011-12-23 23:21:02 +00:00
Thomas Goyne 435e7170df Add missing semicolon in the FFTW build credit
Originally committed to SVN as r6149.
2011-12-23 22:05:44 +00:00
Thomas Goyne 9bfa40a9d3 Add FFTW credit to the about dialog
Originally committed to SVN as r6146.
2011-12-22 21:32:37 +00:00
Thomas Goyne 31c696157d Change FFmpegSource to FFMS2 in the about dialog
Originally committed to SVN as r6145.
2011-12-22 21:32:29 +00:00
Thomas Goyne 236173ed22 Add myself to the primary authors in the About dialog
Originally committed to SVN as r6144.
2011-12-22 21:32:19 +00:00
Thomas Goyne be3e9dae68 Update the value of the zoom dropdown when the detached video dialog is resized
Originally committed to SVN as r6143.
2011-12-22 21:32:09 +00:00
Thomas Goyne 43b6d910fb Resize the detached video dialog to the specified size when the video zoom is changed. Closes #493.
Originally committed to SVN as r6142.
2011-12-22 21:31:57 +00:00
Thomas Goyne 77cf1f7583 Handle Windows newlines in line_iterator on non-Windows
Originally committed to SVN as r6141.
2011-12-22 21:31:48 +00:00
Thomas Goyne 4c9ebe1a4d Add debug flags to tests's CXXFLAGS
Originally committed to SVN as r6140.
2011-12-22 21:31:39 +00:00
Thomas Goyne 477dd8a2f6 Try to preserve the value of the styles dropdown across undo/redo
Originally committed to SVN as r6139.
2011-12-22 21:31:29 +00:00
Thomas Goyne 95ad8c1fba Fix the single-line-commit optimization
Originally committed to SVN as r6138.
2011-12-22 21:31:18 +00:00
Thomas Goyne 1c2abeae30 Stop coalescing changes made in the edit box after ten seconds of no changes
Originally committed to SVN as r6137.
2011-12-22 21:31:09 +00:00
Thomas Goyne fd35224cb5 Stop coalescing changes for undo when the active line changes
Originally committed to SVN as r6136.
2011-12-22 21:31:01 +00:00
Thomas Goyne f0e352f382 Update the view menu after the display mode has been automatically updated due to opening video or audio. Closes #1344.
Originally committed to SVN as r6135.
2011-12-22 21:30:49 +00:00
Thomas Goyne 5eb516f8d9 In non-WITH_STARTUPLOG builds, send startup log events to the standard logging system rather than discard them
Originally committed to SVN as r6134.
2011-12-22 21:30:40 +00:00
Thomas Goyne 046d8a6822 Use wxEventBlocker rather than manually enabling and disabling the event handler in SubsEditBox
Originally committed to SVN as r6133.
2011-12-22 21:30:32 +00:00
Thomas Goyne e5707ca6eb Don't use the ms time value of the Duration time edit control when in frame mode, as with vfr this may not actually represent a consisten number of frames
Originally committed to SVN as r6132.
2011-12-22 21:30:22 +00:00
Thomas Goyne 2c324de29c Fix use of an uninitialized value in the time edit control when the frame number can't be parsed
Originally committed to SVN as r6131.
2011-12-22 21:30:14 +00:00
Thomas Goyne 2fdbd86a7f Add aegisub.decode_path, which simply wraps StandardPaths::DecodePath
Originally committed to SVN as r6130.
2011-12-22 21:30:05 +00:00
Thomas Goyne 4a3f2b8412 Add aegisub.keyframes, which returns a table with all of the frame numbers which are keyframes
Originally committed to SVN as r6129.
2011-12-22 21:29:56 +00:00
Thomas Goyne f974fdb1b2 Delete aegisub.parse_tag_data and aegisub.unparse_tag_data
Originally committed to SVN as r6128.
2011-12-22 21:29:47 +00:00
Thomas Goyne 29460b97b9 Rearrange VideoContext::Reset to fix error on shutdown
Originally committed to SVN as r6127.
2011-12-22 21:29:38 +00:00
Thomas Goyne 4133806fe7 Allow opening video with no working subtitle providers enabled
Originally committed to SVN as r6126.
2011-12-22 21:29:29 +00:00
Thomas Goyne 3cdc27c894 Normalize the value of the time edit controls when they lose focus. Updates #512.
Originally committed to SVN as r6125.
2011-12-22 21:29:18 +00:00
Thomas Goyne 5cbd35e749 Simplify some AssTime-using code
Originally committed to SVN as r6124.
2011-12-22 21:29:09 +00:00
Thomas Goyne 71345af81a Overload operator int() on AssTime and remove GetMS/SetMS
Originally committed to SVN as r6123.
2011-12-22 21:28:51 +00:00
Thomas Goyne de9583004d Uncrustify AssTime
Originally committed to SVN as r6122.
2011-12-22 21:28:41 +00:00
Thomas Goyne e36759a3b2 Remove the undocumented milisecond precision option
Originally committed to SVN as r6121.
2011-12-22 21:28:32 +00:00
Thomas Goyne 1fbf2ef218 Remove pointless operator=, copy constructor and destructor from agi::vfr::Framerate
Originally committed to SVN as r6120.
2011-12-22 21:28:23 +00:00
Thomas Goyne a91f6f7880 Use agi::vfr::Framerate in FractionalTime rather than a numerator\denominator pair
Originally committed to SVN as r6119.
2011-12-22 21:28:13 +00:00
Thomas Goyne ab68b4b080 Delete unused SMPTE parsing code
Originally committed to SVN as r6118.
2011-12-22 21:28:04 +00:00
Thomas Goyne 3b83b9e31b Delete SubtitleFormat::FPSRational and just use FractionalTime
Originally committed to SVN as r6117.
2011-12-22 21:27:53 +00:00
Thomas Goyne ac6e9fd022 Use unrounded rational time in microdvd subtitle format
Originally committed to SVN as r6116.
2011-12-22 21:27:45 +00:00
Thomas Goyne 93ce90cbf9 Store a numerator and denominator in agi::vfr::Framerate rather than a fps. Fixes minor rounding issues with 24000/1001 and 30000/1001 frame rates.
Originally committed to SVN as r6115.
2011-12-22 21:27:35 +00:00
Thomas Goyne 7a9bc1dcc9 Add tests for hotkeys
Originally committed to SVN as r6114.
2011-12-22 21:27:26 +00:00
Thomas Goyne fe090969f4 Actually use the value from the "Always" context in Hotkey::GetHotkey
Originally committed to SVN as r6113.
2011-12-22 21:27:17 +00:00
Thomas Goyne 7bb749b51f Return the name of the command found or an empty string if none from Hotkey::Scan rather than using an out reference
Originally committed to SVN as r6112.
2011-12-22 21:27:06 +00:00
Thomas Goyne 022c711409 Clear the command output variable when a hotkey fails to match to be safe
Originally committed to SVN as r6111.
2011-12-22 21:26:57 +00:00
Thomas Goyne eb8a73d836 Use EXPECT_TRUE and EXPECT_FALSE rather than EXPECT_EQ([true,false])
Originally committed to SVN as r6110.
2011-12-22 21:26:48 +00:00
Thomas Goyne a16da9ffdd Get lua CFLAGS/LIBS from pkg-config when possible
Originally committed to SVN as r6109.
2011-12-22 21:26:39 +00:00
Thomas Goyne d02cf5c99f Handle wxMouseCaptureLostEvent in the color picker
Originally committed to SVN as r6108.
2011-12-22 21:26:30 +00:00
Thomas Goyne 4c31490d41 Use PCMAudioProvider to read from the cache in HDAudioProvider as it's far faster than the naive logic previously used
Originally committed to SVN as r6107.
2011-12-22 21:26:21 +00:00
Thomas Goyne 70dce930e6 Remove maintainer mode, as it didn't actually do anything (since we don't use automake)
Originally committed to SVN as r6106.
2011-12-22 21:26:12 +00:00
Thomas Goyne ac498f75d5 Generate a configure error if a dependency explicitly enabled with --with cannot be found
Originally committed to SVN as r6105.
2011-12-22 21:26:03 +00:00
Thomas Goyne f2c62dad3d Factor out a bunch of duplicated code in the configure script for pkg-config based optional dependencies and use the pkg-config name for all WITH_* defines
Originally committed to SVN as r6104.
2011-12-22 21:25:49 +00:00
Thomas Goyne 975bb7b26f Delete pointless empty destructor in DummyAudioProvider
Originally committed to SVN as r6103.
2011-12-22 21:25:38 +00:00
Thomas Goyne a5fce1d1be Fix off-by-one error in DummyAudioProvider::GetAudio
Originally committed to SVN as r6102.
2011-12-22 21:25:29 +00:00
Thomas Goyne 0892de62a8 Don't let audio markers snap to themselves
Originally committed to SVN as r6101.
2011-12-22 21:25:19 +00:00
Thomas Goyne 5e9339611b Return a pair of SplineCurves from SplineCurve::Split rather than mutating the arguments, as it doesn't actually work in-place
Originally committed to SVN as r6100.
2011-12-22 21:25:08 +00:00
Thomas Goyne 400b8252e9 Don't block loading styles from scripts with only a Default style
Originally committed to SVN as r6099.
2011-12-22 21:25:00 +00:00
Thomas Goyne f809fa4104 Put OSS CFLAGS in their own variable rather than modifying CPPFLAGS
Originally committed to SVN as r6098.
2011-12-22 21:24:51 +00:00
Thomas Goyne 71109a87e1 Replace most inappropriate uses of LDFLAGS with LIBS
Originally committed to SVN as r6097.
2011-12-22 21:24:40 +00:00
Thomas Goyne 48526bf341 Delete libmedia
It's nowhere close to working and just getting further away from working
as time goes on.

Originally committed to SVN as r6096.
2011-12-22 21:24:20 +00:00
Thomas Goyne e2eb7255a9 Refactor the configure script a bit to remove the need for $found_player_audio
Originally committed to SVN as r6095.
2011-12-22 21:24:10 +00:00
Thomas Goyne 4ab6ca890a Use AS_IF and AS_CASE rather than the shell script equivalents in the configure script
Originally committed to SVN as r6094.
2011-12-22 21:24:01 +00:00
Thomas Goyne 670d7dfcd4 Delete ax_openml.m4 as we no longer use openmp
Originally committed to SVN as r6093.
2011-12-22 21:23:52 +00:00
Thomas Goyne f454801868 Update acx_pthread.m4 to the latest versions
Originally committed to SVN as r6092.
2011-12-22 21:23:43 +00:00
Thomas Goyne 6fbf5b057f Remove references to a target archtecture from the configure script
Originally committed to SVN as r6091.
2011-12-22 21:23:35 +00:00
Thomas Goyne 965a292a05 Increase max precision in the rotation tools to four digits so that rotations over 100 degrees aren't rounded to ints
Originally committed to SVN as r6090.
2011-12-22 21:23:26 +00:00
Thomas Goyne d9ab41468c In the cross visual tool, apply the same roundning rules to the coordinates set on double-click as for the displayed coordinates
Originally committed to SVN as r6089.
2011-12-22 21:23:17 +00:00
Thomas Goyne 25f4e4b426 Set the current frame in the Jump To dialog correctly
Originally committed to SVN as r6088.
2011-12-22 21:23:07 +00:00
Thomas Goyne b66357bfb8 Fix warning on x64 unix
Originally committed to SVN as r6087.
2011-12-22 21:22:58 +00:00
Thomas Goyne ff32be592f Make FractionalTime less weird
Originally committed to SVN as r6086.
2011-12-22 21:22:49 +00:00
Thomas Goyne 7a2c461825 Clean up ass_time.h a little
Originally committed to SVN as r6085.
2011-12-22 21:22:40 +00:00
Thomas Goyne ec63fad7c5 Make help buttons fall back to the docs wiki if the scraped html files aren't available locally
Originally committed to SVN as r6084.
2011-12-22 21:22:31 +00:00
Thomas Goyne 8427958a1d Fix spelling error in configure.in
Originally committed to SVN as r6083.
2011-12-22 21:22:22 +00:00
Thomas Goyne 1b40118172 Sort required versions in configure.in
Originally committed to SVN as r6082.
2011-12-22 21:22:13 +00:00
Thomas Goyne fd78c51aa2 Mark things as disabled when --without-blah is passed to configure rather than --with-blah
Originally committed to SVN as r6081.
2011-12-22 21:22:05 +00:00
Thomas Goyne 207ca88c5c Set modification mask correctly when appending lines
Originally committed to SVN as r6080.
2011-12-22 21:21:55 +00:00
Thomas Goyne f78d52448e Fix appending and deleting rows via the subtitles object index syntax
Originally committed to SVN as r6079.
2011-12-22 21:21:47 +00:00
Thomas Goyne 38ffdc4135 Improve error message when a field is missing from a subtitle line
Originally committed to SVN as r6078.
2011-12-22 21:21:38 +00:00
Thomas Goyne 776c7e69a8 When appending lines from a lua script, always append the new line to the end of the appropriate section, creating the section if needed
Originally committed to SVN as r6077.
2011-12-22 21:21:29 +00:00
Thomas Goyne 464f652ea4 Eliminate a bunch of weird bogusness with various environment variables
Originally committed to SVN as r6076.
2011-12-22 21:21:20 +00:00
Thomas Goyne f430d02659 Don't check if iconv is enabled before checking if its argument needs to be const as it's a required dep which is always enabled
Originally committed to SVN as r6075.
2011-12-22 21:21:12 +00:00
Thomas Goyne 848f123a98 Fix some inconsistent formatting in configure.in
Originally committed to SVN as r6074.
2011-12-22 21:21:03 +00:00
Thomas Goyne 810ca07041 Remove unused $with_hunspell_version variable from configure script
Originally committed to SVN as r6073.
2011-12-22 21:20:54 +00:00
Thomas Goyne 863e7070a6 Add a bunch of missing config.h includes
Originally committed to SVN as r6072.
2011-12-22 21:20:44 +00:00
Thomas Goyne 8796a605ba Use non-recursive make for libresrc and command so that dependencies can actually be set correctly. Fixes parallel builds.
Originally committed to SVN as r6071.
2011-12-22 21:20:34 +00:00
Thomas Goyne 7161b74be0 Use AS_HELP_STRING to generate configure help strings
Originally committed to SVN as r6070.
2011-12-22 21:20:24 +00:00
Thomas Goyne 8f24931e3a Remove checks to see if things returned from pkg-config actually work. If pkg-config is returning garbage then there's something very wrong with the user's setup.
Originally committed to SVN as r6069.
2011-12-22 21:20:15 +00:00
Thomas Goyne b12b3425e1 Check for missing OpenGL by inspecting $gl_no rather than GL_LIBS, which could theoretically be empty
Originally committed to SVN as r6068.
2011-12-22 21:20:07 +00:00
Thomas Goyne 96bf33a241 Delete worthless empty OpenGL tests
Originally committed to SVN as r6067.
2011-12-22 21:19:58 +00:00
Thomas Goyne 395381015e Update to a version of AX_CHECK_GL that isn't ancient. Removes the need for --with-apple-opengl-framework.
Originally committed to SVN as r6066.
2011-12-22 21:19:49 +00:00
Thomas Goyne 17d220e7cd Remove configure check for strlcpy, which we never actually use
Originally committed to SVN as r6065.
2011-12-22 21:19:41 +00:00
Thomas Goyne 76b8df425d Add error message if X include path detection fails. Closes #1009.
Originally committed to SVN as r6064.
2011-12-22 21:19:31 +00:00
Thomas Goyne 55f8cb3685 Add option to disable rendering the sample averages in the waveform renderer
Originally committed to SVN as r6063.
2011-12-22 21:19:21 +00:00
Thomas Goyne 0201b8ea9b Add dumb special casing to DialogSearchReplace so that replacing '$' with 'str' with regular expressions enabled results in 'str' being appended once rather than 1000 times.
Originally committed to SVN as r6062.
2011-12-22 21:19:12 +00:00
Thomas Goyne 3ecc731ff3 Fix non-precompiled-header compilation
Originally committed to SVN as r6061.
2011-12-22 21:19:02 +00:00
Thomas Goyne 21f94ae72e Validate the value passed to AssTime's constructor rather than allowing the creation of bad times
Originally committed to SVN as r6060.
2011-12-22 21:18:54 +00:00
Thomas Goyne 515ed54f1d Use a single-line text edit for TimeEdit on wxGTK as the unspecified bugs appear to have been fixed
Originally committed to SVN as r6059.
2011-12-22 21:18:45 +00:00
Thomas Goyne 6a24046b91 Set -fno-var-tracking for command/icon.cpp, as gcc uses an extremely large amount of memory compiling that file otherwise
Originally committed to SVN as r6058.
2011-12-22 21:18:36 +00:00
Thomas Goyne 51d88c675f Actually use FFTW3_CFLAGS and FFTW3_LDFLAGS
Originally committed to SVN as r6057.
2011-12-22 21:18:26 +00:00
Thomas Goyne 3a069b7f60 Clean up TimeEdit
Remove some unused or constant arguments and simplify some overly
convoluted logic.

Check for whether timecodes are open rather than whether video is open
to determine if by-frame mode is enabled.

Operate on a project context rather than using VideoContext::Get().

Use non-event-generating setter methods rather than a boolean ready
variable.

Make all member variables private and add setters rather than relying on
the client code calling Update when appropriate.

Eliminate flickering in overwrite mode.

Originally committed to SVN as r6056.
2011-12-22 21:18:16 +00:00
Thomas Goyne 70d703255b Skip unprocessed key events in the time edit control so that it doesn't eat hotkeys
Originally committed to SVN as r6055.
2011-12-22 21:18:07 +00:00
Thomas Goyne cd3b9bfa37 Enable propagation of key events so that hotkeys work regardless of what's focused
Originally committed to SVN as r6054.
2011-12-22 21:17:58 +00:00
Thomas Goyne 59273bac4a Reenable the assertion failure handler
Originally committed to SVN as r6053.
2011-12-22 21:17:49 +00:00
Thomas Goyne 28e8f0b640 Use wxGetApp() rather than wxTheApp plus a cast
Originally committed to SVN as r6052.
2011-12-22 21:17:40 +00:00
Thomas Goyne 92949bc965 Remove AegisubApp::Get, as wxGetApp() does the same thing
Originally committed to SVN as r6051.
2011-12-22 21:17:30 +00:00
Thomas Goyne 3e539835b7 Use wxDECLARE_APP rather than the deprecated DECLARE_APP
Originally committed to SVN as r6050.
2011-12-22 21:17:21 +00:00
Thomas Goyne f1ff18545a Make more of AegisubApp's methods private
Originally committed to SVN as r6049.
2011-12-22 21:17:12 +00:00
Thomas Goyne 2ec3ff157b Kill AegisubApp::OpenURL. It makes no sense for the top level application object to be doing this and it doesn't even save any code.
Originally committed to SVN as r6048.
2011-12-22 21:17:02 +00:00
Thomas Goyne ce62990d91 Don't wrap the declaration of AegisubApp::HandleEvent in a ifdef check for wxUSE_EXCEPTIONS as we require that wx be built with exception support
Originally committed to SVN as r6047.
2011-12-22 21:16:53 +00:00
Thomas Goyne a66cc26706 Remove all calls to wxKeyEvent::StopPropagation. Key events don't propagate by default and even if they did, events which are marked as processed don't propagate further.
Originally committed to SVN as r6046.
2011-12-22 21:16:43 +00:00
Thomas Goyne ed51e7b668 Fix memory leak when deleting or cutting rows
Originally committed to SVN as r6045.
2011-12-22 21:16:34 +00:00
Thomas Goyne 79fa487678 Delete the DVD subtitle format. It didn't work and it's been years since anyone last touched it.
Originally committed to SVN as r6044.
2011-12-22 21:16:23 +00:00
Thomas Goyne ef32c75609 Also remove empty attachment sections not at the end of the file
Originally committed to SVN as r6043.
2011-12-22 21:16:14 +00:00
Thomas Goyne 921f6c3bcf Remove empty attachment sections from the file while deleting attachments rather than when the dialog is closed to remove a redundant undo point
Originally committed to SVN as r6042.
2011-12-22 21:16:05 +00:00
Thomas Goyne 384d2bc9c2 Disable the Delete and Extract buttons in the attachment dialog after deleting the selected attachments
Originally committed to SVN as r6041.
2011-12-22 21:15:56 +00:00
Thomas Goyne 38e2403001 Factor out duplicated code in DialogAttachments
Originally committed to SVN as r6040.
2011-12-22 21:15:47 +00:00
Thomas Goyne 96aa9e2629 Use libaegisub io code in AssAttachment rather than wx's
Originally committed to SVN as r6039.
2011-12-22 21:15:37 +00:00
Thomas Goyne 00bc0c7ef8 Significantly clean up and simplify AssAttachment
Originally committed to SVN as r6038.
2011-12-22 21:15:28 +00:00
Thomas Goyne eaf436657e Factor out a bunch of duplicated code in AssStyle::Parse
Originally committed to SVN as r6037.
2011-12-22 21:15:19 +00:00
Thomas Goyne 9eaad5f0b1 Document most of AssStyle and remove some unused code
Originally committed to SVN as r6036.
2011-12-22 21:15:10 +00:00
Thomas Goyne dbf3eea732 Remove pointless empty destructor from AssStyle
Originally committed to SVN as r6035.
2011-12-22 21:15:01 +00:00
Thomas Goyne d28c4c4d8b Kill AssEntry::Valid, as there wasn't actually any way to get a fully-constructed entry with it set to false
Originally committed to SVN as r6034.
2011-12-22 21:14:51 +00:00
Thomas Goyne 61767e4453 Disable the "Update video" checkbox in the search/replace dialog when video isn't open
Originally committed to SVN as r6033.
2011-12-22 21:14:42 +00:00
Thomas Goyne 404e0fda4f Delete stuff in DialogSearchReplace
Originally committed to SVN as r6032.
2011-12-22 21:14:32 +00:00
Thomas Goyne ac9b09b847 Jump to the end of the video rather than the frame before the current one when trying to seek to the next keyframe after the last keyframe
Originally committed to SVN as r6031.
2011-12-22 21:14:24 +00:00
Thomas Goyne bf7e4d5cc1 Fix bug where seeking to the next keyframe would actually seek to the keyframe after the next keyframe
Originally committed to SVN as r6030.
2011-12-22 21:14:15 +00:00
Thomas Goyne 95fe6a523f Actually use the selection foreground color for selected rows in the grid
Originally committed to SVN as r6029.
2011-12-22 21:14:06 +00:00
Thomas Goyne 6ee6e10117 Fix infinite loop when switching between the \pos and \move icons in the visual subtoolbar
Originally committed to SVN as r6028.
2011-12-22 21:13:57 +00:00
Thomas Goyne c27ee9fcb8 Disable gcc's unused value warning for tests as a very large number of tests generate it
Originally committed to SVN as r6027.
2011-12-22 21:13:48 +00:00
Thomas Goyne b29606759a Only include character encodings actually supported by the iconv implementation used in the list returned from GetEncodingsList
Originally committed to SVN as r6026.
2011-12-22 21:13:39 +00:00
Thomas Goyne ebde064cb4 Set rpath for tests correctly
Originally committed to SVN as r6025.
2011-12-22 21:13:30 +00:00
Thomas Goyne 10255ae201 Overload operator<< for UnknownElement as gcc complains about abiguous calls otherwise
Originally committed to SVN as r6024.
2011-12-22 21:13:22 +00:00
Thomas Goyne b0c17b9be2 FFTW 3.3 is required, not 3.2
Originally committed to SVN as r6023.
2011-12-22 21:13:13 +00:00
Thomas Goyne 78580c31ba Fix spelling error in configure script
Originally committed to SVN as r6022.
2011-12-22 21:13:04 +00:00
Thomas Goyne 61b1741376 Remove all the json::Reader::Read overloads, as we never actually use them
Originally committed to SVN as r6021.
2011-12-22 21:12:55 +00:00
Thomas Goyne ba1d1596de Eliminate a pile of duplicated code in elements.cpp
Originally committed to SVN as r6020.
2011-12-22 21:12:46 +00:00
Thomas Goyne 2edc5c41e1 Remove kludges to force options to doubles
Originally committed to SVN as r6019.
2011-12-22 21:12:37 +00:00
Thomas Goyne 07da6f6f1b Split json::Number into json::Double and json::Integer
Trying to decide whether an option should be an int or double after
discarding the differences between "1.0" and "1" simply isn't possible,
and even if an option was initialized correctly, if it was changed to a
round number it could get written as an int and break later.

Also convert cajun to tabs because three spaces to indent is terrible.

Originally committed to SVN as r6018.
2011-12-22 21:12:25 +00:00
Thomas Goyne daff67b150 Simply log errors and continue when type errors occur while loading the user config file, rather than only loading the portion of the file before the error
Originally committed to SVN as r6017.
2011-12-22 21:12:15 +00:00
Thomas Goyne d7ae51a5af Remove some unused members of agi::Options
Originally committed to SVN as r6016.
2011-12-22 21:12:06 +00:00
Thomas Goyne 2f73b55b64 Delete agi::Options::DumpAll declaration, as the definition doesn't exist
Originally committed to SVN as r6015.
2011-12-22 21:11:57 +00:00
Thomas Goyne 4c3d191de8 Significantly simplify agi::Options::PutOption
Originally committed to SVN as r6014.
2011-12-22 21:11:46 +00:00
Thomas Goyne 56165305a4 Change the check for duplicate keys when writing the options file to an assertion as it can't actually happen
Originally committed to SVN as r6013.
2011-12-22 21:11:38 +00:00
Thomas Goyne 4823706206 Fix some spelling errors in comments in option.h
Originally committed to SVN as r6012.
2011-12-22 21:11:29 +00:00
Thomas Goyne a7a159288f Make agi::Options's one protected member private, as agi::Option is not designed to be inherited from
Originally committed to SVN as r6011.
2011-12-22 21:11:21 +00:00
Thomas Goyne 70a291d4d4 Add some tests for agi::Options
Originally committed to SVN as r6010.
2011-12-22 21:11:10 +00:00
Thomas Goyne ef3414931f Fix off-by-one error in MRU::GetEntry
Originally committed to SVN as r6009.
2011-12-22 21:11:01 +00:00
Thomas Goyne d0ee3029de Make the MRU tests significantly less worthless
Originally committed to SVN as r6008.
2011-12-22 21:10:50 +00:00
Thomas Goyne 522e634122 Simplify some uses of cajun types and eliminate some copies
Originally committed to SVN as r6007.
2011-12-22 21:10:41 +00:00
Thomas Goyne 9cbaa01e63 Update and significantly expand the cajun tests
Originally committed to SVN as r6006.
2011-12-22 21:10:32 +00:00
Thomas Goyne 3097dc634e Only automatically convert json objects to other types when they are uninitialized
Originally committed to SVN as r6005.
2011-12-22 21:10:22 +00:00
Thomas Goyne a78417177a Move cajun implementations from .inl files included by the headers to .cpp files
Originally committed to SVN as r6004.
2011-12-22 21:10:10 +00:00
Thomas Goyne c601351a50 Silence a pile of prefast warnings in cajun
Originally committed to SVN as r6003.
2011-12-22 21:10:00 +00:00
Thomas Goyne 2439381c33 Fix misspelled word in the crash log
Originally committed to SVN as r6002.
2011-12-22 21:09:51 +00:00
Thomas Goyne 34a87b1c1e Silence a pile of /W4 warnings
Originally committed to SVN as r6001.
2011-12-22 21:09:31 +00:00
Thomas Goyne c36cd32127 Disable forced inclusion of the precompiled header for C files in x64 builds
Originally committed to SVN as r5989.
2011-12-07 00:19:51 +00:00
Thomas Goyne 1b43e05907 Add configure check for FFTW
Originally committed to SVN as r5988.
2011-12-06 23:48:18 +00:00
Thomas Goyne c0cfe8afce Make Vector2D's default constructor initialize to the invalid value rather than a seemingly valid value. Fixes a few cases where uninitialized vectors were used as if they were initialized.
Originally committed to SVN as r5987.
2011-12-06 23:13:06 +00:00
Thomas Goyne f48c2a444d Enable precompiled headers by default
Originally committed to SVN as r5985.
2011-12-06 21:59:20 +00:00
Thomas Goyne 6d62437c42 Combine --disable-check-wx-opengl and --disable-check-wx-stc into a single configure flag named --disable-slow-wx-checks
Originally committed to SVN as r5984.
2011-12-06 21:59:10 +00:00
Thomas Goyne 1a68f12dcb Fix rendering errors with the cross visual tool and detached video
Originally committed to SVN as r5977.
2011-12-06 20:07:57 +00:00
Thomas Goyne ffa811c8bc Add "App/Auto/Load Linked Files" to the preferences dialog
Originally committed to SVN as r5976.
2011-12-06 19:59:04 +00:00
Thomas Goyne 6ff233b5ac Convert audio samples to doubles rather than floats when using FFTW
Originally committed to SVN as r5975.
2011-12-06 19:58:54 +00:00
Thomas Goyne 5d8a802e8a Allocate memory for fftw with fftw_alloc_real/fftw_alloc_complex rather than fftw_malloc
Originally committed to SVN as r5974.
2011-12-06 19:58:44 +00:00
Thomas Goyne b4e3208405 Fix off-by-one error causing rendering errors in the vector clip visual tool when bezier curves are used
Originally committed to SVN as r5973.
2011-12-06 18:08:33 +00:00
Thomas Goyne 388580e0cc Add spaces between the components of bezier curves
Originally committed to SVN as r5972.
2011-12-06 18:08:23 +00:00
Thomas Goyne 904e0769b1 Remove unused paramters to VideoDisplay::UpdateSize
Originally committed to SVN as r5971.
2011-12-06 00:18:13 +00:00
Thomas Goyne 880ea8848c Document some of VideoContext's members
Originally committed to SVN as r5970.
2011-12-06 00:18:04 +00:00
Thomas Goyne e49486201d Eliminate the duplication between VideoContext::videoName and VideoContext::videoFile
Originally committed to SVN as r5969.
2011-12-06 00:17:54 +00:00
Thomas Goyne 2fa16a78c6 Move snapshot saving from VideoContext to the commands
Originally committed to SVN as r5968.
2011-12-06 00:17:45 +00:00
Thomas Goyne 8a7f4038c1 Make the video provider owned solely by ThreadedFrameSource rather than in a shared_ptr stored in several places
Originally committed to SVN as r5967.
2011-12-06 00:17:36 +00:00
Thomas Goyne 59fdab5fe7 Remove VideoContext::nextFrame as it's unused
Originally committed to SVN as r5966.
2011-12-06 00:17:25 +00:00
Thomas Goyne c26e61f209 Remove the audio resync code from VideoContext. It didn't actually work with the threaded video provider and should be unneccesary as video now always plays back at full speed (dropping frames if needed).
Originally committed to SVN as r5965.
2011-12-05 05:27:05 +00:00
Thomas Goyne 8ab9ba77ae Remove the prohibition against seeking while video is playing and just do Stop; Seek; Play as the slider already did in some cases
Originally committed to SVN as r5964.
2011-12-05 05:26:58 +00:00
Thomas Goyne f95f1f13cf Don't block key events on the video slider when video is playing, as this makes stopping the video rather awkward and it's unneccesary
Originally committed to SVN as r5963.
2011-12-05 05:26:52 +00:00
Thomas Goyne 2e40652265 Simplify video playback logic
Originally committed to SVN as r5962.
2011-12-05 05:26:45 +00:00
Thomas Goyne 1f534bc757 Kill VideoContext::playMutex. I assume it was a relic from the old threaded video display code as it's completely pointless.
Originally committed to SVN as r5961.
2011-12-05 05:26:38 +00:00
Thomas Goyne 73ee949d55 Fix bounds checking in the rectangular clip visual tool with detached video
Originally committed to SVN as r5960.
2011-12-05 03:22:33 +00:00
Thomas Goyne 009d99407b Force a relayout of the video display after switching visual tools. Fixes a bug where the subtoolbar would sometimes appear in the wrong place.
Originally committed to SVN as r5959.
2011-12-05 01:45:08 +00:00
Thomas Goyne 48d412468e Make the log dialog not insane and crashy
Originally committed to SVN as r5958.
2011-12-02 04:36:06 +00:00
Thomas Goyne 95a329a1e2 Flush the clipboard on exit so that it isn't cleared
Originally committed to SVN as r5957.
2011-12-02 04:35:59 +00:00
Thomas Goyne 59ddcab360 Add Ctrl-Shift-S as a default hotkey for Save As
Originally committed to SVN as r5956.
2011-12-01 21:59:35 +00:00
Thomas Goyne df3d3cd409 Fix assertion failure when opening the Jump To dialog on 64-bit linux
Originally committed to SVN as r5955.
2011-12-01 04:22:55 +00:00
Thomas Goyne d6ba00883e Fix infinite loop when opening video with wxgtk
Originally committed to SVN as r5954.
2011-12-01 03:47:19 +00:00
Thomas Goyne 90582c0b15 Use NumValidator to ensure only numbers are typed in the frames box of the jump to dialog. Updates #1319.
Originally committed to SVN as r5953.
2011-12-01 00:43:48 +00:00
Thomas Goyne 157c03ce63 Load the colors for the audio display timeline from the audio colorscheme
Originally committed to SVN as r5952.
2011-11-30 21:04:46 +00:00
Thomas Goyne 7bfdc78b72 Load the colors for the audio display scrollbar from the audio colorscheme
Originally committed to SVN as r5951.
2011-11-30 21:04:37 +00:00
Thomas Goyne fa15f0800e Make audio color schemes selectable in the preferences dialog
Originally committed to SVN as r5950.
2011-11-30 21:04:28 +00:00
Thomas Goyne 1a4d116617 Add green audio color scheme similar to the default waveform colors in 2.1. Currently only actually usable by manually editing the config file.
Originally committed to SVN as r5949.
2011-11-30 21:04:18 +00:00
Thomas Goyne 9cb7b23345 Get color scheme names from the config rather than hardcoding it
Originally committed to SVN as r5948.
2011-11-30 21:04:09 +00:00
Thomas Goyne 598a85c6cd Move color scheme definitions to the config file
Originally committed to SVN as r5947.
2011-11-30 21:03:57 +00:00
Thomas Goyne f0e98151f1 Close audio if an error occurs while announcing the opened audio as the program is probably in an inconsistent state
Originally committed to SVN as r5946.
2011-11-30 04:28:03 +00:00
Thomas Goyne b4d2bba7a2 Fix the name of the Resample Resolution dialog's help page
Originally committed to SVN as r5945.
2011-11-30 03:46:44 +00:00
Thomas Goyne adb5963fbd Cast size_ts used in format strings to ints instead as there isn't actually a portable way to format them.
Originally committed to SVN as r5944.
2011-11-30 02:44:27 +00:00
Thomas Goyne f9e8175cb8 Fix wxString::Format assertion failures in 64-bit builds
Originally committed to SVN as r5943.
2011-11-30 02:38:42 +00:00
Thomas Goyne a47f51080c Also define __STDC_FORMAT_MACROS for commands
Originally committed to SVN as r5942.
2011-11-30 02:16:01 +00:00
Thomas Goyne 9203f17f4d Implement the Lock Scroll on Cursor option in the audio display
Originally committed to SVN as r5941.
2011-11-30 00:40:32 +00:00
Thomas Goyne c6b97612ae Delay creation of the audio renderer until audio is actually opened
Originally committed to SVN as r5940.
2011-11-30 00:40:22 +00:00
Thomas Goyne 8632d5ce75 Remove some unreachable code in SubtitleFormat::AskForFPS
Originally committed to SVN as r5939.
2011-11-29 23:26:31 +00:00
Thomas Goyne 500b8b66d8 Make a few of FrameMain's members local to InitContents
Originally committed to SVN as r5938.
2011-11-29 23:18:42 +00:00
Thomas Goyne dfc68a4db9 Make the int/double option type detection slightly less broken
Choosing between int and double based on whether the default value is an
int is dumb and broken enough, but with the "ceil" the detection didn't
even work for negative numbers.

Originally committed to SVN as r5937.
2011-11-29 23:18:34 +00:00
Thomas Goyne b993c02dee Move AegisubFileDropTarget to frame_main.cpp. It's under ten lines of code so there's really no point in having two separate files for it.
Originally committed to SVN as r5936.
2011-11-29 23:18:24 +00:00
Thomas Goyne bad20c2898 Delete aegisub/src/command/header
Originally committed to SVN as r5935.
2011-11-29 23:18:15 +00:00
Thomas Goyne 1374813ee7 Update out-of-date messages about audio players in the configure script
Originally committed to SVN as r5934.
2011-11-29 23:18:07 +00:00
Thomas Goyne eaba8eb177 Define __STDC_FORMAT_MACROS for all files in the Makefile and vc10 project, as was already done in the vc9 project. There's a decent number of files which need it and we don't have any naming conflicts with it so there's no reason not to.
Originally committed to SVN as r5933.
2011-11-29 23:17:58 +00:00
Thomas Goyne 0e260409fd Remove unused OnKeyDown method from DialogSearchReplace
Originally committed to SVN as r5932.
2011-11-29 23:17:49 +00:00
Thomas Goyne 19503ef4f8 Simplify HelpButton and add some error handling
Originally committed to SVN as r5931.
2011-11-29 23:17:40 +00:00
Thomas Goyne 3f90614fd0 Delete static_bmp.[h|cpp] as it isn't actually used anywhere
Originally committed to SVN as r5930.
2011-11-29 23:17:31 +00:00
Thomas Goyne a445512970 Remove out-of-date comment in auto4_lua.cpp
Originally committed to SVN as r5929.
2011-11-29 23:17:20 +00:00
Thomas Goyne d061e81ada Disable LTCG in debug builds
Originally committed to SVN as r5928.
2011-11-28 23:57:33 +00:00
Thomas Goyne 371bda4f2b Move standard windows libraries from setup.cpp to the project. Updates #949.
Originally committed to SVN as r5927.
2011-11-28 22:45:27 +00:00
Thomas Goyne 7e1ef51b8e Remove wx libraries from setup.cpp. Updates #949.
Originally committed to SVN as r5926.
2011-11-28 22:45:16 +00:00
Thomas Goyne 66f3a3ce55 Fix integer overflow in the matroska subtitle loader which resulted in meaningless progress reporting
Originally committed to SVN as r5925.
2011-11-28 22:16:58 +00:00
Thomas Goyne cce9cb3c47 Fix unintended lowercasing of all strings returned from AssFile::GetScriptInfo
Originally committed to SVN as r5924.
2011-11-28 22:16:50 +00:00
Thomas Goyne cdf05af92b Refactor out a bunch of duplicated code in DialogProperties
Originally committed to SVN as r5923.
2011-11-28 22:16:41 +00:00
Thomas Goyne 303432a671 Default to zero when the initial value for a NumValidator is ""
Originally committed to SVN as r5922.
2011-11-28 22:16:33 +00:00
Thomas Goyne ca91097b8f Revamp script resolution setting logic
Rather than setting the default script resolution to 640x480, leave it
unset in new files. When video is opened, if the user has not already
manually set a script resolution, automatically use the video's
resolution as the script resolution. If the user has and the set
resolution is not a multiple of the video resolution, use the old prompt
for updating it.

This eliminates the confusing prompt about mismatched resolutions when
opening video with a new file while hopefully resulting in users using
the correct resolution more often.

Originally committed to SVN as r5921.
2011-11-28 22:16:22 +00:00
Thomas Goyne f519a493c8 Increment PortAudio refcount even if it's currently initialized
Originally committed to SVN as r5920.
2011-11-28 20:02:07 +00:00
Thomas Goyne 3c83d7e326 Add portaudio device selection to the preferences dialog and filter the list of devices to only output devices
Originally committed to SVN as r5919.
2011-11-28 20:01:58 +00:00
Thomas Goyne 87496b8767 Finish rewriting the PortAudio player
Remove pointless volatiles.

Throw agi::Exception-derived exceptions rather than bare strings.

Eliminate pointless struct which wrapped a few member variables for no
apparent reason.

Use logging statements rather than printf.

Don't set an explicit frame buffer size as the audio providers are fine
with variable sizes and portaudio strongly recommends leaving it up to
the device to decide.

Closes #997.

Originally committed to SVN as r5918.
2011-11-28 20:01:46 +00:00
Thomas Goyne c55195e11c Non-precomp-header compilation
Originally committed to SVN as r5917.
2011-11-25 22:12:15 +00:00
Thomas Goyne e5e159d6b1 Throw agi::Exception derived exceptions from the OSS player rather than bare strings
Originally committed to SVN as r5916.
2011-11-25 19:30:42 +00:00
Thomas Goyne 4b51c34497 Fiddle with some compiler settings
Originally committed to SVN as r5915.
2011-11-25 19:30:16 +00:00
Thomas Goyne 5f7ca1c7a8 Store paths in the last used paths options rather than file names. Updates #1340.
Originally committed to SVN as r5914.
2011-11-25 19:29:46 +00:00
Thomas Goyne e095dc06cd Hacks for Mac, LC_CTYPE must be "" and a wxSafeYield breaks something during FrameMain construction
Originally committed to SVN as r5913.
2011-11-25 19:29:17 +00:00
Thomas Goyne 0c5cb8e490 Have the "make adjacent" threshold in TPP have the end of the range be inclusive
Originally committed to SVN as r5912.
2011-11-25 19:28:50 +00:00
Thomas Goyne 56e6f7d5b2 Move ASS -> SRT tag conversion to the SRT subtitle format from AssDialogue
Originally committed to SVN as r5911.
2011-11-25 19:28:19 +00:00
Thomas Goyne 0992a839cc Port new SRT parser from 2.1.9. Updates #1301.
Originally committed to SVN as r5910.
2011-11-25 19:27:51 +00:00
Thomas Goyne 1452f1fbe3 Partially remove the Gtk/SCIM locale hack. Updates #1205, #1248.
Originally committed to SVN as r5909.
2011-11-25 19:27:19 +00:00
Thomas Goyne 6152716003 Make a few strings into format strings for translations. Closes #1093.
Originally committed to SVN as r5908.
2011-11-25 19:26:48 +00:00
Thomas Goyne 7b46ce6380 Don't mark y4m tags as translatable
Originally committed to SVN as r5907.
2011-11-25 19:26:21 +00:00
Thomas Goyne f3c10634d1 Move gl_text's OpenGL header inclusion to the cpp file
Originally committed to SVN as r5906.
2011-11-23 18:33:14 +00:00
Thomas Goyne df50af52e8 Remove OpenGL headers from video_context as it doesn't touch OpenGL anymore
Originally committed to SVN as r5905.
2011-11-23 18:33:02 +00:00
Thomas Goyne 88b536f824 Make VideoOutGL's error checking even more completely overboard
Originally committed to SVN as r5904.
2011-11-23 18:32:50 +00:00
Thomas Goyne dc8dbbb535 Make VideoContext::Reset private and use SetVideo to close the video so that the change gets announced properly
Originally committed to SVN as r5903.
2011-11-23 18:32:37 +00:00
Thomas Goyne eb2a6e14fa Fix a crash caused by the video display recieving a paint event before the first video frame is ready
Originally committed to SVN as r5902.
2011-11-23 18:32:23 +00:00
Thomas Goyne 3c9864e888 Fix MRU test compilation
Originally committed to SVN as r5901.
2011-11-20 17:35:07 +00:00
Thomas Goyne 893ec95841 Don't load the FPS from Aegisub keyframes. The format breaks vfr and setting the fps should be done with timecode files.
Originally committed to SVN as r5900.
2011-11-20 17:35:00 +00:00
Thomas Goyne 2f85e5b398 Fix osx reporter compilation. Patch by torque. Closes #1366.
Originally committed to SVN as r5899.
2011-11-20 17:34:52 +00:00
Thomas Goyne 908d1cadae Pass the audio renderer absolute coordinates rather than relative so that audio actually scrolls
Originally committed to SVN as r5898.
2011-11-20 04:25:05 +00:00
Thomas Goyne d67cc6032b Fix portaudio player compilation
Originally committed to SVN as r5897.
2011-11-20 03:43:52 +00:00
Thomas Goyne cead5f92df fix non-precomp header compilation
Originally committed to SVN as r5896.
2011-11-20 03:30:00 +00:00
Thomas Goyne 7998677612 Fix wxGTK assertion failure
Originally committed to SVN as r5895.
2011-11-19 05:07:41 +00:00
Thomas Goyne 563a544150 Reload audio when the cache type is changed
Originally committed to SVN as r5894.
2011-11-19 04:57:14 +00:00
Thomas Goyne 9a53dc0440 Eliminate some unused variables
Originally committed to SVN as r5893.
2011-11-19 04:46:45 +00:00
Thomas Goyne 236ea4261d Reload audio when the player or provider is changed
Originally committed to SVN as r5892.
2011-11-19 01:14:42 +00:00
Thomas Goyne 43d41def4f Add missing file audio_rendering_style.h
Originally committed to SVN as r5891.
2011-11-19 01:14:33 +00:00
Thomas Goyne 275f32dfcf Remove audio_player_manager.h from the vc9 project as it hasn't existed for quite a while
Originally committed to SVN as r5890.
2011-11-19 01:14:24 +00:00
Thomas Goyne 70ba90f024 Clean up the OpenAL audio player a bit
Remove pointless volatile modifiers from member variables (there aren't
even any threads involved).

Eliminate all heap memory allocation during playback.

Move comments into the doxygen comments and add some more.

Throw typed exceptions.

Originally committed to SVN as r5889.
2011-11-19 01:14:13 +00:00
Thomas Goyne 70fcece459 Don't create the audio timing controller until audio is actually opened
Originally committed to SVN as r5888.
2011-11-18 22:58:22 +00:00
Thomas Goyne 92e10c80a2 Add markers and styling ranges in the audio display for inactive lines. Closes #1327.
Originally committed to SVN as r5887.
2011-11-18 22:58:12 +00:00
Thomas Goyne 3cf1718ef6 Add support for the inactive color scheme to the audio renderers
Originally committed to SVN as r5886.
2011-11-18 22:58:02 +00:00
Thomas Goyne e3b15bf587 Only connect to signals in AudioDisplay when audio is actually open
Originally committed to SVN as r5885.
2011-11-18 22:57:54 +00:00
Thomas Goyne 725a334860 Add Inactive style to Icy Blue
Originally committed to SVN as r5884.
2011-11-18 22:57:45 +00:00
Thomas Goyne 1eedb0c3d4 Replace InitIcyBlue_Normal and InitIcyBlue_Selected with a single method which takes an audio rendering style as a parameter
Originally committed to SVN as r5883.
2011-11-18 22:57:36 +00:00
Thomas Goyne 13a281e9dc Extract the color lookup in AudioColorScheme to a seperate method
Originally committed to SVN as r5882.
2011-11-18 22:57:26 +00:00
Thomas Goyne 262a74dc6f Remove old audio display color options which have been replaced by the audio color schemes
Originally committed to SVN as r5881.
2011-11-18 22:57:17 +00:00
Thomas Goyne f4a975d64c Remove unnecessary explicit 'inline'
Originally committed to SVN as r5880.
2011-11-18 22:57:07 +00:00
Thomas Goyne af9be4afa6 Remove #undef min/max as NOMINMAX is now defined by the project
Originally committed to SVN as r5879.
2011-11-18 22:56:58 +00:00
Thomas Goyne 8d28b44773 Get audio styling ranges from the timing controller. Based on a patch by jfs.
Originally committed to SVN as r5878.
2011-11-18 22:56:45 +00:00
Thomas Goyne 262d5195c5 Add access keys for nearly all things which support them and were missing them. Closes #1070.
Originally committed to SVN as r5877.
2011-11-18 18:49:09 +00:00
Thomas Goyne 2c2bb54e11 Add access keys for most entries in the main menu bar and eliminate a few duplicates. Updates #1078.
Originally committed to SVN as r5876.
2011-11-18 05:00:20 +00:00
Thomas Goyne 0db92549d7 Eliminate some probably spurious uninitialized variable warnings
Originally committed to SVN as r5875.
2011-11-18 04:06:03 +00:00
Thomas Goyne c119d2d84b Don't try to use the active line in a handler for COMMIT_NEW as it may not be valid
Originally committed to SVN as r5874.
2011-11-18 04:04:35 +00:00
Thomas Goyne 28c7e7dec3 Bind wxEVT_SIZE in the video display even when attached. There doesn't seem to be any reason not to and it fixes some bugs with resizing the main window.
Originally committed to SVN as r5873.
2011-11-18 01:20:47 +00:00
Thomas Goyne ff03168f4c Show decimals in the cross visual tool only when the video resolution is greater than the script resolution
Originally committed to SVN as r5872.
2011-11-17 18:21:30 +00:00
Thomas Goyne f863e28479 Add Select All to the subtitles menu. Closes #1226.
Originally committed to SVN as r5871.
2011-11-17 03:58:05 +00:00
Thomas Goyne 8831de5774 Modify a few strings to ease translations
Originally committed to SVN as r5870.
2011-11-17 02:21:46 +00:00
Thomas Goyne bf285cfa50 Make the undo/redo strings more localization-friendly. Closes #1104.
Originally committed to SVN as r5869.
2011-11-17 02:19:10 +00:00
Thomas Goyne 1590b2a65e Add validator to the subtitle save command to check if there are actually unsaved changes
Originally committed to SVN as r5868.
2011-11-16 22:43:56 +00:00
Thomas Goyne 14c9d8ec87 Fix validate method for the subtitle/select/visible command
Originally committed to SVN as r5867.
2011-11-16 22:43:45 +00:00
Thomas Goyne 2cb234b414 Change the default for Video/Check Script Res to 1 (Ask). Closes #1138.
Originally committed to SVN as r5866.
2011-11-16 21:59:48 +00:00
Thomas Goyne da09d71239 Expand text boxes in the preferences dialog to fill available space
Originally committed to SVN as r5865.
2011-11-16 21:59:39 +00:00
Thomas Goyne a6ecf821c9 Add some options to the preferences dialog
Originally committed to SVN as r5864.
2011-11-16 21:59:31 +00:00
Thomas Goyne 88e5392d37 Remove a few unused options
Originally committed to SVN as r5863.
2011-11-16 21:59:22 +00:00
Thomas Goyne 0f2cea4226 Fix the option name for max undo levels in the preferences dialog
Originally committed to SVN as r5862.
2011-11-16 21:59:12 +00:00
Thomas Goyne 95a1071a1b Add the script file name to the close confirmation dialog. Closes #879.
Originally committed to SVN as r5861.
2011-11-16 21:58:58 +00:00
Thomas Goyne de03dfd8a8 Add an option to disable keyframes in the audio display only in karaoke mode. Closes #644.
Originally committed to SVN as r5860.
2011-11-16 19:56:09 +00:00
Thomas Goyne 91a62836a5 Move the keyframe marker provider from the audio controller to the timing controllers
Originally committed to SVN as r5859.
2011-11-16 19:56:00 +00:00
Thomas Goyne 29518f585a Move AudioMarkerProviderKeyframes from audio_controller.cpp to its own header/source files
Originally committed to SVN as r5858.
2011-11-16 19:55:49 +00:00
Thomas Goyne 75d471c538 Remove unneeded overloaded operators for AudioMarkerKeyframe
Originally committed to SVN as r5857.
2011-11-16 19:55:40 +00:00
Thomas Goyne 672f420d6c Fix race conditions in the dsound2 player that occasionally resulted in audio playback stopping instantly
Originally committed to SVN as r5856.
2011-11-16 19:55:31 +00:00
Thomas Goyne b16f1a0698 Use scoped_ptr to store the worker thread in DirectSoundPlayer2
Originally committed to SVN as r5855.
2011-11-16 19:55:22 +00:00
Thomas Goyne f45d9f8e2d Make pointlessly protected members of DirectSourcePlayer2 private
Originally committed to SVN as r5854.
2011-11-16 19:55:13 +00:00
Thomas Goyne 539dc2fbe4 Don't try to handle exceptions thrown by delete
Originally committed to SVN as r5853.
2011-11-16 19:55:04 +00:00
Thomas Goyne a5f6e0588e Move doxygen comments in the dsound2 player to the declarations from the defitions
Originally committed to SVN as r5852.
2011-11-16 19:54:55 +00:00
Thomas Goyne 554a61daf5 Remove redundant wxLogErrors in DirectSoundPlayer2 that the scripted conversion to the new logging system missed
Originally committed to SVN as r5851.
2011-11-16 19:54:45 +00:00
Thomas Goyne 3dd5cbd31d Check for COMMIT_NEW in the visual tools correctly
Originally committed to SVN as r5850.
2011-11-16 19:54:35 +00:00
Thomas Goyne 55fc6c753e Round scales to ints as VSFilter doesn't actually support nonint scales so it's just pointless ugliness
Originally committed to SVN as r5849.
2011-11-16 19:54:25 +00:00
Thomas Goyne 4be9c302d3 Fix rendering of the clip visual tools with detached video
Originally committed to SVN as r5847.
2011-11-12 01:23:40 +00:00
Thomas Goyne 51149104d9 Make all of VideoBox's members private
Originally committed to SVN as r5846.
2011-11-12 01:23:29 +00:00
Thomas Goyne feb752c24c Store the video display and slider in the context directly rather than going through the video box. Fxes a crash when detaching video.
Originally committed to SVN as r5845.
2011-11-12 01:23:18 +00:00
Thomas Goyne 0b742ef3c1 Add operator unspecified-bool-type to agi::scoped_ptr
Originally committed to SVN as r5844.
2011-11-12 01:23:09 +00:00
Thomas Goyne d4ee9da474 Flip the y axis in the scale tool so that moving the mouse up increases size
Originally committed to SVN as r5843.
2011-11-12 01:22:45 +00:00
Thomas Goyne c4369a092f Fix wxGTK assertion failure when opening the TPP dialog
Originally committed to SVN as r5842.
2011-11-09 03:47:26 +00:00
Thomas Goyne a0b74f4424 Fix wxGTK assertion failure in audio_karaoke.cpp
Originally committed to SVN as r5841.
2011-11-09 02:29:36 +00:00
Thomas Goyne 4bd34ee32f Actually compile ffms and libass providers when they're enabled
Originally committed to SVN as r5838.
2011-11-08 06:06:43 +00:00
Thomas Goyne c763026bfc Explicitly declare a storage location for AudioDisplayScrollbar::min_width
Originally committed to SVN as r5837.
2011-11-08 04:53:51 +00:00
Thomas Goyne 3a80292762 Increase required wx version to 2.9.2
Originally committed to SVN as r5836.
2011-11-08 04:14:03 +00:00
Thomas Goyne 2d61579a65 Remove the AC_LIB_RPATH hack as it breaks gettext detection and generates a million warnings
Originally committed to SVN as r5835.
2011-11-08 04:12:47 +00:00
Thomas Goyne 06932668ee Wrap the code argument to AC_*_IFELSE with AC_LANG_SOURCE
Originally committed to SVN as r5834.
2011-11-08 04:06:31 +00:00
Thomas Goyne 1073b3f7f0 Remove bogus (and pointless) initialization in the glibc iconv-backed converter
Originally committed to SVN as r5833.
2011-11-08 03:44:46 +00:00
Thomas Goyne bf70b14dfa Add GL to the reporter's LDFLAGS
Originally committed to SVN as r5832.
2011-11-08 03:43:01 +00:00
Thomas Goyne c04af51c86 Include lua.hpp rather than the .h versions on non-windows as lua is normally compiled as C, not C++
Originally committed to SVN as r5831.
2011-11-08 01:18:16 +00:00
Thomas Goyne 89541a949f Actually hide override tags in hide tags mode. Closes #1360.
Originally committed to SVN as r5830.
2011-11-08 00:25:02 +00:00
Thomas Goyne dc380c5848 Refactor BaseGrid painting a bit
Originally committed to SVN as r5829.
2011-11-08 00:24:53 +00:00
Thomas Goyne 8e81fd07ed Move everything but the subtitle modification utility functions from SubtitlesGrid to BaseGrid. There never has been a clean division of responsibilities between them and the split mostly just made things awkward.
Originally committed to SVN as r5828.
2011-11-08 00:24:41 +00:00
Thomas Goyne 14d734298e Add -lrt to the test for ALSA
Originally committed to SVN as r5827.
2011-11-07 15:50:52 +00:00
Thomas Goyne 2f394a7792 Fix compilation with clang (but not linking because wxAny is currently broken with it)
Originally committed to SVN as r5826.
2011-11-07 06:18:34 +00:00
Thomas Goyne 8b5545c98f Finish porting the alsa player from 2.1.9 so that it actually compiles
Originally committed to SVN as r5825.
2011-11-07 05:24:46 +00:00
Thomas Goyne 0aa553eb7c compilation fixes
Originally committed to SVN as r5824.
2011-11-07 04:14:09 +00:00
Thomas Goyne be77dc8307 Mostly rewrite the visual tools and related classes
Convert all coordinates within the visual tools to Vector2D, which has
been significantly extended. Eliminates a lot of issues with accumulated
rounding errors and simplifies a lot of code.

Modernize the visual tools' interactions with the rest of Aegisub by
connecting to signals directly rather than routing everything through
the video display and converting the main visual tool mode toolbar to
the command system.

Extract all references to OpenGL from the visual tools and move them to
OpenGLWrapper as a first step towards making it possible to implement an
alternative video renderer. In the process, eliminate all uses of OpenGL
immediate mode.

Fix a bunch of minor issues and general instability.

Originally committed to SVN as r5823.
2011-11-06 17:18:20 +00:00
Thomas Goyne 2e5cbf079e Update ?script after save as
Originally committed to SVN as r5822.
2011-11-06 17:18:14 +00:00
Thomas Goyne 5176ae4407 Flush hotkeys after they're modified
Originally committed to SVN as r5821.
2011-11-06 17:18:08 +00:00
Thomas Goyne e9e02539ac Fix crash when setting hotkeys
Originally committed to SVN as r5820.
2011-11-06 17:18:02 +00:00
Thomas Goyne abaf8fc2c4 Non-precompiled-header compilation fix
Originally committed to SVN as r5819.
2011-11-04 19:42:59 +00:00
Thomas Goyne 092ecafe58 Make ConfigVisitor::AddOptionValue less dumb
Originally committed to SVN as r5818.
2011-11-04 19:42:50 +00:00
Thomas Goyne 8fcd3daf28 Rewrite the array config visitor so that it doesn't need the OptionValueList base class
Originally committed to SVN as r5817.
2011-11-04 19:42:40 +00:00
Thomas Goyne 84c545b978 Return const references from OptionValue::GetList* rather than taking an output parameter. Eliminates some copies of lists and makes the calling code less awkward.
Originally committed to SVN as r5816.
2011-11-04 19:42:31 +00:00
Thomas Goyne ba2794b2fe Replace some const strings with const references to strings
Originally committed to SVN as r5815.
2011-11-04 19:42:21 +00:00
Thomas Goyne 05059732f9 Replace incorrect uses of bitwise or with logical or
Originally committed to SVN as r5814.
2011-11-04 19:42:12 +00:00
Thomas Goyne 579203989b Remove pointless explicit empty constructors from OptionValue base classes
Originally committed to SVN as r5813.
2011-11-04 19:42:04 +00:00
Thomas Goyne 723d3b9780 Pass const references into OptionValue::SetList* rather than const values
Originally committed to SVN as r5812.
2011-11-04 19:41:54 +00:00
Thomas Goyne 6e2e87c0b5 Fix incorrect lowercasing in AssFile::GetScriptInfo
Originally committed to SVN as r5811.
2011-11-04 19:41:43 +00:00
Thomas Goyne f48bc59694 Add locks around CSRI operations as VSFilter isn't even vaguely threadsafe
Originally committed to SVN as r5810.
2011-11-04 05:11:31 +00:00
Thomas Goyne 29f0786c81 Update the video box time boxes when the active line changes
Originally committed to SVN as r5809.
2011-11-04 05:11:24 +00:00
Thomas Goyne 4d2a2c618e Set the user agent used for the update checker requests rather than leaving it as 'wxWidgets 2.x'
Originally committed to SVN as r5808.
2011-11-03 22:50:54 +00:00
Thomas Goyne 2cbe7455bb Don't set icons for check and radio menu items as checked icons aren't supported yet
Originally committed to SVN as r5807.
2011-11-03 00:29:23 +00:00
Thomas Goyne 6a31f840a6 Fix crash when slots disconnect from a signal in response to that signal
Originally committed to SVN as r5806.
2011-11-03 00:29:13 +00:00
Thomas Goyne ccebd521c6 Fix errors in update checker resulting from trying to use the wrong option type
Originally committed to SVN as r5805.
2011-10-29 05:12:19 +00:00
Thomas Goyne dedccc1f58 Handle errors when opening audio via the MRU menu
Originally committed to SVN as r5804.
2011-10-29 04:31:05 +00:00
Thomas Goyne 52a2316934 Don't display an error message if the user cancels audio loading
Originally committed to SVN as r5803.
2011-10-29 04:30:58 +00:00
Thomas Goyne 31a3b9aae0 Do nothing if video is played with no video loaded rather than crashing
Originally committed to SVN as r5802.
2011-10-29 04:30:52 +00:00
Thomas Goyne 402ba0e89d Fix loading subtitles from matroska files
Originally committed to SVN as r5801.
2011-10-29 04:16:31 +00:00
Thomas Goyne 6315192e2b Don't reuse buffers in the audio provider converters, as it isn't thread-safe to do so and making it thread-safe would hurt performance more than the extra allocations
Originally committed to SVN as r5800.
2011-10-29 03:47:02 +00:00
Thomas Goyne af3f160f43 Increase msvc heap limit to 130 so that the precompiled header is buildable
Originally committed to SVN as r5799.
2011-10-29 03:46:57 +00:00
Thomas Goyne 085560b8c8 Use a single class for all audio endian and bit-depth conversion as while it's slower than the specialized ones, it isn't significantly so
Originally committed to SVN as r5798.
2011-10-29 03:46:51 +00:00
Thomas Goyne f9408031b6 Add support for 24-64 bit audio. Based on a patch by SAPikachu. Updates #1292.
Originally committed to SVN as r5797.
2011-10-29 03:46:44 +00:00
Thomas Goyne 7f06849531 Rewrite the audio format converters, splitting each conversion into its own class
Originally committed to SVN as r5796.
2011-10-29 03:46:36 +00:00
Thomas Goyne 9a8fb66fbf Remove an unused variable in BaseGrid::UpdateMaps
Originally committed to SVN as r5795.
2011-10-28 20:40:53 +00:00
Thomas Goyne f48f17cd0b Implement the hotkey page of the preferences dialog
Originally committed to SVN as r5794.
2011-10-28 20:40:43 +00:00
Thomas Goyne 6c995e7780 Add support for modifying hotkeys while the program is running
Originally committed to SVN as r5793.
2011-10-28 20:40:32 +00:00
Thomas Goyne cba0b1edb8 Add a function to get a list of all registered command names
Originally committed to SVN as r5792.
2011-10-28 20:40:20 +00:00
Thomas Goyne ffa622d698 Fix compilation without precompiled headers
Originally committed to SVN as r5791.
2011-10-28 20:15:10 +00:00
Thomas Goyne 0a04b62d1d Add a long overload to UnknownElement for gcc
Originally committed to SVN as r5790.
2011-10-28 20:13:58 +00:00
Thomas Goyne f9f84b18f7 Use the error style for the entire thing-that-can't-be-a-tag-name rather than just the first character when a backslash is followed by garbage in an override block
Originally committed to SVN as r5786.
2011-10-26 02:48:08 +00:00
Thomas Goyne 48070be3a3 Move the audio display mouse wheel handling to the audio box so that it can update the horizontal zoom scrollbar
Originally committed to SVN as r5785.
2011-10-25 20:28:30 +00:00
Thomas Goyne b4ace668de Only display the cursor time in the audio display when it's enabled
Originally committed to SVN as r5784.
2011-10-25 20:28:19 +00:00
Thomas Goyne 17b9347562 Add mouse wheel forwarding to ScintillaTextCtrl as wxSTC uses the scroll wheel
Originally committed to SVN as r5783.
2011-10-25 19:41:06 +00:00
Thomas Goyne 9ed1653aae Add mouse wheel forwarding code to FrameMain for when focus is on something that doesn't handle scroll events
Originally committed to SVN as r5782.
2011-10-25 19:40:57 +00:00
Thomas Goyne 1741ce93f6 Factor out the mouse wheel forwarding code in the audio display to a function used by the audio display, video display and subtitles grid, and make it actually work
Originally committed to SVN as r5781.
2011-10-25 19:40:45 +00:00
Thomas Goyne be75262f73 Reload scripts through their manager so that the menu is aware of changes
Originally committed to SVN as r5780.
2011-10-25 19:02:01 +00:00
Thomas Goyne ec9d50a43a Set shadow_w to the correct value in AssStyle's copy constructor
Originally committed to SVN as r5779.
2011-10-25 19:01:53 +00:00
Thomas Goyne f6c8c83f5a Obey the option to disable the keyframe markers in the audio display
Originally committed to SVN as r5778.
2011-10-25 19:01:41 +00:00
Thomas Goyne 7476dfd9c6 Use GetScriptInfoAsInt in AssFile::GetResolution
Originally committed to SVN as r5777.
2011-10-25 01:16:56 +00:00
Thomas Goyne af19dad6ea Remove pointless try\catch in AssFile;GetScriptInfoAsInt (wx functions don't throw exceptions)
Originally committed to SVN as r5776.
2011-10-25 01:16:47 +00:00
Thomas Goyne 2ad0342103 Make AssFile::GetScriptInfo slightly less dumb
Originally committed to SVN as r5775.
2011-10-25 01:16:36 +00:00
Thomas Goyne 5c487ae75f Don't apply the changes from an automation macro if an error occured
Originally committed to SVN as r5774.
2011-10-25 01:15:03 +00:00
Thomas Goyne 3a218c9dd4 Only set video zoom when loading associated video if it's actually present in the file
Originally committed to SVN as r5772.
2011-10-24 20:18:25 +00:00
Thomas Goyne 10464e4617 Kill AegisubApp::OnMouseWheel. It breaks the mouse wheel in dialogs, and it didn't actually work at the moment and isn't really the right way to handle mouse wheel forwarding in the first place
Originally committed to SVN as r5771.
2011-10-24 20:18:16 +00:00
Thomas Goyne 5e01f09b30 Refactor DialogAutomation::OnInfo
Originally committed to SVN as r5770.
2011-10-24 20:18:07 +00:00
Thomas Goyne 7f7aba1bcf Make cmd::Command::name const
Originally committed to SVN as r5769.
2011-10-24 20:17:57 +00:00
Thomas Goyne 4e1e68c88b Allow adding multiple scripts at once in the automation dialog
Originally committed to SVN as r5768.
2011-10-24 20:17:48 +00:00
Thomas Goyne 5cb7bdcbaf Set the event object for colour button click events. Fixes a bug where colour buttons in automation dialogs were completely broken.
Originally committed to SVN as r5767.
2011-10-24 20:17:40 +00:00
Thomas Goyne 374a43cd8b Simplify and speed up the hsl and hsv slider creation code in the color picker dialog
Originally committed to SVN as r5766.
2011-10-24 20:17:30 +00:00
Thomas Goyne c1de03210d Set the style dropdown's value after undo
Originally committed to SVN as r5763.
2011-10-23 17:00:32 +00:00
Thomas Goyne f29e889776 Always update column widths after a new line is added or removed
Originally committed to SVN as r5762.
2011-10-23 17:00:26 +00:00
Thomas Goyne f875938ee4 Don't report a user cancel when the user clicks on the 'Close' button after completion in the progress dialog
Originally committed to SVN as r5761.
2011-10-23 17:00:21 +00:00
Thomas Goyne 1364527681 Fix error when trying to insert to the end of the file from auto4lua
Originally committed to SVN as r5760.
2011-10-23 17:00:14 +00:00
Thomas Goyne d4e17dde2e Factor out the idea of a pen bound to options to a utility class
Originally committed to SVN as r5759.
2011-10-19 04:19:01 +00:00
Thomas Goyne 62f37772a3 Fix a pile of issues that resulted in the Actor box not working at all
Originally committed to SVN as r5758.
2011-10-19 04:05:09 +00:00
Thomas Goyne 035445e93a When the cursor is in a comment block, insert override tags at the beginning of the block rather than inside the comment
Originally committed to SVN as r5757.
2011-10-19 03:24:10 +00:00
Thomas Goyne 4009d24e73 Return an approriately-sized empty icon from icon::get if no icon exists
Originally committed to SVN as r5756.
2011-10-18 00:10:02 +00:00
Thomas Goyne 1da6f46cb2 Log a warning in icon::get if the icon doesn't exist rather than using printf
Originally committed to SVN as r5755.
2011-10-18 00:09:51 +00:00
Thomas Goyne c7d0ce60ee Make the style editor commit its own changes. Fixes some issues where changes made in the style editor would fail to update the rest of the program.
Originally committed to SVN as r5754.
2011-10-17 22:00:58 +00:00
Thomas Goyne a75aa7a633 Eliminate a bunch of pointlessness in json::Writer
Originally committed to SVN as r5753.
2011-10-17 22:00:49 +00:00
Thomas Goyne dd46c7af7f Completely ditch json::Array and json::Object's custom implementations and switch to typedefs to STL types.
Originally committed to SVN as r5752.
2011-10-17 22:00:38 +00:00
Thomas Goyne 4e8848c110 Eliminate a bunch of now unneccesary explicit casts to/from json types
Originally committed to SVN as r5751.
2011-10-17 22:00:28 +00:00
Thomas Goyne b4fa4e6f0c Expose all std::deque members in json::Array
Originally committed to SVN as r5750.
2011-10-17 22:00:18 +00:00
Thomas Goyne 0dee6ea223 Add some convenience overloads to UnknownElement's constructor
Originally committed to SVN as r5749.
2011-10-17 22:00:09 +00:00
Thomas Goyne 36280b7a2b Kill TrivialType_T as it's completely pointless
Originally committed to SVN as r5748.
2011-10-17 21:59:59 +00:00
Thomas Goyne 9dc9047c11 Change json::Object's backing store from a list to a map. Cajun used list to preserve order, but json objects do not guarantee that order will be preserved
Originally committed to SVN as r5747.
2011-10-17 21:59:47 +00:00
Thomas Goyne 2f64a116a7 Make cajun containers implement the STL container interfaces rather than being retarded special snowflakes
Originally committed to SVN as r5746.
2011-10-17 21:59:35 +00:00
Thomas Goyne 85bfb91f73 Add cajun headers to the vc9 libaegisub project
Originally committed to SVN as r5745.
2011-10-17 21:59:24 +00:00
Thomas Goyne 2f43ef2fca Clean up the color picker dialog somewhat
Originally committed to SVN as r5744.
2011-10-17 17:52:49 +00:00
Thomas Goyne 04e385b4d5 Fix potential crash when opening the colorpicker dialog caused by use of an uninitialized variable
Originally committed to SVN as r5743.
2011-10-17 17:52:40 +00:00
Thomas Goyne 8daa6cfdc2 When setting the start or end time of a subtitle line to the current video frame, if the resulting line duration would be less than one frame also update the other time
Originally committed to SVN as r5742.
2011-10-17 17:52:31 +00:00
Thomas Goyne 6895e91e7c Fix validation for Make Lines Continuous
Originally committed to SVN as r5741.
2011-10-17 17:52:22 +00:00
Thomas Goyne cc9cc6d713 Use FFMS_SetOutputFormatV2 with sufficiently recent FFMS2 rather than the deprecated FFMS_SetOutputFormatV
Originally committed to SVN as r5740.
2011-10-17 17:52:11 +00:00
Thomas Goyne 98777eff4e Use the per-platform default audio player from configure rather than always defaulting to portaudio
Originally committed to SVN as r5738.
2011-10-12 23:08:29 +00:00
Thomas Goyne bb4c10a140 Make the audio play commands stop the video like in 2.1.x
Originally committed to SVN as r5737.
2011-10-12 23:08:20 +00:00
Thomas Goyne bf5e504c59 Combine duplicated commands time/snap/frame and time/frame/current into one command that actually works
Originally committed to SVN as r5736.
2011-10-12 23:08:11 +00:00
Thomas Goyne 54f359f91b Enable the correct shift amount text box when opening the shift times dialog rather than always enabling the time one
Originally committed to SVN as r5735.
2011-10-12 23:08:02 +00:00
Thomas Goyne b7efafe3b8 Fix calculation of the time column widths
Originally committed to SVN as r5734.
2011-10-12 23:07:38 +00:00
Thomas Goyne 98786aecba Fix the spelling of 'Choose...' in the preferences dialog
Originally committed to SVN as r5733.
2011-10-11 04:33:41 +00:00
Thomas Goyne 306664d16e Make the browse and font pick buttons in the preferences dialog actually work, and delete BrowseButton as it's no longer used by anything.
Originally committed to SVN as r5732.
2011-10-11 00:06:44 +00:00
Thomas Goyne 91ab2ee9ba Make option names not dumb and wrong
Originally committed to SVN as r5731.
2011-10-11 00:06:34 +00:00
Thomas Goyne a3d9deddb9 Fix endless recursion between SubsTextEditCtrl::UpdateCallTip and UpdateStyle
Originally committed to SVN as r5730.
2011-10-11 00:06:25 +00:00
Thomas Goyne 557e61722b Kill DialogStyleEditor::OnChooseFont, which has been unused for over four years
Originally committed to SVN as r5729.
2011-10-11 00:06:13 +00:00
Thomas Goyne 7dfaa6427c Implement the video position marker in the audio display
Originally committed to SVN as r5728.
2011-10-10 21:04:23 +00:00
Thomas Goyne a260a998b3 Convert newlines to \N when pasting rather than trying to clean them up later
Originally committed to SVN as r5727.
2011-10-10 20:59:04 +00:00
Thomas Goyne 6e30ff633c Fix compilation without precompiled headers
Originally committed to SVN as r5726.
2011-10-10 19:30:11 +00:00
Thomas Goyne fdf74309a5 Don't revert changes to the filename made when undoing. Updates #1345.
Originally committed to SVN as r5725.
2011-10-10 17:29:35 +00:00
Thomas Goyne eb947b3914 Remove dead code in AssFile::CanSave
Originally committed to SVN as r5724.
2011-10-10 17:29:26 +00:00
Thomas Goyne e91834d667 Fix a few colourbutton issues in DialogStyleEditor
Originally committed to SVN as r5723.
2011-10-10 17:29:17 +00:00
Thomas Goyne bd18ad11cb Fix bug making it impossible to modify styles via the style editor
Originally committed to SVN as r5722.
2011-10-10 17:29:09 +00:00
Thomas Goyne 882ee76d59 Eliminate large amounts of duplicated code in DialogStyleEditor
Originally committed to SVN as r5721.
2011-10-10 17:28:59 +00:00
Thomas Goyne cbcc581cea Use PersistLocation for saving and restoring DialogStyleEditor's position
Originally committed to SVN as r5720.
2011-10-10 17:28:48 +00:00
Thomas Goyne 9ccd06b610 Uninvert playing the first/last 500ms of the selection
Originally committed to SVN as r5709.
2011-10-01 18:35:37 +00:00
Thomas Goyne ac37a080c4 Change edit/search_replace to edit/find_replace in the default menu
Originally committed to SVN as r5708.
2011-10-01 18:35:31 +00:00
Thomas Goyne a8caf35ebe Fix flipped subtitles with libass + avisynth
Originally committed to SVN as r5707.
2011-10-01 18:35:25 +00:00
Thomas Goyne 8624f923d9 Add edit box font face and size to the preferences dialog
Originally committed to SVN as r5706.
2011-10-01 18:35:19 +00:00
Thomas Goyne 3ff8591c22 Add a third period to ellipses with only two
Originally committed to SVN as r5705.
2011-10-01 18:35:12 +00:00
Thomas Goyne 9b00fad2fc Include the column headers in the column width calculations in BaseGrid
Originally committed to SVN as r5704.
2011-10-01 18:35:06 +00:00
Thomas Goyne 3dc0ed6c56 Use CmdDown in BaseGrid rather than #ifdefs
Originally committed to SVN as r5703.
2011-10-01 18:35:00 +00:00
Thomas Goyne c199bd6d18 Only forward scroll wheel events to siblings and not parents to work around wx weirdness
Originally committed to SVN as r5702.
2011-10-01 18:34:49 +00:00
Thomas Goyne 5be401a1de Rename edit/search_replace to edit/find_replace for consistency
Originally committed to SVN as r5701.
2011-09-30 23:51:41 +00:00
Thomas Goyne 76467584bb Rearrange FrameMain's constructor so that the frame is shown before the updates check and files are loaded. Fixes some ugliness and a bug where the detached video dialog wasn't being parented correctly
Originally committed to SVN as r5700.
2011-09-30 20:43:04 +00:00
Thomas Goyne e2ea5598fc Remove a pointless sizer around the video box
Originally committed to SVN as r5699.
2011-09-30 20:42:55 +00:00
Thomas Goyne 87290be48e Use Close rather than Destroy when closing the detached video dialog via the command
Originally committed to SVN as r5698.
2011-09-30 20:42:46 +00:00
Thomas Goyne da6a208062 Bind wxEVT_LEFT_DCLICK in VideoDisplay so the cross and drag visual tools work
Originally committed to SVN as r5697.
2011-09-30 20:42:37 +00:00
Thomas Goyne ce1783a868 Fix crash on commit in karaoke mode when autocommit is off
Originally committed to SVN as r5696.
2011-09-30 20:42:28 +00:00
Thomas Goyne 529f61e655 Allow overriding the aspect ratio when video is detached
Originally committed to SVN as r5695.
2011-09-30 20:42:20 +00:00
Thomas Goyne 3776051f96 Make the karaoke syllable table from aegisub.parse_karaoke_data zero-based for backward compatibility
Originally committed to SVN as r5694.
2011-09-30 20:42:09 +00:00
Thomas Goyne 5c75c9f708 Implement the audio scroll commands
Originally committed to SVN as r5693.
2011-09-30 20:41:56 +00:00
Thomas Goyne 597dd4bb8e Don't try to detach on video open if the video is already detached
Originally committed to SVN as r5692.
2011-09-30 20:41:44 +00:00
Thomas Goyne bdcc2ec170 Defriend VideoContext and AudioProvider
Originally committed to SVN as r5691.
2011-09-30 20:41:33 +00:00
Thomas Goyne ea2525cd00 Remove unneccesary forward declarations from video_context.h
Originally committed to SVN as r5690.
2011-09-30 20:41:22 +00:00
Thomas Goyne 8bda12596a Increase the minimum width of the thumb in the audio display scrollbar
Originally committed to SVN as r5689.
2011-09-30 20:41:10 +00:00
Thomas Goyne 8f918a59c2 Add some missing customizable subtitle grid colors to the preferences dialog
Originally committed to SVN as r5688.
2011-09-30 20:40:58 +00:00
Thomas Goyne d5c4a9bec6 Get line start and end marker colors in dialogue mode from options
Originally committed to SVN as r5687.
2011-09-30 20:40:44 +00:00
Thomas Goyne c4544839e9 Explicitly set the size of ColourButton as the default looks somewhat odd with wx trunk
Originally committed to SVN as r5686.
2011-09-29 20:27:50 +00:00
Thomas Goyne 546ced012a Fix option names for syntax highlighting colors
Originally committed to SVN as r5685.
2011-09-29 20:27:40 +00:00
Thomas Goyne 0f8bafb432 Change default color for the end of line marker in the audio display to blue
Originally committed to SVN as r5684.
2011-09-29 20:27:32 +00:00
Thomas Goyne 62181365b9 Default to 25 FPS if there are too few frames in a video to compute the FPS
Originally committed to SVN as r5683.
2011-09-29 20:27:23 +00:00
Thomas Goyne 32463efb08 Fix crash when trying to open audio from file with no audio tracks
Originally committed to SVN as r5682.
2011-09-29 20:27:13 +00:00
Thomas Goyne 7b1dea1a7a Eliminate flickering when moving the mouse over the karaoke split/join bar
Originally committed to SVN as r5681.
2011-09-29 18:17:37 +00:00
Thomas Goyne ab52f9a441 Move most of the autosave logic to AssFile and only autosave if there's actually been changes since the last autosave
Originally committed to SVN as r5680.
2011-09-29 18:17:27 +00:00
Thomas Goyne 00dd477a40 Remove unused method FrameMain::OnSubtitlesSave
Originally committed to SVN as r5679.
2011-09-29 18:17:17 +00:00
Thomas Goyne 08307674a0 Make AudioBox responsible for showing and hiding the karaoke bar, and make it shift the subs box down rather than shrink the audio display
Originally committed to SVN as r5678.
2011-09-29 05:33:10 +00:00
Thomas Goyne 094a6d081c Move the audio box height management code from FrameMain to AudioBox
Originally committed to SVN as r5677.
2011-09-29 05:33:04 +00:00
Thomas Goyne c211975b65 Remove unused window IDs in AudioBox
Originally committed to SVN as r5676.
2011-09-29 05:32:58 +00:00
Thomas Goyne fca7657e60 Don't let the user drag the audio sash below the bottom of the window as it's rather hard to drag back afterwards
Originally committed to SVN as r5675.
2011-09-29 04:38:34 +00:00
Thomas Goyne a00a3047cb Save and restore the height of the audio display across sessions
Originally committed to SVN as r5674.
2011-09-29 04:38:27 +00:00
Thomas Goyne 6beb266c15 Use the end of line marker style for the end marker in karaoke mode rather than the start of line style
Originally committed to SVN as r5673.
2011-09-29 04:38:22 +00:00
Thomas Goyne 9b9482b96f Set the subs box's style and size correctly
Originally committed to SVN as r5672.
2011-09-29 04:38:15 +00:00
Thomas Goyne 9ad1434f37 Don't rely on ADL for std algorithms called on wxArrayInt as wxArrayInt doesn't always inherit from std::vector
Originally committed to SVN as r5671.
2011-09-29 02:33:22 +00:00
Thomas Goyne 34a7f16214 Skip over invalid entries in the MRU file rather than crashing on startup
Originally committed to SVN as r5670.
2011-09-29 00:37:18 +00:00
Thomas Goyne c328bdfa5f Fix typo that resulted in automation macros not being able to set undo points
Originally committed to SVN as r5669.
2011-09-29 00:10:22 +00:00
Thomas Goyne 0f605b358f Make the automation dialog resizable
Originally committed to SVN as r5668.
2011-09-28 21:38:18 +00:00
Thomas Goyne 6a49b5392d Write MRU data to disk whenever a change is made rather than only on program exit
Originally committed to SVN as r5667.
2011-09-28 19:52:46 +00:00
Thomas Goyne 5411a57b3c Add the command name for macros to the information popup in the automation dialog
Originally committed to SVN as r5666.
2011-09-28 19:52:37 +00:00
Thomas Goyne dbca576d50 Require that macros defined in a single script have unique names
Originally committed to SVN as r5665.
2011-09-28 19:52:28 +00:00
Thomas Goyne c632a662b2 Change the naming scheme for lua commands to 'automation/lua/[Script File Name]/[Macro Name]'
Originally committed to SVN as r5664.
2011-09-28 19:52:20 +00:00
Thomas Goyne 799c18e22d Remove unused includes in auto4_lua.cpp
Originally committed to SVN as r5663.
2011-09-28 19:52:11 +00:00
Thomas Goyne 1e13670c70 Improve error handling in LuaModuleLoader and don't keep trying to load modules after one has been found
Originally committed to SVN as r5662.
2011-09-28 19:52:02 +00:00
Thomas Goyne d3ea9236cf Correct closing audio in FrameMain::OnSubtitlesOpen
Originally committed to SVN as r5661.
2011-09-28 19:51:53 +00:00
Thomas Goyne 77d02d269d Eliminate a use of VideoContext::Get in AudioMarkerProviderKeyframes
Originally committed to SVN as r5660.
2011-09-28 19:51:44 +00:00
Thomas Goyne 6bf4a95428 Add a subtitles save slot to AudioController which stores the audio URI in the subtitles
Originally committed to SVN as r5659.
2011-09-28 19:51:35 +00:00
Thomas Goyne 74ae9189a2 Set ?audio to the path to the currently open audio file
Originally committed to SVN as r5658.
2011-09-28 19:51:26 +00:00
Thomas Goyne 9fc0b33cdf Add opened audio files to the audio mru list
Originally committed to SVN as r5657.
2011-09-28 19:51:18 +00:00
Thomas Goyne d863d4379b Implement Audio/Auto/Scroll option
Originally committed to SVN as r5656.
2011-09-28 19:51:09 +00:00
Thomas Goyne 976061747d Fix setting of filename when saving the subtitles
Originally committed to SVN as r5655.
2011-09-28 19:50:59 +00:00
Thomas Goyne bfcd76c4aa Add missing #include <algorithm> to scoped_ptr.h
Originally committed to SVN as r5654.
2011-09-28 19:50:50 +00:00
Thomas Goyne 5a49abb2eb Fix bug in BaseGrid::GetSelection that resulted in row 0 always being selected
Originally committed to SVN as r5653.
2011-09-28 19:50:41 +00:00
Thomas Goyne bb72ec980e Actually select the new line when a new dialogue line is added due to the user switching to the next line from the edit box
Originally committed to SVN as r5652.
2011-09-28 19:50:32 +00:00
Thomas Goyne 94998f4283 Update ths column widths in BaseGrid when the number of digits in the row number changes
Originally committed to SVN as r5651.
2011-09-28 19:50:24 +00:00
Thomas Goyne b55ff3f803 Switch auto4lua to a transactional model which applies changes to the subtitle file only if a macro runs to completion without errors or the user cancelling. Significantly improves behavior when the user cancels and fixes a race condition caused by committing on threads other than the GUI thread.
Originally committed to SVN as r5650.
2011-09-28 19:50:14 +00:00
Thomas Goyne 28afc48ca5 Eliminate an uninitialized variable warning
Originally committed to SVN as r5649.
2011-09-28 19:50:06 +00:00
Thomas Goyne d419c7a447 Implement the Automation menu
Originally committed to SVN as r5648.
2011-09-28 19:49:56 +00:00
Thomas Goyne 5bb5f146a7 Make the project context available to lua C functions so that they can use that instead of VideoContext::Get()
Originally committed to SVN as r5647.
2011-09-28 19:49:47 +00:00
Thomas Goyne dfef9191f9 Move the creation of the progress dialog for the audio caches to AudioProvider and just pass the BackgroundRunner to the caches. This still isn't the right place to be creating it, but this removes the UI-dependency for both caches.
Originally committed to SVN as r5646.
2011-09-28 19:49:37 +00:00
Thomas Goyne a9dc1f045d Remove "Config" from the name of ScriptConfigDialog and friends as they're used for more than just config, and clean up the implementations.
Originally committed to SVN as r5645.
2011-09-28 19:49:27 +00:00
Thomas Goyne 59d11f4cc4 Make it so auto4lua macros can have an IsActive function. Probably not very useful at the moment.
Originally committed to SVN as r5644.
2011-09-28 19:49:18 +00:00
Thomas Goyne 60ea67661a Do a better job of setting the module load path in LuaAssFile
Originally committed to SVN as r5643.
2011-09-28 19:49:09 +00:00
Thomas Goyne 8ba559b7f7 Clean up Automation4::ScriptManager
Originally committed to SVN as r5642.
2011-09-28 19:48:58 +00:00
Thomas Goyne eec3d64221 Make automation macros standard commands and remove the Automation4::Feature base class as it's no longer a useful abstraction.
Originally committed to SVN as r5641.
2011-09-28 19:48:47 +00:00
Thomas Goyne 492a0d3046 Make Automation4::Script mostly pure abstract and clean up the implementation of LuaScript
Originally committed to SVN as r5640.
2011-09-28 19:48:37 +00:00
Thomas Goyne c09259c93d Throw typed exceptions in automation rather than strings
Originally committed to SVN as r5639.
2011-09-28 19:48:28 +00:00
Thomas Goyne 6d0e44baad Use LocalScriptManager::Reload rather than looping over the scripts manually in the am/manager command
Originally committed to SVN as r5638.
2011-09-28 19:48:20 +00:00
Thomas Goyne af9315f1aa Remove some lingering unused automation things in frame_main
Originally committed to SVN as r5637.
2011-09-28 19:48:11 +00:00
Thomas Goyne f970508e67 Add the ability to unregister commands and clarify who owns command objects
Originally committed to SVN as r5636.
2011-09-28 19:48:02 +00:00
Thomas Goyne 8aca250fd0 Kill cmd::id and friends. It didn't work correctly as ids weren't stable and only VideoBox still used it
Originally committed to SVN as r5635.
2011-09-28 19:47:53 +00:00
Thomas Goyne 53b6765dd8 Redesign DialogProgress
Add agi::ProgressSink and agi::BackgroundRunner interfaces to libaegisub
which represent a generic progress sink and a thing which calls funtions
that need progress sinks. Make DialogProgress implement
agi::BackgroundRunner, invoking the passed function on a worker thread
and giving it a progress sink to update the dialog with.

Rewrite Automation4::ProgressSink, LuaThreadedCall and all related
classes to be based on agi::ProgressSink. Automation now simply uses
DialogProgress (although that's merely an implementation detail) and
adds a single method to route dialog opening from the worker thread to
the GUI thread.

Originally committed to SVN as r5634.
2011-09-28 19:47:40 +00:00
Thomas Goyne 5439c6dae6 Remove some old video options from default_config.json
Originally committed to SVN as r5633.
2011-09-28 19:47:31 +00:00
Thomas Goyne f341a63f14 Delete all the unused things in MatroskaWrapper (i.e. most of it), fix some derpy things, and make it throw typed exceptions.
Originally committed to SVN as r5632.
2011-09-28 19:47:21 +00:00
Thomas Goyne 2ca9392942 Set more finely-grained commit types from LuaAssFile rather than always using COMMIT_NEW
Originally committed to SVN as r5631.
2011-09-28 19:47:12 +00:00
Thomas Goyne 08a61c7fd4 Refactor LuaAssFile's implementation
Switch to 1-based indices to match Lua rather than converting back and
forth all over the place.

Eliminate a bunch of duplicated code.

Fix a few memory leaks.

Automatically set an undo point at the end of a macro if there are any
uncommited changes.

Originally committed to SVN as r5630.
2011-09-28 19:47:03 +00:00
Thomas Goyne df100fb5a5 Pass a project context to AssExportFilter::GetConfigDialogWindow so that export filters don't have to use things like AssFile::top and VideoContext::Get
Originally committed to SVN as r5629.
2011-09-28 19:46:53 +00:00
Thomas Goyne 9ce579e187 Document and clean up a bunch of exporter related things. Break some friendships, and add a getter for export filter names.
Originally committed to SVN as r5628.
2011-09-28 19:46:41 +00:00
Thomas Goyne cec07012e7 Add auto4_lua_factory.h to the vc9 project
Originally committed to SVN as r5627.
2011-09-28 19:46:32 +00:00
Thomas Goyne dfc18afd34 Replace custom karaoke parsing code in LuaAssFile with AssKaraoke
Originally committed to SVN as r5626.
2011-09-28 19:46:23 +00:00
Thomas Goyne 1329245a21 Clean up the automation dialog and don't let the user load the same script twice
Originally committed to SVN as r5625.
2011-09-28 19:46:14 +00:00
Thomas Goyne 53c0b6ff3a Clean up and document ScriptFactory, and add a function to get the full wildcard string for all registered automation engines
Originally committed to SVN as r5624.
2011-09-28 19:46:05 +00:00
Thomas Goyne 7680d6c246 Move the local script logic from FrameMain to a new LocalScriptManager
Originally committed to SVN as r5623.
2011-09-28 19:45:55 +00:00
Thomas Goyne 3029436a2d Drop some AS5-specific stuff in LuaAssfile
Originally committed to SVN as r5622.
2011-09-28 19:45:47 +00:00
Thomas Goyne 0a91be1c7c Unconditionally enable building automation even if there are no enabled engines as there isn't really any reason not to and the defines uglify the code.
Originally committed to SVN as r5621.
2011-09-28 19:45:35 +00:00
Thomas Goyne 66e826edb3 Split LuaProgressSink into its own cpp file to cut down on the bloatedness of auto4_lua.cpp
Originally committed to SVN as r5620.
2011-09-28 19:45:25 +00:00
Thomas Goyne 0b6ef72242 Rewrite LuaScriptReader, making it simpler and adding support for more charsets
Originally committed to SVN as r5619.
2011-09-28 19:45:16 +00:00
Thomas Goyne 432abc309b Remove WITH_OLD_HUNSPELL. 1.2.0 is four years old and the configure script doesn't even support older versions that would require WITH_OLD_HUNSPELL
Originally committed to SVN as r5618.
2011-09-28 19:45:07 +00:00
Thomas Goyne 4ec507f814 Clean up SubtitleFormat
Document all of the SubtitleFormat methods.

Add default implementations of CanReadFile and CanWriteFile that check
against the appropriate wildcard list.

Clean up and simplify a lot of very odd code.

Throw typed exceptions in all subtitle readers rather than strings.

Originally committed to SVN as r5617.
2011-09-28 19:44:53 +00:00
Thomas Goyne 156885b56d Make AudioTimingControllerDialogue operate on a project context
Originally committed to SVN as r5616.
2011-09-28 19:44:44 +00:00
Thomas Goyne a25c5c1909 Rewrite the subtitles edit control's syntax highlighting
Simplify and clean up the parsing code to better represent how VSFilter
actually handles many odd edge cases as well as making it significantly
faster.

Use an enum for syntax style IDs rather than magic numbers.

Add styles for comments, draw mode and karaoke templater variables
rather than reusing other styles and move some hardcoded style
information to the config file.

Operate on the utf-8 representation of the edit box text rather than a
wxString, as it's both faster and simpler.

Originally committed to SVN as r5615.
2011-09-28 19:44:34 +00:00
Thomas Goyne 67ab06e830 Add an optional argument to AssFile::Commit which indicates that only a single line was changed. Currently used only to cut down on file copies when coalescing.
Originally committed to SVN as r5614.
2011-09-28 19:44:24 +00:00
Thomas Goyne c936306593 Rewrite nearly everything related to karaoke
Move most karaoke parsing/serializing/editing code to AssKaraoke rather
than being scattered all over the place, and add much better support for
non-karaoke override tags and comments.

Add a karaoke timing controller.

Redesign the karaoke syllable split/join interface to have a single mode
from which both splitting and joining can be done rather than separate
split and join modes.

Only show the karaoke split/join bar when karaoke mode is enabled.

Closes #886, #987, #1190.

Originally committed to SVN as r5613.
2011-09-28 19:44:07 +00:00
Thomas Goyne cc147d1660 Eliminate uses of c_str made unnecessary by changed to wxString::Format in wx 2.9
Originally committed to SVN as r5612.
2011-09-28 19:43:48 +00:00
Thomas Goyne d990bbbb99 Eliminate all unnecessary uses of L and _T
Originally committed to SVN as r5611.
2011-09-28 19:43:11 +00:00
Niels Martin Hansen 7250b89cbd MSBuild project updates.
Originally committed to SVN as r5603.
2011-09-15 14:50:08 +00:00
Thomas Goyne 088976554c Fix non-precomp-header compilation
Originally committed to SVN as r5602.
2011-09-15 06:12:26 +00:00
Thomas Goyne d70fb7fe2d Fix compilation errors
Originally committed to SVN as r5601.
2011-09-15 06:03:13 +00:00
Thomas Goyne 683dd6c0a9 Kill BaseGrid::SelectVisible
Originally committed to SVN as r5600.
2011-09-15 05:17:43 +00:00
Thomas Goyne 11c40188c2 Eliminate some old selection code in BaseGrid
Originally committed to SVN as r5599.
2011-09-15 05:17:36 +00:00
Thomas Goyne 05da23b22f Mostly detangle the edit box from the subtitles grid
Originally committed to SVN as r5598.
2011-09-15 05:17:29 +00:00
Thomas Goyne 3c4191e649 Kill SubtitlesGrid::SetSubsToVideo
Originally committed to SVN as r5597.
2011-09-15 05:17:22 +00:00
Thomas Goyne 0c4eb020a4 Rewrite the shift times dialog, detangling it from the grid and making it modeless, and add support for characters outside the local charset in the shift history file path. Closes #1269.
Originally committed to SVN as r5596.
2011-09-15 05:17:14 +00:00
Thomas Goyne 1f095b0a01 Remove the SubsEditBox from the context in favor of the SubsEditTextCtrl as it was the only public member of SubsEditBox
Originally committed to SVN as r5595.
2011-09-15 05:17:07 +00:00
Thomas Goyne d022d2ae56 Eliminate pointless (and slow) setting of the edit box to its current text
Originally committed to SVN as r5594.
2011-09-15 05:17:00 +00:00
Thomas Goyne 5b3b821696 Always keep the active line visible in the grid
Originally committed to SVN as r5593.
2011-09-15 05:16:54 +00:00
Thomas Goyne 1cc5d4001a Rewrite the selection dialog, detangling it from SubtitlesGrid and making it modeless
Originally committed to SVN as r5592.
2011-09-15 05:16:47 +00:00
Thomas Goyne 584f36a744 Detangle the spellchecker dialog from the subtitles grid, make it modelss, and fix a lot of edges cases
Originally committed to SVN as r5591.
2011-09-15 05:16:41 +00:00
Thomas Goyne 934a5b24eb Refine the commit types
Switch to a bitmask with much more finely-grained information about what
changed in the commit, fixing a few potential correctness problems and
significantly improving the performance of several scenarios where commits
are spammed very frequently.

Originally committed to SVN as r5590.
2011-09-15 05:16:32 +00:00
Thomas Goyne 3f05fe6b3e Add support for labels in the audio display
Originally committed to SVN as r5589.
2011-09-15 05:16:26 +00:00
Thomas Goyne 3e708eab10 Slightly simplify parts of AudioDisplay
Originally committed to SVN as r5588.
2011-09-15 05:16:18 +00:00
Thomas Goyne e5d660e281 Hide visual tools while video is playing. Closes #1336.
Originally committed to SVN as r5586.
2011-09-02 00:03:40 +00:00
Thomas Goyne 182b57bd0f Fix compilation with precompiled headers off
Originally committed to SVN as r5579.
2011-08-31 04:23:18 +00:00
Thomas Goyne d82e2bb496 Use wxEVT_CONTEXT_MENU for context menus rather than right button down so that the context menu key works correctly. Updates #1238.
Originally committed to SVN as r5578.
2011-08-31 04:17:37 +00:00
Thomas Goyne 1c4410bb87 Make middle-click on the audio display seek the video to the clicked on time
Originally committed to SVN as r5577.
2011-08-31 04:17:31 +00:00
Thomas Goyne 02d4ee0cec Revert when the dialogue timing controller is created to avoid broken behavior when leaving karaoke mode
Originally committed to SVN as r5576.
2011-08-31 04:17:24 +00:00
Thomas Goyne 7155ace1d9 Fix merge error in ass_file.h
Originally committed to SVN as r5573.
2011-08-27 07:28:04 +00:00
Thomas Goyne 0de3ce42d5 Speed up BlockCache::Age somewhat
Originally committed to SVN as r5572.
2011-08-27 06:52:49 +00:00
Thomas Goyne 03d7849d12 Significantly speed up grid painting, especially when only some columns need to be repainted
Originally committed to SVN as r5571.
2011-08-27 06:52:42 +00:00
Thomas Goyne b8a1674c27 Remove some cruft from ScintillaTextCtrl and make SetUnicodeStyling significantly faster
Originally committed to SVN as r5570.
2011-08-27 06:52:35 +00:00
Thomas Goyne ccf9f64818 Make Assfile::SetScriptInfo slightly less slow
Originally committed to SVN as r5569.
2011-08-27 06:42:10 +00:00
Thomas Goyne e12bcc6aef Bind VideoContext::OnFileSave to the file save signal rather than the commit signal
Originally committed to SVN as r5568.
2011-08-27 06:42:03 +00:00
Thomas Goyne b14b2eceea Update the Makefile and vc2010 project
Originally committed to SVN as r5567.
2011-08-27 06:37:03 +00:00
Thomas Goyne 2006995645 Revert pending changes when audio is opened to fix problems with stale data
Originally committed to SVN as r5566.
2011-08-27 06:30:56 +00:00
Thomas Goyne a45b971b3a Redesign ToggleBitmap to operate on a command
Originally committed to SVN as r5565.
2011-08-27 06:30:49 +00:00
Thomas Goyne 3ecfd34bd3 Convert the audio toolbar over to the new dynamic toolbar system
Originally committed to SVN as r5564.
2011-08-27 06:30:42 +00:00
Thomas Goyne fc0db4fc36 Convert the VideoDisplay context menu over to the new menu system
Originally committed to SVN as r5563.
2011-08-27 06:30:35 +00:00
Thomas Goyne e2f464c94f Add commands for the video display context menu items
Originally committed to SVN as r5562.
2011-08-27 06:30:29 +00:00
Thomas Goyne ca6d5b1f3e Rearrange VideoDisplay's privates to make them a bit less randomly ordered and switch from auto_ptr to scoped_ptr
Originally committed to SVN as r5561.
2011-08-27 06:30:23 +00:00
Thomas Goyne bc70429ffb Remove #pragma once from subs_grid.h
Originally committed to SVN as r5560.
2011-08-27 06:30:16 +00:00
Thomas Goyne 41119ff6fc Convert the subtitles grid context menu over to the new menu system
Originally committed to SVN as r5559.
2011-08-27 06:30:10 +00:00
Thomas Goyne 017a6aa27d Do stuff to the AVS video provider
Remove the Matroska keyframe/timecode loading code, as opening MKVs via
Avisynth is dumb and didn't work very well anyway.

Fix framerate reporting by actually bothering to read the video
information before trying to use it.

Kill the VFW wrapper and just put the code in the avisynth video source.

If reading the keyframes from an avi file fails just warn the user
rather than refuse to load the video.

Originally committed to SVN as r5558.
2011-08-27 06:30:03 +00:00
Thomas Goyne 27867421b2 Fix some whitespace in frame_main.cpp
Originally committed to SVN as r5557.
2011-08-27 06:29:57 +00:00
Thomas Goyne fb1e6fcbaf Delete some obsolete event handling in FrameMain
Originally committed to SVN as r5556.
2011-08-27 06:29:51 +00:00
Thomas Goyne 5d07756838 Kill FrameMain::HasASSDraw as it's no longer used
Originally committed to SVN as r5555.
2011-08-27 06:29:45 +00:00
Thomas Goyne 626df4db05 Rewrite the dynamic menu generation code
Remove hardcoded assumptions about where in the menu items are and
instead bind menu items directly to commands so that customizing the
menu actually works.

Add support for user menu files that override the default one.

Add better support for multiple menus so that all of the menus can
potentially be created by the dynamic menu system rather than just the
main menu bar.

Add support for commands whose names change based on the current project
state so that undo and redo can work properly.

Simplify the menu json format and make commands responsible for
controlling what type of menu item is created rather than allowing
nonsensical configurations.

The Automation menu is currently not implemented.

Originally committed to SVN as r5554.
2011-08-27 06:29:36 +00:00
Thomas Goyne 319b454bb8 Add hotkeys to the tooltip for toolbar items
Originally committed to SVN as r5538.
2011-08-17 05:32:27 +00:00
Thomas Goyne d3e7f02597 Update the video box time boxes when detached video is first opened
Originally committed to SVN as r5537.
2011-08-17 05:32:21 +00:00
Thomas Goyne 20258438ec Fix incorrect initial size of the detached video dialog
Originally committed to SVN as r5536.
2011-08-17 05:32:15 +00:00
Thomas Goyne 0c1794a93f Don't silently fail to start up if a config file is invalid
Originally committed to SVN as r5535.
2011-08-17 05:32:09 +00:00
Thomas Goyne 330411c94a Add some special cases to line_iterator that makes it significantly faster in common cases
Originally committed to SVN as r5534.
2011-08-17 05:32:01 +00:00
Thomas Goyne 561216d4c8 Make hotkey::check take a project context and make FrameMain::context private
Originally committed to SVN as r5532.
2011-07-29 23:16:55 +00:00
Thomas Goyne ef26170214 Rearrange FrameMain deinitialization so that things which depend on the project context are guaranteed to be destroyed before the context
Originally committed to SVN as r5531.
2011-07-29 23:16:46 +00:00
Thomas Goyne 65368c5f35 Detangle FrameMain and DialogDetachedVideo
Originally committed to SVN as r5530.
2011-07-29 23:16:36 +00:00
Thomas Goyne 3f50ce6d46 Delete FrameMain::LoadVFR as it's not longer used by anything
Originally committed to SVN as r5529.
2011-07-29 23:16:24 +00:00
Thomas Goyne 59755b5bb5 Add command to toggle medusa mode and fix the command names for many hotkeys
Originally committed to SVN as r5528.
2011-07-27 22:59:11 +00:00
Thomas Goyne 6d8d1a48d3 Disable precompiled headers for the C files in release builds and not just debug
Originally committed to SVN as r5527.
2011-07-27 22:59:01 +00:00
Thomas Goyne 1cacc33d2d Simplify version.cpp
Originally committed to SVN as r5526.
2011-07-27 22:52:37 +00:00
Thomas Goyne 3a4c48d8df Fix compilation without precompiled headers
Originally committed to SVN as r5525.
2011-07-27 17:21:39 +00:00
Thomas Goyne db965eb766 Unbreak tag hiding in the grid
Originally committed to SVN as r5524.
2011-07-27 05:54:25 +00:00
Thomas Goyne d937bd80e7 Make opening audio from video actually work
Originally committed to SVN as r5523.
2011-07-27 05:36:42 +00:00
Thomas Goyne 0cc902487d Remove a now-bogus sanity check on thread count in the ffms video provider
Originally committed to SVN as r5522.
2011-07-27 05:36:36 +00:00
Thomas Goyne d3ab35a61f Use PersistLocation for DialogColorPicker
Originally committed to SVN as r5521.
2011-07-27 05:36:30 +00:00
Thomas Goyne 833c35f6ae Use PersistLocation for DialogStyleManager
Originally committed to SVN as r5520.
2011-07-27 05:36:24 +00:00
Thomas Goyne fc46b25726 Rewrite the translation assisant and make it work again
Originally committed to SVN as r5519.
2011-07-27 05:36:15 +00:00
Thomas Goyne 07b77203f1 Rewrite the styling assisant as changes to other parts of Aegisub have made almost all of it broken
Originally committed to SVN as r5518.
2011-07-27 05:36:09 +00:00
Thomas Goyne f906c3dcd2 Factor DialogDetachedVideo's position persistance logic into a seperate class so that it can be used for other dialogs.
Originally committed to SVN as r5517.
2011-07-27 05:36:02 +00:00
Thomas Goyne 3c18ed542c Clean up libaegisub includes
Consistently use the C++ names for headers rather than a combination of the
C and C++ names.

Remove empty LAGI_PRE blocks.

Remove checks for both AGI_PRE and LAGI_PRE and change a check for only
AGI_PRE to LAGI_PRE.

Originally committed to SVN as r5516.
2011-07-26 22:25:21 +00:00
Thomas Goyne ead31761db Include lagi_pre.h in agi_pre.h and remove all duplicates
This eliminates some duplicated logic and potential tr1/non-tr1 header
mismatches, and removes the need for the #if defined(AGI_PRE) ||
defined(LAGI_PRE) guard that was used in a few of the libaegisub headers.

Originally committed to SVN as r5515.
2011-07-26 22:25:10 +00:00
Thomas Goyne 665cddf235 Remove some duplicated includes in lagi_pre.h
Originally committed to SVN as r5514.
2011-07-26 22:24:59 +00:00
Thomas Goyne 2ca6a04543 Remove the C++-only check from agi_pre.h and just don't include it in the C files
Originally committed to SVN as r5513.
2011-07-26 22:24:48 +00:00
Thomas Goyne 12318ced75 Remove the include guard from agi_pre.h as it seems to have magically become unnessesary
Originally committed to SVN as r5512.
2011-07-26 22:24:38 +00:00
Thomas Goyne e92d6f6f65 Don't pass CXXFLAGS to the compiler when compiling .c files
Originally committed to SVN as r5511.
2011-07-26 22:24:26 +00:00
Thomas Goyne 263d161d26 Don't pointlessly store a copy of the default hotkeys json in memory
Originally committed to SVN as r5510.
2011-07-26 20:26:09 +00:00
Thomas Goyne 8e975941b7 Fix inconsistant usage of 'Enter' and 'Return' by switching everything to 'Enter'
Originally committed to SVN as r5509.
2011-07-26 19:53:08 +00:00
Thomas Goyne af484a469d Make get_hotkey_str_first more likely to return the desired hotkey when multiple are available
Originally committed to SVN as r5508.
2011-07-26 19:52:57 +00:00
Thomas Goyne dd38e1f07f Don't swallow errors when parsing json and make agi::json_util::file actually work
Originally committed to SVN as r5507.
2011-07-26 19:52:47 +00:00
Thomas Goyne dabcdb2e8b Uninvert hotkey::Scan's return value
Originally committed to SVN as r5506.
2011-07-26 19:52:36 +00:00
Thomas Goyne ffe8c7a5d6 Only enable the 'Always' hotkey context when medusa mode is on
Originally committed to SVN as r5505.
2011-07-26 19:52:25 +00:00
Thomas Goyne 7deebf759b Remove the concept of disabled hotkeys; it's unnessesary and wasn't actually used
Originally committed to SVN as r5504.
2011-07-26 19:52:15 +00:00
Thomas Goyne acd26c4c48 Fiddle with the log output format so that Visual Studio's parser reads it correctly
Originally committed to SVN as r5503.
2011-07-26 19:52:07 +00:00
Thomas Goyne 87abcddd87 Make the MRU code not so bizzarely overcomplicated
Originally committed to SVN as r5502.
2011-07-26 19:51:56 +00:00
Thomas Goyne 7824348f10 Include the name of the option in the exception thrown when an option is not found
Originally committed to SVN as r5501.
2011-07-26 19:51:47 +00:00
Thomas Goyne a33da9cba5 Replace all uses of std::cout in libaegisub with logging statements and eliminate a lot of nonsense in the windows implementation of acs::Check
Originally committed to SVN as r5500.
2011-07-26 19:51:38 +00:00
Thomas Goyne 64a3cc94ae Fix error checking in agi::util::strtoi
Originally committed to SVN as r5499.
2011-07-26 19:51:28 +00:00
Thomas Goyne 5a9fe91899 Fix swapped expected and actual values in some of the util tests
Originally committed to SVN as r5498.
2011-07-26 19:51:19 +00:00
Thomas Goyne 231adad93f Implement agi::util::freespace for Windows
Originally committed to SVN as r5497.
2011-07-26 19:51:07 +00:00
Thomas Goyne 6f22088b06 Update libass include path to not look for the now nonexistant in-repo copy
Originally committed to SVN as r5494.
2011-07-20 20:09:03 +00:00
Thomas Goyne 52e60f09dc Fix path to config.h in path.cpp
Originally committed to SVN as r5493.
2011-07-20 20:08:51 +00:00
Thomas Goyne 4e0725104d Set default decoding threads for ffms to -1 so that it decides the number automatically
Originally committed to SVN as r5492.
2011-07-20 19:17:56 +00:00
Niels Martin Hansen b60e3a5bd4 Rename another clashing file in libaegisub.
Originally committed to SVN as r5490.
2011-07-18 01:08:41 +00:00
Niels Martin Hansen 89b97a55be Update and simplify project files for recent changes.
Originally committed to SVN as r5489.
2011-07-18 00:43:38 +00:00
Thomas Goyne 85b46bceff Fix required version of FFMS2
Originally committed to SVN as r5486.
2011-07-16 18:43:22 +00:00
Thomas Goyne 72bc33fda3 Fix compilation errors with precompiled headers disabled
Originally committed to SVN as r5484.
2011-07-16 06:42:55 +00:00
Thomas Goyne 0616b39ffe Fix a pile of warnings
Originally committed to SVN as r5483.
2011-07-16 05:01:36 +00:00
Thomas Goyne b509cb0be5 s/WITH_/HAVE_ in src/Makefile so that libass and ffms are actually used when present
Originally committed to SVN as r5482.
2011-07-16 03:52:30 +00:00
Thomas Goyne 8ccc0acc9d Fix reporter compilation errors
Originally committed to SVN as r5481.
2011-07-16 03:36:42 +00:00
Thomas Goyne eea30df7db Kill in-repo libass and ffms and clean up some old cruft in the configure script
Originally committed to SVN as r5480.
2011-07-16 03:36:28 +00:00
Thomas Goyne da3e7e4d88 Only register the assdraw command on windows when assdraw is present
Originally committed to SVN as r5479.
2011-07-15 23:44:03 +00:00
Thomas Goyne 3d22da9fbc Skip invalid commands when constructing the toolbar and menu rather than exploding
Originally committed to SVN as r5478.
2011-07-15 23:43:52 +00:00
Thomas Goyne c32e372dd4 Fix leak of the Options object in agi::Path and potential overwriting of the config file with an out of date version on shutdown
Originally committed to SVN as r5477.
2011-07-15 17:36:53 +00:00
Thomas Goyne 26695a8cc8 Eliminate memory leak in menu code
Originally committed to SVN as r5476.
2011-07-15 17:36:44 +00:00
Thomas Goyne 5c7a848f21 Delete the menu on shutdown
Originally committed to SVN as r5475.
2011-07-15 17:36:35 +00:00
Thomas Goyne be8d841577 Delete built in export filters on exit
Originally committed to SVN as r5474.
2011-07-15 17:36:26 +00:00
Thomas Goyne faecc3304d Delete all commands on shutdown
Originally committed to SVN as r5473.
2011-07-15 17:36:17 +00:00
Thomas Goyne a8a30d6ac1 Fix hotkey memory leaks
Originally committed to SVN as r5472.
2011-07-15 17:36:06 +00:00
Thomas Goyne 1e2abbd45a Fix leak of all icon bitmaps
Originally committed to SVN as r5471.
2011-07-15 17:24:05 +00:00
Thomas Goyne 7842ccbeb1 Kill SubtitlesGrid::SetVideoToSubs
Originally committed to SVN as r5470.
2011-07-15 04:25:23 +00:00
Thomas Goyne e75ea7d2e8 Default to 16x16 icons if the requested size is invalid
The options system currently doesn't support constraints beyond those
forced by the type system, making it easy to set the icon size to a
value which would make it impossible to get to the preferences dialog to
fix it.

Originally committed to SVN as r5469.
2011-07-15 04:06:29 +00:00
Thomas Goyne 88f0659307 Rewrite the toolbar generation code
The old toolbar code didn't actually support any nontrivial
customization of toolbars, as it had a hardcoded list of commands which
would be enabled or disabled, and the checks for enabling/disabling
toolbar buttons was done only in the specific situations which those
commands used.

Make icon size a user customizable option and add support for
dynamically changing it at runtime.

Originally committed to SVN as r5468.
2011-07-15 04:06:23 +00:00
Thomas Goyne f4d44f7c18 Move the zoom box from the main toolbar to the video box
Originally committed to SVN as r5467.
2011-07-15 04:06:16 +00:00
Thomas Goyne b93bb888e3 Use IsActive in frame_main
Originally committed to SVN as r5466.
2011-07-15 04:06:10 +00:00
Thomas Goyne 2b9d47b9fe Add IsActive method to commands to indicate whether or not a radio/checkbox is currently selected
Originally committed to SVN as r5465.
2011-07-15 04:06:03 +00:00
Thomas Goyne ec2c36c743 Add type flags to commands
Originally committed to SVN as r5464.
2011-07-15 04:05:56 +00:00
Thomas Goyne 0af7ae7fca Clean up frame_main a bit
Delete some pointless comments, move documentation to the header, and
extend it a bit

Sort prototypes in the header

Move event IDs out of the header

Remove a few unused includes

Assorted cosmetic changse

Originally committed to SVN as r5463.
2011-07-15 04:05:49 +00:00
Thomas Goyne 95cadb5226 Clean up base_grid a bit
Reduce the visibilty of many members and document some of them

Cut down on recreation of wxPen and wxBrush objects in DrawImage,
probably speeding up painting somewhat

Simplify handling of extendRow

Move event IDs to base_grid.cpp

Remove worthless comments and dead code

Assorted cosmetic changes

Originally committed to SVN as r5462.
2011-07-15 04:05:43 +00:00
Thomas Goyne fdb6d108f8 Use agi::Context::Validate for the main frame's menus and toolbar
Originally committed to SVN as r5461.
2011-07-15 04:05:37 +00:00
Thomas Goyne ef4bfb1535 use agi::Context::Validate for subsgrid context menu item validation
Originally committed to SVN as r5460.
2011-07-15 04:05:31 +00:00
Thomas Goyne f098e2fac8 Add an optional Validate method to commands
Originally committed to SVN as r5459.
2011-07-15 04:05:22 +00:00
Thomas Goyne d405b061df Eliminate a lot of unnessesary includes of subs_grid.h
Originally committed to SVN as r5458.
2011-07-15 04:05:15 +00:00
Thomas Goyne 1d51dd20d2 Return a const reference from GetSelectedSet rather than copying it on every call
Originally committed to SVN as r5457.
2011-07-15 04:05:09 +00:00
Thomas Goyne 2eb4c856e8 Simplify and clean up command management code
Originally committed to SVN as r5456.
2011-07-15 04:05:01 +00:00
Thomas Goyne e6dc86212b Use the active line rather than first selected line in SubsEditBox
Originally committed to SVN as r5455.
2011-07-15 04:04:54 +00:00
Thomas Goyne 4d924b3f27 Move line joining from SubtitlesGrid to the commands
Originally committed to SVN as r5454.
2011-07-15 04:04:48 +00:00
Thomas Goyne b25066e3c3 Remove a write-only variable in option.cpp
Originally committed to SVN as r5453.
2011-07-15 04:04:42 +00:00
Thomas Goyne 6ec63cdde1 Clean up libaegisub includes
Remove cajun includes from all public headers and the precompiled header

Add a pile of missing standard library headers used in multiple files
to lagi_pre

Originally committed to SVN as r5452.
2011-07-15 04:04:34 +00:00
Thomas Goyne 48fbedd25b Remove pointless #pragma onces
Originally committed to SVN as r5451.
2011-07-15 04:04:28 +00:00
Thomas Goyne 7e5e82090f Remove incorrect inclusions of config.h in headers
Originally committed to SVN as r5450.
2011-07-15 04:04:21 +00:00
Thomas Goyne 256e098aa7 Remove header include order requirements
Originally committed to SVN as r5449.
2011-07-15 04:04:13 +00:00
Thomas Goyne 63538d125e Implement lead in/out commands
Originally committed to SVN as r5448.
2011-07-15 04:04:07 +00:00
Thomas Goyne 401f026180 Fix crash when detaching video
Originally committed to SVN as r5447.
2011-07-15 04:04:01 +00:00
Thomas Goyne 0cb42343e0 Fix the video zoom dropdown
Originally committed to SVN as r5446.
2011-07-15 04:03:54 +00:00
Thomas Goyne 9c97544fc5 Temporary hack to make the visual typesetting tool mode hotkeys work
Originally committed to SVN as r5445.
2011-07-15 04:03:48 +00:00
Thomas Goyne 3df2885ce5 Temporary hack to make automation macros work
Originally committed to SVN as r5444.
2011-07-15 04:03:42 +00:00
Thomas Goyne b5a02e202e Rename libaegisub/windows/util.cpp so that it's actually used
Originally committed to SVN as r5443.
2011-07-15 04:03:36 +00:00
Thomas Goyne 67e9384ef4 Remove a bunch of pointless consts from agi::Path and rename the windows implementation so that it's actually used
Originally committed to SVN as r5442.
2011-07-15 04:03:28 +00:00
Niels Martin Hansen 9d1cdab638 Merge rewritten ALSA player from 2.1.9. Closes #1106.
Not tested for compileability, and should probably also have printf's converted to logging statements.

Originally committed to SVN as r5421.
2011-06-12 00:45:02 +00:00
Niels Martin Hansen a98cfb7685 Merge r5409 from 2.1.9, see #1300.
Originally committed to SVN as r5410.
2011-06-06 21:12:00 +00:00
Niels Martin Hansen 23510dcac8 Merge kara-templater remember/recall functions from 2.1.9. Updates #1277.
Originally committed to SVN as r5378.
2011-04-26 08:42:05 +00:00
Grigori Goronzy e67b0ea54b wxGTK: do not freeze/thaw the main frame window
On certain configurations, this is problematic, because windows
sometimes are not thaw()'ed correctly, leading to an interface
that doesn't update. This is a workaround that simply disables all
freeze/thaw on the main frame. I haven't noticed any performance
issues.

Originally committed to SVN as r5373.
2011-02-23 13:14:48 +00:00
Amar Takhar d6d06b53eb Add Audio/OSS/Device option required by the OSS audio player.
Originally committed to SVN as r5372.
2011-02-23 05:14:25 +00:00
Amar Takhar c53492edcd Remove <sys/param.h> and <sys/mount.h> from common/util.cpp this stems from my accident involving placing code meant for unix/util.cpp into unix/common.cpp which was partially fixed in r5366.
Originally committed to SVN as r5371.
2011-02-23 03:34:23 +00:00
Amar Takhar 96f24d6c25 Move sys/param.h under ifndef _WIN32, I need to be more vigilant against including Unix headers in Windows builds.
Originally committed to SVN as r5370.
2011-02-23 03:29:30 +00:00
Amar Takhar 6ee90d4bb1 Add <vector>
Originally committed to SVN as r5369.
2011-02-23 03:24:08 +00:00
Grigori Goronzy 28e1acfeba libaegisub: do not free string returned by getenv()
getenv() returns a string that is part of internal process data and
should never be modified and/or free()'d.

Originally committed to SVN as r5368.
2011-02-23 00:55:48 +00:00
Grigori Goronzy 066ec3014a libaegisub: use statvfs instead of statfs
statvfs is the portable POSIX defined interface and is supported on all
major UNIX platforms.

Originally committed to SVN as r5367.
2011-02-23 00:54:18 +00:00
Karl Blomster 7db22972a7 sys/mount.h and statfs(2) do not exist on windows
Originally committed to SVN as r5366.
2011-02-22 19:03:03 +00:00
Karl Blomster 387fbdfdea fix xml parsing error in libaegisub project
Originally committed to SVN as r5355.
2011-02-22 01:26:46 +00:00
Niels Martin Hansen 27839f92ac Fix #1018 properly, make sure the colour values are brought into 0-255 range and rounded.
Originally committed to SVN as r5354.
2011-02-22 00:54:20 +00:00
Amar Takhar c0cf0c6a06 Add progress support back to HD Audio Cache with the new ProgressSink from libaegisub. Currently AudioProviderFactory::GetProvider() takes the ProgressSinkFactory however this should probably be moved up to the constructor for AudioProviderFactory. We'll see what the best option is when the others come around it's trivial to change.
Originally committed to SVN as r5347.
2011-02-11 03:47:18 +00:00
Amar Takhar 8240d3e6b6 Add util::freespace to check for free space on a path. (with tests)
Originally committed to SVN as r5346.
2011-02-10 23:55:59 +00:00
Amar Takhar bbc0f6f859 Document some utility methods.
Originally committed to SVN as r5345.
2011-02-10 02:47:41 +00:00
Amar Takhar 3a1487cf6f Finish removing wx from yuv4mpeg...
Originally committed to SVN as r5344.
2011-02-10 02:31:42 +00:00
Amar Takhar 2c6abb9a98 Instead of throwing return 0 for invalid values. This happens anyway if the input is invalid so it makes the most sense to return 0 for invalid ranges.
Originally committed to SVN as r5343.
2011-02-10 01:36:25 +00:00
Amar Takhar ef7b3c04e3 Add <climits>
Originally committed to SVN as r5342.
2011-02-10 01:33:34 +00:00
Amar Takhar 106b331cb0 Mostly convert yuv4mpeg.cpp -- a little bit of parsing is left which I will take care of shortly.
Originally committed to SVN as r5341.
2011-02-10 01:33:14 +00:00
Amar Takhar 3522c0b4bd Add a strtoi function. (with unit tests)
Originally committed to SVN as r5340.
2011-02-10 00:41:15 +00:00
Amar Takhar 6615d3981f Add <locale>.
Originally committed to SVN as r5339.
2011-02-09 23:56:24 +00:00
Amar Takhar 453381e613 Add a small test for str_lower.
Originally committed to SVN as r5338.
2011-02-09 23:43:57 +00:00
Amar Takhar c33afffa03 Init agi::log::log.
Originally committed to SVN as r5337.
2011-02-09 23:37:18 +00:00
Amar Takhar 34e0eb837d Hand edit the libaegisub vcproj to include common/util.cpp
Originally committed to SVN as r5336.
2011-02-09 22:32:51 +00:00
Amar Takhar 75e07c7aa7 Add a short method to make an std::string lowercase.
Originally committed to SVN as r5335.
2011-02-09 22:31:44 +00:00
Amar Takhar 6d96457555 Remove "Font/Cache/FontConfig" in lieu of "Cache/FontConfig" and add "Cache/FFmpegSource".
Originally committed to SVN as r5334.
2011-02-09 21:57:31 +00:00
Niels Martin Hansen 7638375282 Get rid of a few unused variable warnings.
Originally committed to SVN as r5333.
2011-02-09 21:56:10 +00:00
Niels Martin Hansen bc002d749c Make Windows path.cpp actually build. Still not really tested.
Originally committed to SVN as r5332.
2011-02-09 21:55:40 +00:00
Niels Martin Hansen acbe4bbb34 Add a bunch of new files to the libaegisub msbuild.
Originally committed to SVN as r5331.
2011-02-09 21:55:03 +00:00
Amar Takhar a118487afa Remove cache cleaning code from ffms, I'll eventually write something in libaegisub as we need cache cleaning for other areas too. (debug log, crash logs etc)
Originally committed to SVN as r5330.
2011-02-09 21:53:37 +00:00
Amar Takhar ce912335f1 Fix and de wxify video_manager.cpp.
Originally committed to SVN as r5329.
2011-02-09 04:41:40 +00:00
Amar Takhar 7d2594b134 s/Video/FFmpegSourceVideoProvider/, originally I was planning something different now we're moving all media-related code, also add missing GetDecoderName() method which was somehow removed by accident in a previous revision.
Originally committed to SVN as r5328.
2011-02-09 04:41:15 +00:00
Amar Takhar 83fd95c605 Some fixes to libmedia/video.h
Originally committed to SVN as r5327.
2011-02-09 02:30:48 +00:00
Amar Takhar ae7d00a57e Fix and de-wxify audio_manager.cpp
Originally committed to SVN as r5326.
2011-02-09 02:28:43 +00:00
Amar Takhar 185721837b s/Audio/FFmpegSourceAudioProvider/, originally I was planning something different now we're moving all media-related code, also replace missing public identifier from the class decleration.
Originally committed to SVN as r5325.
2011-02-09 02:28:24 +00:00
Amar Takhar c603c21b86 Print a message to the user and exit(1) if HOME is not set in the users environment.
Originally committed to SVN as r5324.
2011-02-08 22:40:55 +00:00
Amar Takhar 436ea23e4c Instantiate agi::Path, I have no idea if this works on windows since my build is still broken and jfs' code is untested. If someone else doesn't get to it I'll see about fixing my build and making it work. (if it's even broken...)
Originally committed to SVN as r5323.
2011-02-08 05:05:54 +00:00
Amar Takhar 355ad91105 * Instead of ~ use getenv("HOME") to get the users home directory.
* Fix Locale() to return P_LOCALE
 * Change data and doc values to P_DATA and P_DOC.

Originally committed to SVN as r5322.
2011-02-08 04:22:52 +00:00
Amar Takhar 961c1245f7 Remove const in path.cpp (missed in r5320)
Originally committed to SVN as r5321.
2011-02-08 03:53:34 +00:00
Amar Takhar bf05289495 * Remove misplaced const on a void method.
* Forward declare Options to avoid including options.h in the header.

Originally committed to SVN as r5320.
2011-02-08 03:48:00 +00:00
Niels Martin Hansen 7ae6e6da88 Completely untested implementation of agi::Path for Windows.
Originally committed to SVN as r5319.
2011-02-08 00:21:42 +00:00
Amar Takhar 78ed8e3694 Add stub path file for Windows and hand-edit vcproj to include the file.
Originally committed to SVN as r5318.
2011-02-07 18:02:26 +00:00
Amar Takhar b3c5bb6e92 Add corrected default_path.json which should have been in r5315.
Originally committed to SVN as r5317.
2011-02-07 18:02:04 +00:00
Amar Takhar 0a54e9ca06 Fix inclusion of config.h, when I was writing this I added a relative path directly to acconf.h
Originally committed to SVN as r5316.
2011-02-07 17:36:24 +00:00
Amar Takhar a35962923f Finish agi::Path so we can actually use it, our current path system is brutal and I needed this for libmedia. I'll be adding OS X support shortly: someone else will have to figure out what to do with windows it's completely trivial see unix/path.cpp and check libaegisub/path.h for the return values.
Originally committed to SVN as r5315.
2011-02-07 16:39:49 +00:00
Amar Takhar 7b06c334aa Add missing headers and change StdioProgressSink() to use std::cout and friends.
Originally committed to SVN as r5314.
2011-02-07 00:46:49 +00:00
Amar Takhar e27c3e15b8 Add several progress factories to handle progress bars. The GUI version will come from code within aegisub.
Originally committed to SVN as r5313.
2011-02-07 00:12:57 +00:00
Amar Takhar 73913fb0b8 Remove mutex.h from common/log.cpp until the windows build is fixed.
Originally committed to SVN as r5312.
2011-02-06 20:45:46 +00:00
Amar Takhar 874950382c s/acconf.h/config.h/ -- I forgot I actually fixed this when adding mutex.h so it was already working with the exception of the namespace change.
Originally committed to SVN as r5311.
2011-02-06 20:19:25 +00:00
Amar Takhar 4968fc2b55 Fix ram audio provider: this uses mutex.h (from google) in libaegisub and switches to use agi::io. The progress code has been stubbed out as well as a few path methods. There's no reason to guess at fixing them the only way to do it is after it's actually put into use.
Originally committed to SVN as r5310.
2011-02-06 19:52:50 +00:00
Amar Takhar 2edbc8c8c1 Fix mutex.h so we can actually use it.
Originally committed to SVN as r5309.
2011-02-06 19:50:59 +00:00
Amar Takhar 3d460ca31f Fix video cache, just needed to stub out one option which will be made a param to the constructor.
Originally committed to SVN as r5308.
2011-02-06 19:28:17 +00:00
Amar Takhar 15dab81b91 Fix ram audio provider (this stubs out a few lines used for progress updating.
Originally committed to SVN as r5307.
2011-02-06 18:48:42 +00:00
Amar Takhar 2ce135b612 Copy colourspace.(c|h) into libmedia and hack out wx.
Originally committed to SVN as r5306.
2011-02-06 03:59:13 +00:00
Amar Takhar 0c15005cc2 Add files to media namespace.
Originally committed to SVN as r5305.
2011-02-06 03:32:18 +00:00
Amar Takhar 37bcd0cc12 Fix dummy and pcm audio providers.
Originally committed to SVN as r5304.
2011-02-06 03:14:18 +00:00
Amar Takhar 65d216e60d Move dummy.h to dummy_audio.h
Originally committed to SVN as r5303.
2011-02-06 03:10:34 +00:00
Amar Takhar f16fb6bb5f Add fix convert and downmix audio providers.
Originally committed to SVN as r5302.
2011-02-06 03:09:59 +00:00
Amar Takhar e55ad2ed4d Add files to media namespace
Originally committed to SVN as r5301.
2011-02-06 03:08:51 +00:00
Amar Takhar e18ad3768b Switch namespace to media and use VideoProvider
Originally committed to SVN as r5300.
2011-02-06 03:02:45 +00:00
Amar Takhar 0ca6266c86 Add missing } to close the namespace.
Originally committed to SVN as r5299.
2011-02-06 03:02:13 +00:00
Amar Takhar f8b4b30cf8 Various fixes:
* svn:ignore
 * rename 'agi' namespace to 'media'
 * Remove some hacks required before bringing in provider code.

Originally committed to SVN as r5298.
2011-02-06 02:58:49 +00:00
Amar Takhar 97abbf13ce Remove exception.h, this used to be media.h in libaegisub however it's become moot after bringing in the provider headers from aegisub.
Originally committed to SVN as r5297.
2011-02-06 02:57:47 +00:00
Amar Takhar f486f8dea8 Commit missed changes to libaegisub/Makefile to remove media code.
Originally committed to SVN as r5296.
2011-02-06 00:07:19 +00:00
Amar Takhar ff602f7f2a Copy aegisub/(video|audio)_provider.h to libmedia/(video|audio).h
Originally committed to SVN as r5295.
2011-02-06 00:04:55 +00:00
Amar Takhar 7a13a4fb10 Add Makefile, the precompiled header unfortunatly snuck into r5292 -- it's a verbatim copy from libaegisub.
Originally committed to SVN as r5294.
2011-02-05 23:49:26 +00:00
Amar Takhar 66b6fdcfc8 Move video_frame.cpp which was left out of r5292.
Originally committed to SVN as r5293.
2011-02-05 23:46:09 +00:00
Amar Takhar 511b37ee48 Move converted code out of libaegisub and into libmedia.
Originally committed to SVN as r5292.
2011-02-05 23:43:20 +00:00
Amar Takhar 72211ad685 Copy and rename files from src/ into libmedia/. A lot of these headers will have to go into include/*. At the moment there's no point sorting that out until we see the final relation and external api requirements. I'll first unhook all of this code from the UI to figure out what common changes are required then design the final changes for an api that the UI can use sanely.
Originally committed to SVN as r5290.
2011-02-05 23:34:12 +00:00
Amar Takhar 7508420000 Commit a WIP for fixing tinderbox distfile building.
Originally committed to SVN as r5287.
2011-02-05 22:23:31 +00:00
Amar Takhar 75711f8041 Add FFMPEG LDFLAGS to the reporter as now they're r equired to link libaegisub. It's not worth considering to split it until everything is moved over.
Originally committed to SVN as r5286.
2011-02-04 18:41:52 +00:00
Amar Takhar ac2c6508dd Strategically place comments to stub out AskForTrackSelection() and CleanCache().
Originally committed to SVN as r5285.
2011-02-03 18:12:42 +00:00
Amar Takhar 283eff76ac Add LDFLAGS_POST to the shared library target.
Originally committed to SVN as r5284.
2011-02-03 18:09:08 +00:00
Amar Takhar d59e0dd075 Add support for removing ffms support and properly link ffms into libaegisub.
Originally committed to SVN as r5283.
2011-02-03 18:08:41 +00:00
Amar Takhar e46f83e672 Add -fPIC so ffms can be linked into a shared library.
Originally committed to SVN as r5282.
2011-02-03 18:08:11 +00:00
Amar Takhar a733260603 Add missing headers.
Originally committed to SVN as r5281.
2011-02-03 17:15:38 +00:00
Amar Takhar ac70f229dc Re-license video_frame.(cpp|h) with permission of copyright holder (Rodrigo Braz Monteiro).
Originally committed to SVN as r5280.
2011-02-03 15:52:06 +00:00
Amar Takhar ffff58d698 Compilation fixes now that ffmpegsource_common.cpp has been moved over. Everything compiles correctly now.
Originally committed to SVN as r5279.
2011-02-03 15:49:44 +00:00
Amar Takhar b47dd1e220 Add mid() template to util namespace.
Originally committed to SVN as r5278.
2011-02-03 15:49:13 +00:00
Amar Takhar bb4aa727d3 Add media/* to the build on Unix.
Originally committed to SVN as r5277.
2011-02-03 15:48:46 +00:00
Amar Takhar 36549ff724 Add media.h -- I'm not sure if this will be the perm name, it currently holds exception definitions.
Originally committed to SVN as r5276.
2011-02-03 15:48:18 +00:00
Amar Takhar 93ceb59b0f Move ffmpegsource_common.(cpp|h) and change the license to fit the rest of libaegisub with permission of the current license holder (Karl Blomster)
Originally committed to SVN as r5275.
2011-02-03 15:47:43 +00:00
Amar Takhar bcafbe2083 Move ffms_* files over to media/
Originally committed to SVN as r5274.
2011-02-03 01:18:43 +00:00
Amar Takhar 629b819e37 Move video_frame.(cpp|h) to libaegisub. The license has not been changed however I have an email sent to amz, I will change it once he responds.
Originally committed to SVN as r5273.
2011-02-03 01:18:14 +00:00
Amar Takhar f5308fe65b Move video_provider_ffmpegsource.(cpp|h) and change the license to fit the rest of libaegisub with permission of the current license holder (Karl Blomster)
Originally committed to SVN as r5272.
2011-02-03 01:17:15 +00:00
Amar Takhar cddfe3ed20 Wrap code under the agi namespace.
Originally committed to SVN as r5271.
2011-02-02 23:23:48 +00:00
Amar Takhar cacc3516c1 This should have gone into r5269: These files were re-licensed with permission of the original author. (Karl Blomster).
Originally committed to SVN as r5270.
2011-02-02 23:20:03 +00:00
Amar Takhar 1219b069b1 Copy audio_provider_ffmpegsource.(cpp|h) to ./ffms_audio.(cpp|h) and remove wx usage.. The plan is to move a/v support to libaegisub and write unit tests to make sure we can open/close/seek the "official" formats we want to support.
Originally committed to SVN as r5269.
2011-02-02 23:11:17 +00:00
Thomas Goyne b3562eb917 Implement the overscan mask command
Originally committed to SVN as r5268.
2011-01-25 04:24:19 +00:00
Thomas Goyne 95c45b3102 Remove pointless #pragma once from video_box.h
Originally committed to SVN as r5267.
2011-01-23 07:48:15 +00:00
Thomas Goyne 8d968e4dd5 Move the code for updating the time/frame display boxes from VideoDisplay to VideoBox
Originally committed to SVN as r5266.
2011-01-23 07:48:07 +00:00
Thomas Goyne 091c8170f2 Make several of VideoDisplay's members private
Originally committed to SVN as r5265.
2011-01-23 07:47:59 +00:00
Thomas Goyne 14420102e4 Update the frame number display and visual typesetting tool when opening a new video
Originally committed to SVN as r5264.
2011-01-23 07:47:52 +00:00
Thomas Goyne 10c3a2ca16 Only bind wxEVT_COMMAND_MENU_SELECTED once rather than once per command as large numbers of event handlers make wx explode
Originally committed to SVN as r5263.
2011-01-23 06:45:03 +00:00
Thomas Goyne 88be46c657 Add missing #include <algorithm> in ass_export_filter.cpp
Originally committed to SVN as r5262.
2011-01-21 06:32:02 +00:00
Thomas Goyne 41f9426634 Make the "From Video" button in the framerate transform configuration actually do something
Originally committed to SVN as r5261.
2011-01-21 06:09:28 +00:00
Thomas Goyne b851e50092 Open the correct dialog in tool/export
Originally committed to SVN as r5260.
2011-01-21 06:09:20 +00:00
Thomas Goyne ab00aa74ea Actually initialize the context in DialogResample
Originally committed to SVN as r5259.
2011-01-21 06:09:13 +00:00
Thomas Goyne af92002d8c Redesign export filters to not be static singletons, removing the need to jump through hoops to avoid static initialization order issues
Originally committed to SVN as r5258.
2011-01-21 06:09:04 +00:00
Thomas Goyne 83a461ca63 Port DialogVideoDetails to agi::Context
Originally committed to SVN as r5257.
2011-01-21 04:57:44 +00:00
Thomas Goyne 6ad2098749 Make VideoSlider use commands for its key events
Originally committed to SVN as r5256.
2011-01-21 04:57:36 +00:00
Thomas Goyne 1f79d89e5b Port DialogJumpTo to agi::Context
Originally committed to SVN as r5255.
2011-01-21 04:57:28 +00:00
Thomas Goyne e8b8f876bd Eliminate some uses of VideoContext::Get()
Originally committed to SVN as r5254.
2011-01-21 04:57:21 +00:00
Thomas Goyne 9c07798cb5 Delete some dead code in FrameMain
Originally committed to SVN as r5253.
2011-01-21 04:57:12 +00:00
Thomas Goyne 71daddeeb2 Convert the video box buttons over to commands
Originally committed to SVN as r5252.
2011-01-20 05:58:01 +00:00
Thomas Goyne b286339ce0 Eliminate a few uses of VideoContext::Get()
Originally committed to SVN as r5251.
2011-01-20 05:57:53 +00:00
Thomas Goyne 9ec1e1ba79 Explicitly set Collisions to the default (Normal) in the default file so that opening and closing the properties dialog on the default file is a no-op
Originally committed to SVN as r5250.
2011-01-20 05:57:46 +00:00
Thomas Goyne 79e11ef5cf Convert the properties dialog over to operating on a context
Originally committed to SVN as r5249.
2011-01-20 05:57:38 +00:00
Thomas Goyne 5f0d5757be Make NumValidator less bizzare
Originally committed to SVN as r5248.
2011-01-20 05:57:30 +00:00
Thomas Goyne a8ebc1e456 Make AssFile handle autosaving on every commit itself rather than going through FrameMain
Originally committed to SVN as r5247.
2011-01-20 05:57:23 +00:00
Thomas Goyne cecaff404b Finish killing FrameMain::SaveSubtitles
Originally committed to SVN as r5246.
2011-01-20 05:57:15 +00:00
Thomas Goyne 5270a3bf3a Remove withCharset parameter from FrameMain::SaveSubtitles as it was never used (saving with a charset is done by exporting)
Originally committed to SVN as r5245.
2011-01-20 05:57:08 +00:00
Thomas Goyne 1a26edc869 Delete FrameMain::SynchronizeProject as the last use of it was removed in r5207
Originally committed to SVN as r5244.
2011-01-20 05:56:59 +00:00
Niels Martin Hansen 0762422b20 Super fancy property pages for configuring the build in VC10. Doesn't want to display the defaults (properly) but that's not so important :)
Originally committed to SVN as r5243.
2011-01-19 06:40:23 +00:00
Niels Martin Hansen dd24ffac89 Do some grouping of source files in the VC10 project file.
Originally committed to SVN as r5242.
2011-01-19 04:05:30 +00:00
Thomas Goyne ccddf8eab1 Make hotkey::check return whether any hotkeys matched, and skip events which did not match any hotkeys
Originally committed to SVN as r5241.
2011-01-19 03:12:46 +00:00
Thomas Goyne ec3d1a9d35 Don't try to reorder things by swapping entries in a set
Originally committed to SVN as r5240.
2011-01-18 06:01:29 +00:00
Thomas Goyne 2183442089 Remove the unmodifiered frame left/right hotkeys from default
Originally committed to SVN as r5239.
2011-01-18 05:13:34 +00:00
Thomas Goyne 45c33ab675 Add commands for the remaining subtitles grid hotkeys and remove SubtitlesGrid::OnKeyDown entirely
Originally committed to SVN as r5238.
2011-01-18 05:13:26 +00:00
Thomas Goyne c3325cb543 Remove AegisubApp::OnKeyDown
It was an odd hack to ensure that medusa mode didn't mark keydown events
as processed (resulting in EVT_CHAR never triggering), but there should
be a better way to do this when we reintroduce global timing hotkeys.

Originally committed to SVN as r5237.
2011-01-18 03:42:51 +00:00
Thomas Goyne a4da8c3a61 Update libffms to r411
Originally committed to SVN as r5236.
2011-01-18 00:51:38 +00:00
Thomas Goyne 3f9bead41a Use the tr1 version of <tuple> when building with gcc
Originally committed to SVN as r5235.
2011-01-18 00:29:40 +00:00
Thomas Goyne c9656381f1 Remove now-pointless #pragma once from audio_box.h
Originally committed to SVN as r5234.
2011-01-17 23:54:13 +00:00
Thomas Goyne e0051e09e3 Use commands for most of the buttons in the audio box and add hotkey support
Originally committed to SVN as r5233.
2011-01-17 23:54:05 +00:00
Thomas Goyne f79c9e57a0 Add commands for most of the audio box buttons/hotkeys
Originally committed to SVN as r5232.
2011-01-17 23:53:59 +00:00
Thomas Goyne 33d8dd2975 Update TooltipManager to work with commands
Originally committed to SVN as r5231.
2011-01-17 23:53:52 +00:00
Thomas Goyne 04a4c074b0 Add function to get the string representation of the hotkeys for a command, use it when generating the menu
Originally committed to SVN as r5230.
2011-01-17 23:53:46 +00:00
Thomas Goyne cd4b032c25 Make agi::hotkey::Scan const
Originally committed to SVN as r5229.
2011-01-17 23:53:38 +00:00
Amar Takhar 4abb905130 Update 'interesting' files.
Originally committed to SVN as r5227.
2011-01-17 00:30:59 +00:00
Amar Takhar 3475a622d7 Update robots.txt for the latest buildbot version.
Originally committed to SVN as r5226.
2011-01-17 00:25:26 +00:00
Amar Takhar fe06b43354 * Update OS versions for the buildslaves.
* Fix builders for the new build system.

Originally committed to SVN as r5225.
2011-01-17 00:25:09 +00:00
Niels Martin Hansen 7713ea20e0 Produce a default config_windows.h file if one doesn't already exist.
Allow setting the BUILD_CREDIT define through a property page.

Originally committed to SVN as r5224.
2011-01-16 23:51:41 +00:00
Niels Martin Hansen 652a8c7806 Lump all the custom targets etc. for Aegisub into a single file, instead of using many.
Also, no custom project items needed anyway.

Originally committed to SVN as r5223.
2011-01-16 23:01:26 +00:00
Niels Martin Hansen 1e7718d30b Run TSVN's SubWCRev as part of the build.
The detection of the tool location is tricky and doesn't seem to work entirely as it should. It Works For Me as it is now, though the property page setting doesn't show the correct default.

Originally committed to SVN as r5222.
2011-01-16 22:42:30 +00:00
Thomas Goyne f2df585797 Move audio display hotkeys to the Audio category
Originally committed to SVN as r5221.
2011-01-16 08:50:00 +00:00
Thomas Goyne a2af06f302 Fix a few errors in the default hotkeys
Originally committed to SVN as r5220.
2011-01-16 08:49:53 +00:00
Thomas Goyne 8c8b149236 Fix a few warnings in the reporter
Originally committed to SVN as r5219.
2011-01-16 07:18:06 +00:00
Thomas Goyne be71a66600 Add command and AudioController support for saving audio clips
Originally committed to SVN as r5218.
2011-01-16 07:18:00 +00:00
Thomas Goyne 403d465475 Fix hotkeys with non-alphanumeric keys other than back, return, escape, space and delete
Originally committed to SVN as r5217.
2011-01-16 07:17:53 +00:00
Thomas Goyne a1bd974969 Partially convert the subtitles grid's context menu over to using commands
Originally committed to SVN as r5216.
2011-01-16 07:17:46 +00:00
Thomas Goyne df1dce3593 Kill SubtitlesGrid::ass and SubtitlesGrid::EditBox and convert everything that used them over to agi::Context
Originally committed to SVN as r5215.
2011-01-16 07:17:36 +00:00
Thomas Goyne 778338fa2b Remove FrameMain::menuCreated
Originally committed to SVN as r5214.
2011-01-16 07:17:29 +00:00
Thomas Goyne 6c0db27fac Remove some of FrameMain's friends
Originally committed to SVN as r5213.
2011-01-16 07:17:24 +00:00
Thomas Goyne 362e4c776b Make a large chunk of FrameMain's members private
Originally committed to SVN as r5212.
2011-01-16 07:17:17 +00:00
Thomas Goyne d84b768171 Remove the 'audio' and 'grid' public members from VideoContext and migrate everything that used them over to Context
Originally committed to SVN as r5211.
2011-01-16 07:17:08 +00:00
Thomas Goyne 169d3cd31c Add the selection controller to the context
Originally committed to SVN as r5210.
2011-01-16 07:17:02 +00:00
Thomas Goyne 8544565c0e Rearrange FrameMain initialization order to seperate context initialization and control creation a bit, and eliminate local pointers to non-view parts of the context
Originally committed to SVN as r5209.
2011-01-16 07:16:54 +00:00
Thomas Goyne 9f25b51a54 Rearrange context.h
Originally committed to SVN as r5208.
2011-01-16 07:16:48 +00:00
Thomas Goyne 7210ea17d8 Add pre-save signal to AssFile and move most of the logic in FrameMain::SaveSubtitles to slots for this signal
Originally committed to SVN as r5207.
2011-01-16 07:16:40 +00:00
Thomas Goyne 59300cbc27 Add a subtitle open signal and move most of the logic in FrameMain::LoadSubtitles to slots for this signal.
Originally committed to SVN as r5206.
2011-01-16 07:16:33 +00:00
Thomas Goyne 314a07c9ab Move post-video-load logic from FrameMain::LoadVideo to FrameMain::OnVideoOpen, and open videos via VideoContext directly
Originally committed to SVN as r5205.
2011-01-16 07:16:27 +00:00
Thomas Goyne 1664faf159 Make SubtitlesGrid listen for changes to "Subtitle/Grid/Hide Overrides" rather than refreshing it from the command
Originally committed to SVN as r5204.
2011-01-16 07:16:21 +00:00
Thomas Goyne bee57ccad3 Make DialogSpellChecker operate on a context rather than going through FrameMain
Originally committed to SVN as r5203.
2011-01-16 07:16:13 +00:00
Thomas Goyne 1aeded1a29 Make scoped_ptr's constructor explicit
Originally committed to SVN as r5202.
2011-01-16 07:16:07 +00:00
Thomas Goyne 71937757a2 Remove #pragma once from context.h and fix resulting compilation errors
Originally committed to SVN as r5201.
2011-01-16 07:16:00 +00:00
Thomas Goyne 64ebce6c0f Move NextFrame and PrevFrame from VideoSlider to VideoContext
Originally committed to SVN as r5200.
2011-01-16 07:15:53 +00:00
Thomas Goyne 08ec92046f Implement MRU commands
Originally committed to SVN as r5199.
2011-01-16 07:15:46 +00:00
Thomas Goyne ecea389e62 Add macro for defining command groups (i.e. menus) as they're almost entirely boilerplate
Originally committed to SVN as r5198.
2011-01-16 07:15:40 +00:00
Thomas Goyne 583aed4533 Convert commands to structs to eliminate a line of boilerplate per command
Originally committed to SVN as r5197.
2011-01-16 07:15:32 +00:00
Thomas Goyne 9779eacbf1 Implement almost all stubbed-out commands other than the MRU ones
Originally committed to SVN as r5196.
2011-01-16 07:15:24 +00:00
Thomas Goyne 7afbce439d AppName has to be set before ?user can be used
Originally committed to SVN as r5195.
2011-01-16 07:15:18 +00:00
Thomas Goyne f604e0bacd Add spacers to the main toolbar
Originally committed to SVN as r5194.
2011-01-16 07:15:11 +00:00
Thomas Goyne 77cb5b75b8 Disable the video details menu item when no video is loaded
Originally committed to SVN as r5193.
2011-01-16 07:15:05 +00:00
Thomas Goyne 685d4841dc Wrap documentation in audio_timing.h at 80 columns
Originally committed to SVN as r5192.
2011-01-16 07:14:59 +00:00
Thomas Goyne daa8c58cd8 Don't announce marker movements that update the styled ranges as well; it's redundant and the marker move signal is more useful as only non-interactive markers.
Originally committed to SVN as r5191.
2011-01-16 07:14:53 +00:00
Thomas Goyne cc5952035e Don't declare methods as virtual in a class not intended to be inherited from
Originally committed to SVN as r5190.
2011-01-16 07:14:47 +00:00
Thomas Goyne 84ffb4414a Update vs2008 respack project
Originally committed to SVN as r5189.
2011-01-16 07:14:24 +00:00
Niels Martin Hansen 4c5d8f54ea Forgot svn:keywords...
Originally committed to SVN as r5188.
2011-01-14 07:52:41 +00:00
Niels Martin Hansen 238f2dedb6 Custom property page for the respack tool, how cool!
Also include the standard targets later to make the projects stop spewing build status files into wrong dirs.

Originally committed to SVN as r5187.
2011-01-14 07:40:06 +00:00
Niels Martin Hansen a7dd3611a2 Here's an MSBuild project file for Aegisub itself!
Originally committed to SVN as r5186.
2011-01-14 03:49:28 +00:00
Niels Martin Hansen cda28d706b More clean-up of the MSBuild projects. (The IDE hates me for this.)
Originally committed to SVN as r5185.
2011-01-14 03:47:57 +00:00
Niels Martin Hansen 6490faa5c5 Prevent CSRI helper library from causing linking apps (like aegisub.exe) to export symbols.
Originally committed to SVN as r5184.
2011-01-14 02:05:01 +00:00
Niels Martin Hansen 8b58a63bd5 CSRI helper library MSBuild project.
Originally committed to SVN as r5183.
2011-01-14 01:30:17 +00:00
Niels Martin Hansen 1e6ace134a Respack produced invalid resources on Windows since it was opening files in text mode, causing newline conversions to happen.
Having it open files in binary mode instead fixes the problem.

Originally committed to SVN as r5182.
2011-01-14 01:29:47 +00:00
Niels Martin Hansen 59b8686fdc MSBuild project for chardet.
Originally committed to SVN as r5181.
2011-01-14 01:08:47 +00:00
Niels Martin Hansen 73905fb1b5 Add some DirectX detection.
Originally committed to SVN as r5180.
2011-01-11 22:04:47 +00:00
Niels Martin Hansen 87ac25bfa7 Add some missing files to the libaegisub project. Make Lua compile as C++ to get C++ name mangling, as Aegisub expects that.
Originally committed to SVN as r5179.
2011-01-11 22:04:21 +00:00
Amar Takhar 585b108671 Takes exactly 3 arguments it's not a minimum.
Originally committed to SVN as r5178.
2011-01-11 21:50:27 +00:00
Amar Takhar 357adc07dc Add some comments.
Originally committed to SVN as r5177.
2011-01-11 21:47:59 +00:00
Niels Martin Hansen 5d6730919d Fix ResPack target not actually building the intended resource files.
Originally committed to SVN as r5176.
2011-01-11 21:36:13 +00:00
Niels Martin Hansen f1121898b9 Update ResPack project, write ResPack target for MSBuild and add libresrc project that uses the ResPack target.
The ResPack target is not ideal, it will regenerate the source files even when they are up to date, if only the object files are outdated. This means that in batch builds, the source files will get regenerated for every platform/config built.

Originally committed to SVN as r5175.
2011-01-11 20:25:47 +00:00
Niels Martin Hansen 3974dfd1f2 Reorganise the property sheet includes to use a master include, and use properties to control inclusion of wxWidgets and Freetype, and any further deps.
Originally committed to SVN as r5174.
2011-01-11 18:15:31 +00:00
Amar Takhar 75b732bf60 Use lowercase filenames for OS X includes. HFS is case-insensitive and since I'm cross-compiling the OS X version from Linux it fails when you try to include files using uppercase names when they're actually lowercase.
Originally committed to SVN as r5173.
2011-01-11 17:52:17 +00:00
Niels Martin Hansen a7954fc3e0 MSBuild project for libaegisub.
Originally committed to SVN as r5172.
2011-01-11 17:50:03 +00:00
Amar Takhar f576bf912a Add missing headers.
Originally committed to SVN as r5171.
2011-01-11 17:22:44 +00:00
Amar Takhar a3534f2cae Fix identifers, _misc is no longer used.
Originally committed to SVN as r5169.
2011-01-11 17:00:11 +00:00
Amar Takhar 3ce2b1d802 Fix build to use new method.
Originally committed to SVN as r5168.
2011-01-11 16:59:03 +00:00
Amar Takhar 1a9f9abbed Add respack manifests.
Originally committed to SVN as r5167.
2011-01-11 16:58:47 +00:00
Amar Takhar 29f02c515b Move buttons from 16/* and 24/* to button/*_(16|24).png. This is a closer representation of what they're like in-source and in the future we'll only have 1 version of each icon
Originally committed to SVN as r5166.
2011-01-11 16:57:44 +00:00
Amar Takhar 9d34dfb01c Rewrite respack in pure C++, this is required to make cross-compiling sane.
Originally committed to SVN as r5165.
2011-01-11 16:55:15 +00:00
Amar Takhar a02fee90c3 Add a quick script used for distfile building. I don't see any reason to support a pure makefile solution and make it unnecessarily complex. In the future if anyone feels they may want to use this build system I'll change it otherwise we'll use this for now.
Originally committed to SVN as r5164.
2011-01-10 21:33:58 +00:00
Amar Takhar 7a8829efdc Remove Makefile.inc from EXTRA_DIST
Originally committed to SVN as r5163.
2011-01-10 21:32:54 +00:00
Amar Takhar 03ca62df22 Include dependency files into the Makefiles. This gives us dep tracking for headers.
Originally committed to SVN as r5162.
2011-01-10 21:27:39 +00:00
Niels Martin Hansen 0d6edabbdc Prettify the property files a bit and add some real sample files for the userconfig dir.
Originally committed to SVN as r5161.
2011-01-10 17:46:15 +00:00
Niels Martin Hansen 5f7fbf48c6 Use project relative paths for source files, to work around this (possible) MSBuild bug:
https://connect.microsoft.com/VisualStudio/feedback/details/635294/using-absolute-path-in-clcompile-item-prevents-property-pages-from-showing

Originally committed to SVN as r5160.
2011-01-10 01:27:12 +00:00
Niels Martin Hansen 231220cc63 Oops, left in an Import that shouldn't be there anyway.
Originally committed to SVN as r5159.
2011-01-09 23:06:01 +00:00
Karl Blomster a90d855950 update ffms2 to r409
Originally committed to SVN as r5158.
2011-01-09 21:47:46 +00:00
Niels Martin Hansen a08eb28846 MSBuild projects for the contrib libraries, except CSRI.
There is an odd bug/glitch where it is impossible to view property pages for single source files through the VS 2010 IDE, but compilation works as intended.

Originally committed to SVN as r5157.
2011-01-09 08:01:57 +00:00
Niels Martin Hansen 95c2649721 Add a bunch more property files for MSBuild projects
Originally committed to SVN as r5156.
2011-01-09 07:08:36 +00:00
Amar Takhar c2a81a5dd7 Add a cast to make x64 build on windows happy.
Originally committed to SVN as r5155.
2011-01-09 02:49:49 +00:00
Amar Takhar e1a59d307e * Fix iconv LDFLAGS for *bsd*
* Minor style fix for $GL_LIBS test.
 * Fail if iconv isn't found.
 * Fix variable name for the ! subtitle-found case which was over-writing the audio variable.

Originally committed to SVN as r5154.
2011-01-09 01:37:34 +00:00
Amar Takhar 73bd4f2398 * Remove awk check -- we haven't need it in over a year.
* Remove check for iconv.m4, I switched to custom code over a year ago.

Originally committed to SVN as r5153.
2011-01-09 01:36:18 +00:00
Amar Takhar 23d96d071c Add missing property sheets to x64 build config.
Originally committed to SVN as r5152.
2011-01-09 00:47:06 +00:00
Niels Martin Hansen a13e0ddedf Clear out some warnings emitted by Visual C++ 2010.
On 32 bit VC 2010, std::streamsize is 64 bit while size_t is 32 bit.

Originally committed to SVN as r5151.
2011-01-08 21:58:48 +00:00
Niels Martin Hansen abf9ee645b std::basic_streambuf::_Sgetn_s was removed was Visual C++ 2010 for some reason.
Originally committed to SVN as r5150.
2011-01-08 21:54:31 +00:00
Karl Blomster 71928bc25b update ffms2 to r407
Originally committed to SVN as r5149.
2011-01-08 20:32:18 +00:00
Amar Takhar 8f401a838a Add utilities to a util:: namespace for clarity.
Originally committed to SVN as r5148.
2011-01-08 19:16:11 +00:00
Amar Takhar 68aa077add Actually add util.(c|h) which should have been in r5146.
Originally committed to SVN as r5147.
2011-01-08 19:14:48 +00:00
Amar Takhar 93f8b84688 * Instantiate log class.
* Create new util file and add a config_path() function to get Aegisubs' configuration directory.
 * Header cleanu

Originally committed to SVN as r5146.
2011-01-08 19:14:02 +00:00
Amar Takhar 3f110101aa Ensure the proper cflags are set for common/charset_conv.cpp in libaegisub. Also fix iconv include path on *bsd.
Originally committed to SVN as r5145.
2011-01-08 17:46:46 +00:00
Amar Takhar 69af40edc6 Fix compilation of linux support in the reporter.
Originally committed to SVN as r5144.
2011-01-08 15:38:30 +00:00
Amar Takhar 55803684c3 Use -Wl for linker flags.
Originally committed to SVN as r5143.
2011-01-08 15:38:11 +00:00
Amar Takhar 4eeacb5ab9 Silence warning.
Originally committed to SVN as r5142.
2011-01-08 15:25:04 +00:00
Amar Takhar c67fe6db5d Re-add platform-specific headers and fix prototypes.
Originally committed to SVN as r5141.
2011-01-08 15:24:35 +00:00
Amar Takhar 9d5a2b41b5 Add missing headers and sort.
Originally committed to SVN as r5140.
2011-01-08 15:18:58 +00:00
Amar Takhar ef76d4b91b Remove debug printf.
Originally committed to SVN as r5139.
2011-01-08 15:17:11 +00:00
Amar Takhar 7155e550ad Update for change of paths.
Originally committed to SVN as r5138.
2011-01-08 14:22:23 +00:00
Amar Takhar 1530115458 Add libaegisub to solution.
Originally committed to SVN as r5137.
2011-01-08 14:22:12 +00:00
Amar Takhar 319ac2d4bb Catch all exceptions when deciding whether to load the default config.
Originally committed to SVN as r5136.
2011-01-08 12:13:24 +00:00
Amar Takhar 0d7b2c6e76 Add missing headers when not using precompiled header support. Some minor formatting in libaegisub/common/hotkey.cpp.
Originally committed to SVN as r5135.
2011-01-08 12:10:40 +00:00
Amar Takhar c95d92c2ca Add a temp conditional to avoid exceptions when a command doesn't exist since the hotkeys aren't fully converted.
Originally committed to SVN as r5134.
2011-01-06 15:33:55 +00:00
Thomas Goyne b56b641122 MSVC hurfs a blurf when two files in the same project have the same name
Originally committed to SVN as r5133.
2011-01-05 18:40:46 +00:00
Thomas Goyne e450cb3e7e Fix include paths
Originally committed to SVN as r5132.
2011-01-05 18:40:37 +00:00
Thomas Goyne c6b65d8b82 Remove deleted files from the projects and add the new files
Originally committed to SVN as r5131.
2011-01-05 18:40:30 +00:00
Thomas Goyne 813aab2473 Add default_hotkey.json, default_menu.json, default_path.json, and default_toolbar.json to respack's post-build event.
Originally committed to SVN as r5130.
2011-01-05 18:40:24 +00:00
Amar Takhar 1ac31c65bf Remove medusa commands, they don't technically exist anymore as we call it "global timing mode" now.
Originally committed to SVN as r5129.
2011-01-05 14:19:11 +00:00
Amar Takhar 2804e0cb52 Actually trigger a hotkey if it exists.
Originally committed to SVN as r5128.
2011-01-05 14:07:23 +00:00
Amar Takhar 9915fb1c3b Add a depedency for libresrc on the 'command' subdir to ensure it's built first.
Originally committed to SVN as r5127.
2011-01-05 13:36:13 +00:00
Amar Takhar 167f09a610 Merge the dynamic menu, hotkey and toolbar branch to trunk. This doesn't include Windows support as vs2008 was being a major pain. This involves revisions r4921:4950, r4961:5002, r5005:5006, r5008:5056, r5062:5065, r5072, r5081:5082, r5087, r5096:5110, r5124:5125. Updates #1258.
Originally committed to SVN as r5126.
2011-01-05 13:00:46 +00:00
Amar Takhar cdc73b17d2 Add support for bitmask options to Options. First one is to avoid flushing the config to disk which we don't want to happen when the reporter uses Options to read config values.
Originally committed to SVN as r5123.
2011-01-04 04:24:40 +00:00
Amar Takhar 010f3c14e5 Fix reading of aegisub config values.
Originally committed to SVN as r5122.
2011-01-04 04:23:51 +00:00
Amar Takhar a0e760c9da Replace all instances of wxString with std::string where possible.
Originally committed to SVN as r5121.
2011-01-04 00:22:55 +00:00
Amar Takhar 4d3c89eebf Cache wxGL* values to speed up GL probes, also delete locale in ~Platform().
Originally committed to SVN as r5120.
2011-01-03 16:14:43 +00:00
Amar Takhar 99aff7254f * wxString is really annoying.
* Build JSON tree.

Originally committed to SVN as r5119.
2011-01-03 15:46:21 +00:00
Amar Takhar c041bb8884 * Remove all vestiges of XML.
* Generate the report in the constructor.

Originally committed to SVN as r5118.
2011-01-03 14:28:24 +00:00
Amar Takhar 22c797a5d1 Fix some longstanding bugs now that I understand wxWidgets better.
Originally committed to SVN as r5116.
2011-01-03 14:11:53 +00:00
Amar Takhar f04d721228 Remove the name map, it's no longer required.
Originally committed to SVN as r5115.
2011-01-03 13:43:39 +00:00
Amar Takhar 7514812a25 Convert rest of the values to JSON.
Originally committed to SVN as r5114.
2011-01-03 13:33:53 +00:00
Amar Takhar 4118580bb6 Add JSON stubs, remove a bunch of now obsolete code.
Originally committed to SVN as r5113.
2011-01-03 13:20:53 +00:00
Amar Takhar e35badd20a Convert more groups to JSON and simplify source further.
Originally committed to SVN as r5112.
2011-01-03 13:02:16 +00:00
Amar Takhar 5985c60ded First stab at converting the reporter to use JSON and updating it to a saner design.
Originally committed to SVN as r5111.
2011-01-03 12:00:12 +00:00
Amar Takhar 85b577f25e Bind PBChangeSource() to localhost, any requests will come in via ssh or the local machine anyway.
Originally committed to SVN as r5095.
2011-01-02 03:53:36 +00:00
Amar Takhar 6da7e1a4da Use ~/build/wx versus ~/build/wx-trunk. I'll be using this for default "trunk" builds and a seperate directory for branches.
Originally committed to SVN as r5094.
2011-01-02 03:52:43 +00:00
Amar Takhar ddc12d55ce Remove buildbot users mysql pass from the config file and change it to something else. (I set this up months ago and forgot it was there, previous versions of buildbot didn't use mysql.
Originally committed to SVN as r5093.
2011-01-02 03:16:04 +00:00
Amar Takhar 08750b94e8 Remove PPC builder and comment some old code that needs to be re-done for the latest verison of buildbot (0.8)
Originally committed to SVN as r5092.
2011-01-02 03:12:42 +00:00
Amar Takhar efe88823c7 Add missing header.
Originally committed to SVN as r5091.
2011-01-02 02:37:05 +00:00
Amar Takhar 96a567086c Remove calls to wxPrintf and replace them with LOG_E().
Originally committed to SVN as r5090.
2011-01-02 02:33:24 +00:00
Amar Takhar 64f60e0215 Add missing header, thanks.. closes #1255
Originally committed to SVN as r5089.
2011-01-02 01:44:54 +00:00
Thomas Goyne d282b425c0 Update the audio display when keyframes are loaded/unloaded
Originally committed to SVN as r5086.
2010-12-31 23:53:42 +00:00
Thomas Goyne 7347c09ac0 Use Bind rather than Connect in AudioController
Originally committed to SVN as r5085.
2010-12-31 23:53:36 +00:00
Thomas Goyne cf89403a5b Listen for timecode load signals in AudioMarkerProviderKeyframes
Originally committed to SVN as r5084.
2010-12-31 23:53:30 +00:00
Thomas Goyne 4fdad923ad Timecodes and keyframes are always sorted, so fix some code that assumed they could be unsorted
Originally committed to SVN as r5083.
2010-12-31 23:53:23 +00:00
Thomas Goyne 17c07cc131 Add timecodes opened signal to VideoContext
Originally committed to SVN as r5080.
2010-12-31 21:03:18 +00:00
Thomas Goyne 824294078f Move YUV -> RGB conversion to VideoProviderYUV4MPEG and remove support for formats other than RGB32 from AegiVideoFrame
Originally committed to SVN as r5079.
2010-12-31 21:03:11 +00:00
Thomas Goyne 833e69b09f Replace MIN/MAX/MID with std::min/std::max/mid
Originally committed to SVN as r5078.
2010-12-31 21:03:03 +00:00
Thomas Goyne c6a823c731 Remove duplicate inclusion of several files in the project
Originally committed to SVN as r5077.
2010-12-31 21:02:56 +00:00
Thomas Goyne 5920c3124b Make agi::Signal uncopyable
Originally committed to SVN as r5076.
2010-12-31 21:02:49 +00:00
Thomas Goyne a566955047 Rename signals.h to signal.h
Originally committed to SVN as r5075.
2010-12-31 21:02:42 +00:00
Thomas Goyne 7c2e4e5115 Add tests for agi::keyframe
Originally committed to SVN as r5074.
2010-12-31 21:02:31 +00:00
Thomas Goyne edff7d6a2d Rewrite keyframe loading and saving code and move it to libaegisub
Originally committed to SVN as r5073.
2010-12-31 21:02:17 +00:00
Thomas Goyne ea93f6afba Remove pointless performance hurting call to glFinish
Originally committed to SVN as r5071.
2010-12-30 22:19:42 +00:00
Thomas Goyne 5370f3fa04 Make ThreadedFrameSource never lock jobMutex and fileMutex at the same time. Moderately improves responsiveness of the audio display while video is loaded.
Originally committed to SVN as r5070.
2010-12-30 22:19:36 +00:00
Thomas Goyne ca8b6d8525 Wrap docs in audio_controller.h at 80 columns rather than 100
Originally committed to SVN as r5069.
2010-12-30 22:19:30 +00:00
Thomas Goyne f3d1bc23bd Reduce the amount of repainting done when the selection changes to a new one that doesn't overlap the old selection
Originally committed to SVN as r5068.
2010-12-30 22:19:24 +00:00
Thomas Goyne 364f398c5f Kill VideoContext::keyframesRevision, which is no longer used
Originally committed to SVN as r5067.
2010-12-30 22:19:18 +00:00
Thomas Goyne 4684d5c4f8 Only refresh the audio portion of the audio display when markers are moved. Fixes bug where the timeline would sometimes be bold.
Originally committed to SVN as r5066.
2010-12-30 22:19:12 +00:00
Thomas Goyne a64dc820a4 Remove VideoDisplay's border as on Windows it's rendered on top of the client area, hiding part of the video and throwing off hit detection for the visual tools
Originally committed to SVN as r5061.
2010-12-30 19:13:53 +00:00
Thomas Goyne 5f0ba21e30 Fix bug where the first gl glyph in each row after the first would be overwritten, resulting in the incorrect number being shown in the cross visual tool
Originally committed to SVN as r5060.
2010-12-30 19:13:45 +00:00
Thomas Goyne 73c0515954 Add handling for invalid timecode errors when opening video
Originally committed to SVN as r5059.
2010-12-29 19:35:45 +00:00
Thomas Goyne bd7ac88f6b Apply container audio delay when the FFMS2 version used supports it. Closes #1251.
Originally committed to SVN as r5058.
2010-12-29 06:27:02 +00:00
Thomas Goyne ce2adcea79 Revert r4828 as I decided to fix it in FFMS2 instead.
Originally committed to SVN as r5057.
2010-12-29 06:26:56 +00:00
Amar Takhar ceb2bebf2c Library links should not have absolute paths (from Nikoli on freenode.)
Originally committed to SVN as r5007.
2010-12-14 21:02:20 +00:00
Amar Takhar 45c971da68 Add a note about DESTDIR= support
Originally committed to SVN as r5004.
2010-12-14 18:53:17 +00:00
Amar Takhar 7b7b15f0a1 Include stdint.h for uintptr_t, it's odd that I've never had a problem with this on the several platforms I've built on, which excluded Gentoo of course.
Originally committed to SVN as r5003.
2010-12-14 18:17:49 +00:00
Thomas Goyne 36ded6ef89 Disable events while processing all file change events in SubsEditBox as apparently wxComboBox::Clear triggers change events on some platforms
Originally committed to SVN as r4960.
2010-12-12 00:34:02 +00:00
Thomas Goyne fc9607cbb1 Disable deprecation warnings in libass on windows
Originally committed to SVN as r4959.
2010-12-12 00:33:55 +00:00
Thomas Goyne 017c09489b Add missing config.h include in ass_drawing.c
Originally committed to SVN as r4958.
2010-12-12 00:33:48 +00:00
Niels Martin Hansen ba6fded1cd Make sure Windows builds don't get min and max macros defined from WinDef.h.
Originally committed to SVN as r4957.
2010-12-11 18:27:28 +00:00
Niels Martin Hansen d188673e7c Remove #ifdef block around #include "agi_pre.h", as it causes the VC10 compiler to explode. Hopefully this won't break build somewhere else.
Originally committed to SVN as r4956.
2010-12-11 16:52:12 +00:00
Niels Martin Hansen 60b3ea15c3 Switch _WINDOWS for _WIN32, as _WINDOWS doesn't seem to be defined using MSVC 2010 headers. On the other hand, _WIN32 is always defined by the compiler.
Originally committed to SVN as r4955.
2010-12-11 16:47:03 +00:00
Niels Martin Hansen d63a646c2a Small beginnings of MSBuild-based build system, for Visual Studio 2010/Windows 7.1 SDK.
So far proof of concept building just the respack program, using a semi-generalised form of finding wxWidgets. For it to find wxWidgets, a user configuration needs to be placed in the userconfig dir, see readme.txt.

Originally committed to SVN as r4954.
2010-12-11 16:35:22 +00:00
Amar Takhar a2513f03a7 Add a check for tools/osx-bundle.sed, if it doesn't exist it will create 0 byte files, strange things can happen.
Originally committed to SVN as r4953.
2010-12-11 01:32:59 +00:00
Amar Takhar 572e27f681 Add LDFLAGS to the link line for shared libraries, this fixes the build on OSX. (and should have been there anyway)
Originally committed to SVN as r4952.
2010-12-11 01:32:24 +00:00
Amar Takhar 52497737cd Fixup osx-bundle.sh:
* Remove libtool hack
 * Fix locale installation now that intltool is gone.
 * Some pretty-print cleanups.

Originally committed to SVN as r4951.
2010-12-10 23:05:05 +00:00
Amar Takhar 063cd0480d OS X also needs typename to be defined within the template, that makes Windows,BSD and OS X, it's better to exclude platforms when we hit them.
Originally committed to SVN as r4920.
2010-12-08 18:58:10 +00:00
Amar Takhar 944eaa535e Remove universalchardet headers from the precompiled header. For some reason this was causing issues with compliation on FreeBSD, rather than investigate why I removed it since it's used by exactly 1 file (charset_ucd.cpp). If it's going to cause one problem now it may cause another later that we may not notice.
Originally committed to SVN as r4919.
2010-12-08 14:32:30 +00:00
Amar Takhar b0eb1dfe7c Add missing source files to Makefile.
Originally committed to SVN as r4918.
2010-12-08 14:31:24 +00:00
Amar Takhar 5d73bcc598 Remove common/option_value.cpp it was converted to use signals in r4899.
Originally committed to SVN as r4917.
2010-12-08 14:21:45 +00:00
Amar Takhar 32bb692521 Define typename in the Signal template for FreeBSD as well. I'm not sure why this is required (yet) but we may need it on other platforms as well.
Originally committed to SVN as r4916.
2010-12-08 14:20:53 +00:00
Amar Takhar 819a298246 Add -Wno-variadic-macros to silence "warning: anonymous variadic macros were introduced in C99" with GCC.
Originally committed to SVN as r4915.
2010-12-08 13:35:33 +00:00
Thomas Goyne a6a4132ab5 Make the audio timing controller commit changes made
Originally committed to SVN as r4914.
2010-12-08 08:10:00 +00:00
Thomas Goyne e1e98d0ddd Only refresh the time columns of the subtitle grid when times change
Originally committed to SVN as r4913.
2010-12-08 08:09:55 +00:00
Thomas Goyne 27cb511556 Make blank audio actually blank
Originally committed to SVN as r4912.
2010-12-08 08:09:49 +00:00
Thomas Goyne a6236fa20c Only work around wxMac bugs on wxMac
Originally committed to SVN as r4911.
2010-12-08 08:09:44 +00:00
Thomas Goyne 30cd87bcb3 When zooming, fix the center sample in place
Originally committed to SVN as r4910.
2010-12-08 08:09:37 +00:00
Thomas Goyne 82eddf53ea Remove redundant checks in SampleRange::overlaps
Originally committed to SVN as r4909.
2010-12-08 08:09:30 +00:00
Thomas Goyne b134428668 Store the URL of opened audio files
Originally committed to SVN as r4908.
2010-12-08 08:09:25 +00:00
Thomas Goyne 3345797ff6 Use signals in AudioController and AudioTimingController
Originally committed to SVN as r4907.
2010-12-08 08:09:16 +00:00
Thomas Goyne 3bb1f590d7 Sabotage the once lovely friendship between FrameMain and AudioBox and use an option listener instead
Originally committed to SVN as r4906.
2010-12-08 08:09:11 +00:00
Thomas Goyne 5f39b99b78 Make AudioDisplay use scoped_ptr for pointers it owns
Originally committed to SVN as r4905.
2010-12-08 08:09:05 +00:00
Thomas Goyne 7f076bbbc9 Fix crash on exit
Originally committed to SVN as r4904.
2010-12-08 08:09:00 +00:00
Amar Takhar c15777f844 Merge audio_display_rewrite branch to trunk. This is not a complete work, don't expect to time anything for a while.
Originally committed to SVN as r4903.
2010-12-08 03:36:10 +00:00
Thomas Goyne 0e6d8631fd Add scoped_ptr.h
Originally committed to SVN as r4902.
2010-12-07 19:09:37 +00:00
Thomas Goyne 6d2b941e76 Rework how committing changes works
Rather than everything having to separately commit changes to the ass
and then tell the subs grid to notify various parts of Aegisub about the
changes, committing the AssFile now triggers an event which objects
listen for.

AssFile::Commit now also has an argument to indicate what sorts of
changes were made to the file. For now these types are very broad.

Originally committed to SVN as r4901.
2010-12-07 19:09:28 +00:00
Thomas Goyne d9006b0eb4 Make VideoContext use events for some of its communication with other objects
Originally committed to SVN as r4900.
2010-12-07 19:09:21 +00:00
Thomas Goyne 13f052317e Convert OptionValue over to agi::signal
Originally committed to SVN as r4899.
2010-12-07 19:09:15 +00:00
Thomas Goyne 4fc1ff6ad6 Add simple signal/slot implementation loosly based on boost.sigal
Originally committed to SVN as r4898.
2010-12-07 19:09:08 +00:00
Amar Takhar 31e2828517 Add -D__STDC_FORMAT_MACROS to ffmpegsource_common.o, this should have been in r4896, comitted from the wrong machine...
Originally committed to SVN as r4897.
2010-12-05 23:26:28 +00:00
Amar Takhar 09274c4a1b Remove -D__STDC_FORMAT_MACROS from CXXFLAGS.
Originally committed to SVN as r4896.
2010-12-05 23:08:11 +00:00
Amar Takhar 5a635ebdb3 Merge r4855-4894 from the new_build_system branch. This still has rough spots and some of the dependency relations haven't been expressed but it works, and it's much better than what we had before as it kills off automake, libtool, gettext (package not library), intltool usage.
Originally committed to SVN as r4895.
2010-12-05 19:12:42 +00:00
Amar Takhar d6e9ee9487 Add <memory> for auto_ptr
Originally committed to SVN as r4854.
2010-11-29 10:17:12 +00:00
Thomas Goyne 12bf2a595d Disable analysis on build for libaegisub as it results in versions of Visual Studio that do not support /analyze rebuilding the entire project every time.
Originally committed to SVN as r4852.
2010-11-21 05:14:11 +00:00
Thomas Goyne d840c9eaae Put libaegisub win32/debug intermediate files in the standard location
Originally committed to SVN as r4851.
2010-11-21 05:13:57 +00:00
Amar Takhar b68fc9b68b Add a stub config.h to satisfy matroskaparser.c.
Originally committed to SVN as r4850.
2010-11-20 05:22:00 +00:00
Thomas Goyne 3d85cacae0 Apply the export transform when sending subtitles to the provider on the video worker thread rather than the GUI thread
Originally committed to SVN as r4849.
2010-11-18 06:15:41 +00:00
Thomas Goyne c571f64f86 Fix compilation error on unix when using internal libass
Originally committed to SVN as r4848.
2010-11-18 04:31:38 +00:00
Thomas Goyne ea5a042046 Cache the list of dictionary languages
Originally committed to SVN as r4847.
2010-11-18 03:00:08 +00:00
Thomas Goyne 75285192a3 Add overloaded operator-> to agi::line_iterator
Originally committed to SVN as r4846.
2010-11-17 05:44:02 +00:00
Thomas Goyne 1bb8d16a45 Rewrite HunspellSpellChecker
Add support for loading dictionaries from both the user's dictionary
path and the application's install path

Fix some issues with loading and saving the user's customized dictionary

Originally committed to SVN as r4845.
2010-11-17 05:43:56 +00:00
Thomas Goyne 1214290e90 Change default path to dictionaries to ?user/dictionaries (from ?user/dictionary) to match 2.1.x
Originally committed to SVN as r4844.
2010-11-17 05:43:48 +00:00
Thomas Goyne 1b8b53c14e Pass a double pointer rather than a reference to a pointer to wait_for_cache_thread. Fixes endless 'caching' of fonts on linux.
Originally committed to SVN as r4843.
2010-11-11 05:29:13 +00:00
Thomas Goyne 1f894561c3 Actually set options' default values
Originally committed to SVN as r4842.
2010-11-11 04:48:37 +00:00
Thomas Goyne 7a38c1c06e Add some bounds checking in the preferences dialog
Originally committed to SVN as r4841.
2010-11-11 04:48:29 +00:00
Thomas Goyne 6a186d0bcb Add vcproj for libass and fix msvc compilation errors
Originally committed to SVN as r4840.
2010-11-11 04:48:20 +00:00
Thomas Goyne 5be8ee5c0e Update libass to d8a0fe5984d9bc6d7827026215d21ada3dda7b71 and update LICENSE to reflect that libass is now ISCL
Originally committed to SVN as r4839.
2010-11-11 04:48:08 +00:00
Thomas Goyne c0c82505c7 Fix compilation when no subtitle providers are enabled
Originally committed to SVN as r4838.
2010-11-10 03:35:07 +00:00
Thomas Goyne 598624772d Quote targetpath in respack's build event so it works when the path to the aegisub checkout has spaces in it
Originally committed to SVN as r4837.
2010-11-10 03:34:59 +00:00
Karl Blomster d134eda2e8 compilation fix
Originally committed to SVN as r4836.
2010-11-09 21:22:58 +00:00
Karl Blomster d6dde4ec73 update ffms2 to r354
Originally committed to SVN as r4835.
2010-11-09 19:55:23 +00:00
Thomas Goyne 6affce0581 Make OPT_GET return a const OptionValue* and add OPT_SUB/OPT_UNSUB for subscribing to option changes
Originally committed to SVN as r4834.
2010-11-08 05:08:24 +00:00
Thomas Goyne 469bd3e165 Fix bug where the grid headers sometimes used the collision text color
Originally committed to SVN as r4833.
2010-11-08 02:52:54 +00:00
Thomas Goyne e738847eb2 Update the edit box after splitting a line
Originally committed to SVN as r4832.
2010-11-08 02:28:32 +00:00
Karl Blomster f34d37d091 remove assorted forgotten traces of the splash screen
Originally committed to SVN as r4831.
2010-11-07 19:32:40 +00:00
Karl Blomster 26b9985d3d Use Tahoma 8pt as default grid font. This is what got used in earlier versions.
Originally committed to SVN as r4830.
2010-11-06 19:51:36 +00:00
Karl Blomster 65b5907a4c Get rid of the splash screen. If you want it back, you better make it a) not broken, and b) actually useful as a startup diagnostics tool. If you can't do both, get out.
Originally committed to SVN as r4829.
2010-11-06 19:44:21 +00:00
Thomas Goyne 50f8389615 Add support for delay in FFmpegSourceAudioProvider as FFMS2 only handles it automatically in the avisynth plugin
Originally committed to SVN as r4828.
2010-11-04 04:58:27 +00:00
Thomas Goyne a73091ef5c Coalesce visual tool changes
Originally committed to SVN as r4827.
2010-11-01 04:36:13 +00:00
Thomas Goyne 516b2cec93 Only let AssTime be set to a valid time rather than handling invalid times on display
Originally committed to SVN as r4826.
2010-10-27 21:17:41 +00:00
Thomas Goyne 6432ea1f94 Remove the realtime visual tool option, as the threaded video display makes it pointless
Originally committed to SVN as r4825.
2010-10-26 04:12:10 +00:00
Thomas Goyne 3174f995fa Prioritize the fontconfig font lister over the freetype one when both freetype and fontconfig are available
Originally committed to SVN as r4824.
2010-10-22 18:25:02 +00:00
Thomas Goyne 4af788be1a Fix font collector crash
Originally committed to SVN as r4823.
2010-10-20 01:56:28 +00:00
Thomas Goyne 7189dfb1a1 Make the choice between the freetype and fontconfig listers entirely based on the defined setttings rather than platform
Originally committed to SVN as r4822.
2010-10-20 01:56:22 +00:00
Thomas Goyne da7f1ef96c Make defining WITH_FONTCONFIG on windows actually do something
Originally committed to SVN as r4821.
2010-10-20 00:41:48 +00:00
Thomas Goyne 36a102e558 Improve error reporting when an error occurs during startup
Originally committed to SVN as r4820.
2010-10-20 00:28:37 +00:00
Thomas Goyne c6f20504cb Fix memory leak in libass provider
Originally committed to SVN as r4819.
2010-10-20 00:28:28 +00:00
Thomas Goyne 49a57729ef Always load initialize fontconfig on a worker thread so that installing a font then opening a new video does not block the GUI thread
Originally committed to SVN as r4818.
2010-10-17 02:36:28 +00:00
Thomas Goyne 7ce2e8f389 Update the \move/pos toggle button's icon when it's clicked
Originally committed to SVN as r4817.
2010-10-16 20:23:54 +00:00
Thomas Goyne a278901e13 Update the time relative to frame box when the subtitle file is changed to reflect timing changes immediately
Originally committed to SVN as r4816.
2010-10-16 20:11:53 +00:00
Thomas Goyne 9083776b9c Update the color spectrum view when a recently used color is selected in the color picker
Originally committed to SVN as r4815.
2010-10-16 20:11:48 +00:00
Thomas Goyne 3c02917e20 Fix flipped video when switching between avs and ffms2 providers
Originally committed to SVN as r4814.
2010-10-16 20:11:43 +00:00
Thomas Goyne f7f7699aed Save the video's timecodes if external timecodes aren't loaded
Originally committed to SVN as r4813.
2010-10-16 20:11:37 +00:00
Thomas Goyne 67df3608be Fix crashes when opening a file with zero valid lines
Originally committed to SVN as r4812.
2010-10-16 20:11:32 +00:00
Thomas Goyne 97089a7683 Don't destroy the progress dialog when audio loading is cancelled as it's destroyed automatically
Originally committed to SVN as r4811.
2010-10-16 20:11:26 +00:00
Thomas Goyne 420f28adf8 If the user changes the active row in the middle of searching, search from the new active row even if it's after the last found row. Closes #1004
Originally committed to SVN as r4810.
2010-10-15 16:58:50 +00:00
Karl Blomster 49cdd10ffd fix a bug in kara-templater.lua on behalf of jfs.
Originally committed to SVN as r4808.
2010-10-15 14:33:10 +00:00
Thomas Goyne f4577a8b3a Don't format libass messages which won't be logged
Originally committed to SVN as r4807.
2010-10-11 20:48:29 +00:00
Thomas Goyne ef7abaf1b6 Add new dialogue lines immediately after the last dialogue line in the file rather than at the end of the file
Originally committed to SVN as r4806.
2010-10-11 20:06:31 +00:00
Thomas Goyne aee6b0a540 Make AssAttachment::GetEntryData const so that it's actually called
Originally committed to SVN as r4805.
2010-10-11 20:06:26 +00:00
Thomas Goyne a41aeb8421 Fix minor layout issues in the dummy video dialog
Originally committed to SVN as r4804.
2010-10-11 20:06:20 +00:00
Thomas Goyne 84f646b88b Fix bug where changing the script resolution would not update the current visual tool
Originally committed to SVN as r4803.
2010-10-11 20:06:15 +00:00
Thomas Goyne 2324a1f197 Add a blank line between each group when writing ass files
Originally committed to SVN as r4802.
2010-10-11 20:06:09 +00:00
Thomas Goyne 7d2c7c5881 Don't add garbage AssEntries for blank lines in the file. Fixes some issues with sorting lines.
Originally committed to SVN as r4801.
2010-10-11 20:06:04 +00:00
Thomas Goyne fcba0c8e2a Update grid column widths after opening a new subtitle file.
Originally committed to SVN as r4800.
2010-10-11 20:05:59 +00:00
Thomas Goyne dade679145 Select new styles in the styles manager when they are created.
Originally committed to SVN as r4799.
2010-10-11 20:05:52 +00:00
Thomas Goyne ed9968e172 Don't pointlessly batch single selection changes when find/replacing. Fixes bug where find would select the wrong part of the line.
Originally committed to SVN as r4798.
2010-10-11 20:05:46 +00:00
Thomas Goyne b4739d2aee gcc 4.5 compilation fixes
Originally committed to SVN as r4797.
2010-10-11 04:25:02 +00:00
Thomas Goyne 1fbe7b4f1e Increase the size of the buffer used for formatting messages from libass as they can occasionally be longer than 256 characters
Originally committed to SVN as r4796.
2010-10-08 06:06:50 +00:00
Thomas Goyne 82ca2a4b70 Fix issues with the edit box buttons and omitted tag parameters
Originally committed to SVN as r4795.
2010-10-08 06:06:44 +00:00
Thomas Goyne 8545446baa Make select all not take quadratic time
Originally committed to SVN as r4794.
2010-10-08 06:06:38 +00:00
Thomas Goyne 4bf3b44cc0 Add missing swap in ThreadedFrameSource::ProcFrame that resulted in the full subtitle file never being loaded
Originally committed to SVN as r4793.
2010-10-08 06:06:32 +00:00
Thomas Goyne 682fd9406c Check for both forward and back slashes in the windows version of util::DirName
Originally committed to SVN as r4792.
2010-10-07 17:18:00 +00:00
Thomas Goyne 1dedfb18cd Shift timecodes so that frame 0 always starts at time 0, as nothing related to audio supports non-zero start times
Originally committed to SVN as r4791.
2010-09-23 03:06:22 +00:00
Thomas Goyne 7586f28ffe Fix overflow handling in AssTime::GetAssFormatted
Originally committed to SVN as r4790.
2010-09-23 03:06:15 +00:00
Thomas Goyne 35b9769092 Pass around shared_ptrs to newly allocated AegiVideoFrames rather than pointers into a buffer of AegiVideoFrames in ThreadedFrameSource
Originally committed to SVN as r4789.
2010-09-15 22:10:48 +00:00
Thomas Goyne dca2bd43fe Rearrange ThreadedFrameSource::Entry to allow the use of wxMutexLocker
Originally committed to SVN as r4788.
2010-09-15 22:10:42 +00:00
Amar Takhar d3fca38ee7 Disable installing the assert handler until I find time to figure out how I can call the default handler which provides the popup / some handy debug tools.
Originally committed to SVN as r4787.
2010-09-15 05:19:01 +00:00
Thomas Goyne fd5c1ecffc Fix writing of newlines on windows in charsets wider than one byte
Originally committed to SVN as r4786.
2010-09-15 05:00:12 +00:00
Thomas Goyne 84b8877d1d Clean up AssFile::Load, eliminating some redundant checks, and fixing a few situations where the undo stack could be left in an inconsistant state
Originally committed to SVN as r4785.
2010-09-15 02:46:19 +00:00
Karl Blomster 9108ea9b00 Don't try to coalesce undo operations when there aren't any undo operations to coalesce with. Fixes a crash when opening .txt files.
Originally committed to SVN as r4784.
2010-09-15 01:00:18 +00:00
Karl Blomster 0c2b40dc60 Revert r4782 since it wasn't needed if you do the project file right.
Originally committed to SVN as r4783.
2010-09-15 00:18:21 +00:00
Karl Blomster 3bdba76549 I have no idea what kind of enterprising faggot broke this but apparently we need __STDC_FORMAT_MACROS now. I hope this breaks on some other platform, that would be hilarious.
Originally committed to SVN as r4782.
2010-09-15 00:01:59 +00:00
Karl Blomster 035694c9ae I came, I saw, I hurfed a durf about macro redefinitions
Originally committed to SVN as r4781.
2010-09-14 23:53:22 +00:00
Amar Takhar 6f63041156 Redirect assertions to the logging system. This doesn't create a popup dialogue like the default method does. If someone actually wants that to happen let me know and I'll write something.
Originally committed to SVN as r4780.
2010-09-14 22:05:19 +00:00
Amar Takhar 01e1a34d43 Make setup.sh a little more robust when resetting the data/ directory.
Originally committed to SVN as r4779.
2010-09-11 17:48:54 +00:00
Thomas Goyne c33c5f647d Fix crash when iconv Roundtrip test fails
Originally committed to SVN as r4778.
2010-09-10 03:31:20 +00:00
Thomas Goyne 98305250df Fix compilation of tests on OS X
Originally committed to SVN as r4777.
2010-09-10 03:31:13 +00:00
Thomas Goyne 3512c4e1fe Clean up handling of fallbacks and improve behavior somewhat with glibc iconv
Originally committed to SVN as r4776.
2010-09-09 06:47:50 +00:00
Thomas Goyne 9780243586 Add NOMINMAX to the libaegisub project
Originally committed to SVN as r4775.
2010-09-09 06:47:45 +00:00
Thomas Goyne 81709164b3 Make the detection of BOM sizes actually work
Originally committed to SVN as r4774.
2010-09-09 06:47:29 +00:00
Thomas Goyne 6f7daef630 Bump version number to 3.0 in tests/Makefile.am
Originally committed to SVN as r4773.
2010-09-09 04:05:20 +00:00
Thomas Goyne ac2bac6d00 Use agi::io::Save in TextFileWriter
Originally committed to SVN as r4772.
2010-09-08 20:03:48 +00:00
Thomas Goyne 2662a69b2e Only autosave if there are unsaved changes to the file
Originally committed to SVN as r4771.
2010-09-08 20:03:20 +00:00
Thomas Goyne 7e72a9e0cf Add background fontconfig cache updating
When the libass provider is enabled, initialize fontconfig on program
startup rather than waiting for the user to open a video. If the user
tries to open a video while the cache is still being updated, display a
"progress" dialog,

Updates #1115.

Originally committed to SVN as r4768.
2010-09-01 06:50:35 +00:00
Thomas Goyne f77f908611 Fix compilation without precompiled headers. Closes #1241
Originally committed to SVN as r4767.
2010-08-28 02:00:43 +00:00
Thomas Goyne f37e1bf87a Fix thread warnings on shutdown on unix
Originally committed to SVN as r4766.
2010-08-27 01:01:35 +00:00
Thomas Goyne 071ada7487 Add listener for the autosave timer
Originally committed to SVN as r4765.
2010-08-26 18:38:44 +00:00
Thomas Goyne 0248e7c754 Add listeners for most non-audio options that need them. Closes #1047.
Originally committed to SVN as r4764.
2010-08-26 18:38:37 +00:00
Thomas Goyne 0704887ad4 Save the last viewed page of the preferences dialog
Originally committed to SVN as r4763.
2010-08-26 18:38:31 +00:00
Thomas Goyne daa77301eb Remove "Colour/Background/Modified" option, which was made irrelevant by r4699.
Originally committed to SVN as r4762.
2010-08-26 18:38:26 +00:00
Thomas Goyne 069581b9be Make the preferences dialog actually update the configuration
Originally committed to SVN as r4761.
2010-08-26 18:38:20 +00:00
Thomas Goyne 5721003219 Split colors into two columns so that the preferences dialog is less awkwardly shaped
Originally committed to SVN as r4760.
2010-08-26 18:38:14 +00:00
Thomas Goyne 5d5f24cbd8 Remove Tip of the Day setting from default_config.json
Originally committed to SVN as r4759.
2010-08-26 18:38:09 +00:00
Thomas Goyne f15dd92fb1 Change App/Auto/Check For Updates to a bool so that the correct control is used in the preferences dialog
Originally committed to SVN as r4758.
2010-08-26 18:38:03 +00:00
Thomas Goyne 27a7c41a44 Fix option name for auto-updates checkbox
Originally committed to SVN as r4757.
2010-08-26 18:37:46 +00:00
Thomas Goyne 80af629325 Remove dangling reference to boost files in the makefile
Originally committed to SVN as r4756.
2010-08-26 18:03:00 +00:00
Thomas Goyne 06f0c231b0 Make the advanced video options page a child of the advanced options
Originally committed to SVN as r4755.
2010-08-25 19:31:38 +00:00
Thomas Goyne 34c571b81b Change the one use of boost::shared_ptr to std::tr1::shared_ptr and remove the local copy of boost::shared_ptr
Originally committed to SVN as r4754.
2010-08-25 19:31:31 +00:00
Thomas Goyne 574236875c Fix assertion failure in 32-bit builds
Originally committed to SVN as r4753.
2010-08-25 19:31:26 +00:00
Thomas Goyne a6abc79b95 Add inttypes.h to the precompiled header
Originally committed to SVN as r4752.
2010-08-25 19:31:20 +00:00
Thomas Goyne 459b9e317d Display an error when the config file is corrupted rather than just crashing
Originally committed to SVN as r4751.
2010-08-25 19:31:11 +00:00
Amar Takhar e6b41058d8 Remove duplicate inclusion of <libaegisub/log.h>.
Originally committed to SVN as r4750.
2010-08-22 21:22:49 +00:00
Amar Takhar 6742a17649 Add a workaround for [Hotkeys] header detection, all this code will go away when the Hotkeys are redone.
Originally committed to SVN as r4749.
2010-08-17 04:44:18 +00:00
Thomas Goyne d83c59819f Fix deadlock on pthreads-using platforms
Originally committed to SVN as r4748.
2010-08-16 03:06:28 +00:00
Amar Takhar 714fa65071 Rename 2.2 to 3.0 as this will now be the next version outside of 2.1.
Originally committed to SVN as r4747.
2010-08-15 18:40:58 +00:00
Amar Takhar b50255bfe9 Re-add code removed in r4745 and conditionalise it under BUILD_DARWIN.
Originally committed to SVN as r4746.
2010-08-15 16:55:52 +00:00
Amar Takhar 2bcaf14892 Remove some test code added when fixing the OSX build that slipped into r4743.
Originally committed to SVN as r4745.
2010-08-14 18:57:29 +00:00
Amar Takhar 3c5d4bc97e Relicense libosxutil code (osx/util.cpp and include/util_osx.h) using the same license as the rest of the library. (obsd/2-clause bsdl) Done with the permission of current copyright holder jfs (Niels Martin Hansen).
Originally committed to SVN as r4744.
2010-08-14 18:45:41 +00:00
Amar Takhar d4ba1f48ca Remove libosxutil and fold it into libaegisub.
Originally committed to SVN as r4743.
2010-08-14 17:42:37 +00:00
Amar Takhar 0d12775f4b osx-bundle target fixes.
Originally committed to SVN as r4742.
2010-08-14 17:38:37 +00:00
Thomas Goyne b9f9b0a80a Fix potential divide-by-zero with wxGTK when opening video.
Originally committed to SVN as r4741.
2010-08-13 05:51:31 +00:00
Thomas Goyne 9c93198c3b Honor the user's default zoom when possible rather than always overriding it based on the size of the window
Originally committed to SVN as r4740.
2010-08-13 05:51:26 +00:00
Thomas Goyne 768f74ae3c Make VideoDisplay set its initial zoom itself rather than FrameMain
Originally committed to SVN as r4739.
2010-08-13 05:51:17 +00:00
Amar Takhar 6bb5dd0bfd Use OSXSetModified() from wx instead of using Carbon directly.
Originally committed to SVN as r4738.
2010-08-13 00:33:54 +00:00
Amar Takhar 61656d633b * Make GL_EXT() a noop on OS X, it's not required.
* Conditionalise glMultiDrawArraysFallback since it's not used on OS X.
 * Stub APIENTRY at the top of visual_tool_vector_clip.cpp, this should never be added to a header but at the top of source files.

Originally committed to SVN as r4737.
2010-08-13 00:24:35 +00:00
Amar Takhar ce28cca7c6 Include missing header.
Originally committed to SVN as r4736.
2010-08-12 14:36:09 +00:00
Amar Takhar 9f1b1f1cad Use std::string on osx/unix as well as osx doesn't have strndup.
Originally committed to SVN as r4735.
2010-08-12 14:34:54 +00:00
Amar Takhar 0b4092b602 Fix compilation on Unix/OSX (fix from Plork)
Originally committed to SVN as r4734.
2010-08-12 10:13:29 +00:00
Amar Takhar cbbb917dce Use $INTLTOOLIZE instead of `intltoolize` in autogen.sh to ensure the binary, if specified is actually called. I'm amazed noone has noticed this before.
Originally committed to SVN as r4733.
2010-08-12 09:23:19 +00:00
Thomas Goyne 58ca596359 Define NOMINMAX on Windows and remove workarounds for problems caused by those macros.
Originally committed to SVN as r4732.
2010-08-12 06:39:49 +00:00
Thomas Goyne a400800b54 Remove the override for fonts.conf location on Windows as the default is close enough to sensible.
Originally committed to SVN as r4731.
2010-08-12 01:12:00 +00:00
Thomas Goyne c8851828cd Get the libass provider working on Windows. Requires a valid fontconfig config file (currently not included).
Originally committed to SVN as r4730.
2010-08-10 05:50:14 +00:00
Thomas Goyne e7eba4c00d Add Select All and Select None buttons to the import style from script dialog.
Originally committed to SVN as r4729.
2010-08-10 01:47:29 +00:00
Thomas Goyne 87fac1c571 Reduce flickering when changing zoom level.
Originally committed to SVN as r4728.
2010-08-03 20:21:25 +00:00
Thomas Goyne d5cbb534f8 Make VideoDisplay's size calculations slightly less convoluted.
Originally committed to SVN as r4727.
2010-08-03 20:21:19 +00:00
Thomas Goyne 11d67ec6ae Fix updating of the scroll bar after opening a new file.
Originally committed to SVN as r4726.
2010-08-03 20:21:13 +00:00
Thomas Goyne f66ef36f93 Change criteria for when opened files should be backed up; rather than not backing up binary files (which aren't detected correctly anymore and always was sort of kludgy), don't back up files which are not in a format we can't write.
Originally committed to SVN as r4725.
2010-08-03 20:21:04 +00:00
Thomas Goyne 3f954dadcc Merge OS X color picker fixes in r3996 and r3997 from 2.1.8. Closes #1114.
Originally committed to SVN as r4724.
2010-08-03 02:16:26 +00:00
Thomas Goyne 2a51ad837e Fix non-precompiled header compilation
Originally committed to SVN as r4723.
2010-08-02 22:14:11 +00:00
Thomas Goyne 46be23073e Fix a few gcc warnings
Originally committed to SVN as r4722.
2010-08-02 20:25:29 +00:00
Thomas Goyne ce97d995b4 Also remove timecodes and keyframes from the MRU lists when they cannot be found. Updates #717.
Originally committed to SVN as r4721.
2010-08-02 08:18:53 +00:00
Thomas Goyne 596ad4d65d Add missing throw statement
Originally committed to SVN as r4720.
2010-08-02 08:18:45 +00:00
Thomas Goyne caf81157f1 Fix portaudio player compilation
Originally committed to SVN as r4719.
2010-08-02 08:03:58 +00:00
Thomas Goyne ff85906cdc Fix compilation errors
Originally committed to SVN as r4718.
2010-08-02 07:21:02 +00:00
Thomas Goyne c10e9e3a5b Make video and audio providers throw typed exceptions.
Don't display error messages and try other providers when the user
cancels loading a file.

Remove files from the MRU lists if they can't be found.

Closes #717.

Originally committed to SVN as r4717.
2010-08-02 06:32:01 +00:00
Thomas Goyne 71fb04cd29 Rework most of the various factories to not need an explicit helper class for each class constructable via a factory.
Originally committed to SVN as r4716.
2010-08-02 06:31:38 +00:00
Thomas Goyne f0aa85dfbb Delete the quicktime provider, as it's unmaintained and doesn't work
Originally committed to SVN as r4715.
2010-07-27 03:52:40 +00:00
Thomas Goyne 6407e36c87 Store inner exceptions with shared_ptr rather than a bare pointer so that the inner exception survives copies
Originally committed to SVN as r4714.
2010-07-27 03:52:32 +00:00
Amar Takhar e2d9241efd No need to disable as this is done when it's deleted anyway.
Originally committed to SVN as r4713.
2010-07-25 17:34:17 +00:00
Amar Takhar d3077c3b8b Change emit_stdout to a private member variable, this was changed in r4575. Putting it on the stack won't work since it'll just unsubscribe which we don't want. Unfortunatly this is wrapped with _DEBUG everywhere in main.(h|cpp) if we need more debugging code in the future I'll figure out a better solution.
Originally committed to SVN as r4712.
2010-07-25 17:33:44 +00:00
Amar Takhar 79a67ae1ec Add some log messages when subscribing/unsubscribing emitters.
Originally committed to SVN as r4711.
2010-07-25 17:30:12 +00:00
Thomas Goyne 3bdf0f95c6 Remove audio_provider_stream.cpp from the makefile
Originally committed to SVN as r4710.
2010-07-25 05:42:36 +00:00
Thomas Goyne d4a4db0388 Kill scrubbing code and audio_provider_stream; they were last touched four years ago and never did work.
Originally committed to SVN as r4709.
2010-07-25 03:11:00 +00:00
Thomas Goyne 6040334278 Kill DEBUG_AVISYNTH_CODE as it hasn't actually worked for 3.5 years.
Originally committed to SVN as r4708.
2010-07-23 20:34:23 +00:00
Thomas Goyne 428fc78623 Kill dangling references to dialog_tip.h
Originally committed to SVN as r4707.
2010-07-23 07:00:35 +00:00
Thomas Goyne d8021262df Enable "Make times continous" when only one line is selected. Closes #822.
Originally committed to SVN as r4706.
2010-07-23 06:40:22 +00:00
Thomas Goyne 35e33bd036 Fix crash when video loading fails.
Originally committed to SVN as r4705.
2010-07-23 06:40:12 +00:00
Thomas Goyne da0fb8cde7 Fix gcc build errors introduced in r4702
Originally committed to SVN as r4704.
2010-07-23 06:21:22 +00:00
Thomas Goyne de1588cd1d Delete old tip of the day code. Closes #967.
Originally committed to SVN as r4703.
2010-07-23 06:16:00 +00:00
Thomas Goyne 397b234fba Move video decoding and subtitle rendering to a worker thread
Makes the click event handler for the grid no longer slow when video
autoscroll is enabled, making it harder to accidently select multiple
lines.

Makes seeking speed no longer limited by decoding/rendering speed;
seeking faster than video can be decoded simply results in dropped
frames.

Makes editing the file while a slow-rendering frame is visible far more
responsive.

Originally committed to SVN as r4702.
2010-07-23 05:58:39 +00:00
Thomas Goyne 926b6152f1 Fix detached video crashes.
Originally committed to SVN as r4701.
2010-07-23 04:15:36 +00:00
Thomas Goyne 242b1ee47b Remove deleted files from the makefile
Originally committed to SVN as r4700.
2010-07-20 03:28:50 +00:00
Thomas Goyne fde4a7815d Make the subtitle edit box auto-commit all changes
This happens to fix most of the undo issues, as it's now much harder to
have uncommitted changes to the file.

Closes #355 and #586.

Originally committed to SVN as r4699.
2010-07-20 03:11:11 +00:00
Amar Takhar 51a75cd0fd Split the preferences to make managing the base code from the actual options. I should have done this yesterday however I completely underestimated how annoying it would be having it all in the same file.
Originally committed to SVN as r4698.
2010-07-19 17:53:29 +00:00
Amar Takhar c3881ea772 Some documentation and reformatting
Originally committed to SVN as r4696.
2010-07-19 12:25:53 +00:00
Karl Blomster 9def56b61c fix compilation under visual studio
Originally committed to SVN as r4695.
2010-07-19 01:28:52 +00:00
Karl Blomster cd810ae1c0 fix compilation of the avs provider
Originally committed to SVN as r4694.
2010-07-19 01:08:09 +00:00
Amar Takhar 12014b944e Remove unused macros.
Originally committed to SVN as r4693.
2010-07-18 23:31:21 +00:00
Amar Takhar d8acbb205c Finish converting the rest to objects.
Originally committed to SVN as r4692.
2010-07-18 23:22:00 +00:00
Amar Takhar 1613a5961f Convert the Subtitles and Audio pages.
Originally committed to SVN as r4691.
2010-07-18 19:29:54 +00:00
Amar Takhar dff3cb78f6 Start moving each page to it's own class, the first round of changes was intended as a proof-of-concept. Having each page as it's own object will allow for far easier handling of option changes and reverting.
Originally committed to SVN as r4690.
2010-07-18 16:36:31 +00:00
Amar Takhar 92d51d6f34 Move another block of code to reduce later diffs.
Originally committed to SVN as r4689.
2010-07-18 16:33:32 +00:00
Amar Takhar 1626024be8 Shift some code blocks around before modification to make sense of later diffs.
Originally committed to SVN as r4688.
2010-07-18 14:46:16 +00:00
Thomas Goyne 46d03e3e2b Refresh video display after undo/redo.
Originally committed to SVN as r4687.
2010-07-18 05:45:58 +00:00
Thomas Goyne 63cda2d755 Make gl contexts specific to VideoDisplays and only create/use them when the display is shown. Fixes a pile of X11-related assertion failures.
Originally committed to SVN as r4686.
2010-07-18 05:45:52 +00:00
Amar Takhar f1ea264efc Revert r4684 as the change won't handle nonexistent styles correctly. updates #1232.
Originally committed to SVN as r4685.
2010-07-17 21:08:53 +00:00
Amar Takhar 6705e2fa61 Set the current style directly when updating the dropdown. The old way used Select() which caused an actual commit to happen. This has the side-effect of modifying the file on startup. We currently set the Actor using this method I don't see why doing the same for the Style won't work.
Originally committed to SVN as r4684.
2010-07-17 19:42:44 +00:00
Amar Takhar c624b20777 Left align microseconds by 6 spaces.
Originally committed to SVN as r4683.
2010-07-17 17:47:59 +00:00
Amar Takhar 5755d7e1a0 Use %ld for size_t in RebuildRecentList, fixes an assert in wxString::Format.
Originally committed to SVN as r4682.
2010-07-16 15:44:54 +00:00
Amar Takhar d3e9a906aa Use %ld for both wxFileOffset (off_t) and GetTicks() (time_t), also coalesce into a single wxString::Format. This fixes an assert in wx trunk. Unfortunatly it does not fix audio loading due to seperate breakage of libass in r4630:4631. closes #1228.
Originally committed to SVN as r4681.
2010-07-16 10:33:54 +00:00
Thomas Goyne a32bbab0b6 Add selection-preserving logic to BaseGrid::UpdateMaps and eliminate some unnecessary updates and clears of the maps. Fixes a pile of cases where operations would result in incorrect or no selections, or scrolling to the top of the file.
Originally committed to SVN as r4677.
2010-07-13 05:29:08 +00:00
Thomas Goyne 4a8abae3a3 Kill options.h and options.cpp, which have been empty for a while
Originally committed to SVN as r4676.
2010-07-12 21:49:48 +00:00
Thomas Goyne 9d03e282ea Rewrite the recombine lines algorith to add support for arbitrary selections rather than requiring that each split line be fixed individually.
Originally committed to SVN as r4675.
2010-07-12 07:10:40 +00:00
Thomas Goyne 7e93d78d3a Fix crash when ActiveLine is NULL while video is loaded.
Originally committed to SVN as r4674.
2010-07-12 07:10:34 +00:00
Thomas Goyne 81b75d9f55 Significantly speed up AssLimitToVisibleFilter::ProcessSubs
Originally committed to SVN as r4673.
2010-07-11 03:31:33 +00:00
Thomas Goyne ab27440853 Fix comment in vfr.cpp
Originally committed to SVN as r4672.
2010-07-11 03:31:28 +00:00
Thomas Goyne 002aad0b29 Don't call CompressForStack on copied AssFiles as the parsed data isn't copied in the first place.
Originally committed to SVN as r4671.
2010-07-11 03:31:19 +00:00
Thomas Goyne 4897f35dfc When deleting the last row of the grid, select the new last row rather than nothing.
Originally committed to SVN as r4670.
2010-07-09 07:31:56 +00:00
Thomas Goyne c40aa7080a Eliminate almost all uses of AssFile::top.
Originally committed to SVN as r4669.
2010-07-09 07:31:48 +00:00
Thomas Goyne 5e22a0f151 Save selection over undo/redo.
Originally committed to SVN as r4668.
2010-07-09 07:31:43 +00:00
Thomas Goyne 2e5dc176db Rewrite Undo/Redo code
Make the undo and redo stacks non-static members of AssFile, making it
theoretically possible to have multiple open AssFiles with working undo.

Slightly improve tracking of whether the file is modified: saving,
making a change, then undoing the change now results in the file being
shown as unmodified as with most programs with undo.

Add basic undo coalescing support.

Originally committed to SVN as r4667.
2010-07-09 07:31:34 +00:00
Thomas Goyne 518e78ac6f SSA doesn't have a layer field
Originally committed to SVN as r4666.
2010-07-08 07:44:21 +00:00
Thomas Goyne 5c976dc0a0 Make AssDialogue::GetData ~50% faster
Originally committed to SVN as r4665.
2010-07-08 07:15:04 +00:00
Thomas Goyne 1da57a4be5 Make AssStyle::Clone ~15 times faster.
Originally committed to SVN as r4664.
2010-07-08 07:14:55 +00:00
Thomas Goyne a59d2a8e2e Fix 64-bit compilation errors
Originally committed to SVN as r4663.
2010-07-08 04:50:46 +00:00
Thomas Goyne acba2c6b63 Rewrite VFR handling in Aegisub.
Kill vfr.h and vfr.cpp and use the libaegisub versions of them instead.

Rather than the globals VFR_Input and VFR_Output, everything related to
frame rate is now part of the video context. Most things which used to
use VFR_Output now call VideoContext::TimeAtFrame etc.; video providers,
rather than modifying VFR_Input directly, now have getters for their
frame rates which VideoContext calls. Read-only public access to
VFR_Input and VFR_Output are still provided (hopefully temporarily) for
a few things which were awkward to do through VideoContext.

The Avisynth provider now might correctly handle VFR MKVs which can be
opened with DirectShowSource but not DSS2.

Rework keyframe handling as well, so that it continues to match the vfr
handling in design and implementation.

Originally committed to SVN as r4662.
2010-07-08 04:29:04 +00:00
Thomas Goyne 9322f95071 Rewrite vfr.cpp in libaegisub with tests. Not yet used by Aegisub itself.
Originally committed to SVN as r4661.
2010-07-07 05:24:16 +00:00
Thomas Goyne 929fa83dd9 Move the bulk of TextFileWriter's logic to libaegisub.
Originally committed to SVN as r4660.
2010-07-07 02:41:46 +00:00
Thomas Goyne 02237f2a7a Make the std::string overloads of IconvWrapper::Convert significantly faster
Originally committed to SVN as r4659.
2010-07-07 02:41:40 +00:00
Thomas Goyne 5ed8bf89f6 Fix gcc build errors
Originally committed to SVN as r4658.
2010-07-06 19:33:09 +00:00
Thomas Goyne d7ad7e861f Fix occasional truncation problems with Windows-1258
Originally committed to SVN as r4657.
2010-07-06 19:23:16 +00:00
Thomas Goyne 6623239682 Work around BOM-related issues with UTF-32 and UTF-16 with unspecified byte order
Originally committed to SVN as r4656.
2010-07-06 19:23:10 +00:00
Thomas Goyne ee4c5dee0b Remove charsets which libiconv does not support from charsets.def
Originally committed to SVN as r4655.
2010-07-06 19:23:01 +00:00
Thomas Goyne 2c2dc19f4f Update the time boxes in the video display when video is first loaded
Originally committed to SVN as r4650.
2010-06-30 06:39:27 +00:00
Thomas Goyne 65d40e2408 Fix minor error in vfr.cpp: lines which end exactly on a frame's start time are not visible on that frame.
Originally committed to SVN as r4649.
2010-06-30 06:29:27 +00:00
Thomas Goyne be1ed9e672 Make visual tools pass around iterators for everything related to visual features rather than a mix of pointers and indices, and clean up feature creation. Fixes a large pile of selection-related bugs.
Originally committed to SVN as r4648.
2010-06-30 06:29:14 +00:00
Thomas Goyne 8bd5b16699 Fix bad lengths for utf-8 strings in text_file_writer.cpp
Originally committed to SVN as r4647.
2010-06-30 01:18:35 +00:00
Niels Martin Hansen ce4babb192 Update table.copy_deep function to correctly handle self-referencing tables and tables with circular references. Doesn't handle tables with meta-tables overriding regular field get/set behaviour but that isn't intended either way. Also add a test of this.
Originally committed to SVN as r4645.
2010-06-30 00:36:25 +00:00
Niels Martin Hansen 816b12cec6 Fix selection indexes returned from Auto4 Lua macros to be zero-based instead of one-based. Updates #1219.
Originally committed to SVN as r4643.
2010-06-29 23:14:46 +00:00
Thomas Goyne cac536fc80 On Windows, send debug logging to the debugger rather than stdout.
Originally committed to SVN as r4642.
2010-06-29 23:08:42 +00:00
Niels Martin Hansen c0b22973fa Change subs edit box text-formatting buttons to use 16x16 images instead of 24x24 images. Also change the buttons to fully auto-size instead of fixing one or both dimensions.
Originally committed to SVN as r4641.
2010-06-29 18:33:22 +00:00
Niels Martin Hansen f07c8f031e Clean up About box:
Update year to include 2010 (a little late for that...)
Fix bitmap not showing up.
Make control creation and layout simpler.

Originally committed to SVN as r4640.
2010-06-29 17:48:17 +00:00
Niels Martin Hansen 3589353641 Add some real exception catching to our wxApp class, now we should be able to get decent messages from all exceptions thrown inside event handlers.
Originally committed to SVN as r4639.
2010-06-29 10:31:15 +00:00
Niels Martin Hansen 201f654ca9 Fix option data type for the version check auto check toggle, avoid insane exception when closing version check result dialogue.
Originally committed to SVN as r4638.
2010-06-29 10:06:19 +00:00
Niels Martin Hansen 37cd66c950 Make the cool stuff in r4606 a little less cool, but apparently wxGtk doesn't let you freeze invisible windows and get away with it, so we'll have to live with a little extra flicker.
Originally committed to SVN as r4636.
2010-06-28 22:15:40 +00:00
Grigori Goronzy 6589d258ce Merge r4634.
Originally committed to SVN as r4635.
2010-06-28 11:14:00 +00:00
Thomas Goyne b0afd8659c Frame data does need to be uploaded to the video card on every change as the subtitles and video frame are not seperate.
Originally committed to SVN as r4633.
2010-06-28 07:39:42 +00:00
Thomas Goyne a3ff2cc746 Switch visual tools over to using GetSelectedSet for everything
Originally committed to SVN as r4632.
2010-06-28 07:39:36 +00:00
Thomas Goyne 5588cda268 Significantly revamp how visual tools interact with the rest of the program
Rather than just have a single Refresh method that gets called whenever
something happens that could possibly be of interest to the visual
tools, add seperate methods for signaling frame number changes and
changes to the file, and use the new SelectionController stuff for other
things that used to merit a Refresh. This eliminates a large amount of
redundant reparsing of lines which happened on paint, as well as a large
number of redundant repaints.

Frame data is now only uploaded to the video card when the frame number changes
rather than when anything at all changes, slightly improving performance when
using mesa's software opengl implementation.

Vector clip and drag tools now do a slightly better job of not
discarding the user's selection for no apparent reason, and strange
selection behavior from clicking on visual features should now be
entirely fixed.

Everything but the constructor and toolbar event handler in the visual
tool implementations are now private.

Originally committed to SVN as r4631.
2010-06-28 07:13:15 +00:00
Thomas Goyne d30326b20d Don't create the default visual tool until video is loaded so that visual tools can assume video is loaded.
Originally committed to SVN as r4630.
2010-06-28 07:13:08 +00:00
Thomas Goyne dfb844b6ab Make lines_added and lines_removed in SelectionListener::OnSelectedSetChanged mutually exclusive.
Originally committed to SVN as r4629.
2010-06-28 07:13:03 +00:00
Thomas Goyne 574a247559 Fix segfault caused by AssExportFilterChain not getting initialized.
Originally committed to SVN as r4628.
2010-06-28 07:12:57 +00:00
Thomas Goyne 894d55d7a2 Add overload of GetSelectedSet that just returns the selection
Originally committed to SVN as r4627.
2010-06-28 07:12:52 +00:00
Thomas Goyne 9ff34fb00d Revert r4612: "Remove redundant handler for ctrl-clicking the grid", as I completely misread what the code was doing.
Originally committed to SVN as r4626.
2010-06-28 07:12:36 +00:00
Amar Takhar 743997b266 Make the logging for charset detection more useful by print the detected character set(s)
Originally committed to SVN as r4625.
2010-06-27 20:03:38 +00:00
Thomas Goyne af5d34590a Sort styles after lowercasing them rather than before so they actually get in the right order.
Originally committed to SVN as r4624.
2010-06-27 07:53:36 +00:00
Thomas Goyne cd0378519d Add float overload to VariableData and use it in visual_tool.cpp rather than pretending that float* and double* are the same thing.
Originally committed to SVN as r4623.
2010-06-27 07:53:31 +00:00
Thomas Goyne 75d9ecd14a Fix selection issues with visual tools
Originally committed to SVN as r4622.
2010-06-27 07:53:25 +00:00
Thomas Goyne 7f7771bcdc Remove unused variables
Originally committed to SVN as r4621.
2010-06-27 07:53:20 +00:00
Thomas Goyne caba46bf0b Remove features for deleted control points
Originally committed to SVN as r4620.
2010-06-27 07:53:14 +00:00
Thomas Goyne dc2836e9e5 Fix bug where features for the wrong line were displayed in the rectangular clip tool
Originally committed to SVN as r4619.
2010-06-27 07:53:08 +00:00
Thomas Goyne 44888bb008 Reenable Start/Cancel buttons in the font collector dialog even if the collection fails.
Originally committed to SVN as r4618.
2010-06-27 05:05:44 +00:00
Thomas Goyne 7c4bf32566 Don't allow deselection of the only selected line
Originally committed to SVN as r4617.
2010-06-27 04:55:19 +00:00
Thomas Goyne 11b30c8bb4 When the active line is deselected via ctrl-clicking, set the active line to a line which is selected.
Originally committed to SVN as r4616.
2010-06-27 04:55:14 +00:00
Thomas Goyne 74d887a4c4 Add ctrl-shift-click block selection adding
Originally committed to SVN as r4615.
2010-06-27 04:55:08 +00:00
Thomas Goyne 2f80c6b26a Update lastRow when rows are ctrl-clicked
Originally committed to SVN as r4614.
2010-06-27 04:55:03 +00:00
Thomas Goyne a47080137d Repaint rows when they are added or removed from the selection
Originally committed to SVN as r4613.
2010-06-27 04:54:58 +00:00
Thomas Goyne 4db892935c Remove redundant handler for ctrl-clicking the grid
Originally committed to SVN as r4612.
2010-06-27 04:54:52 +00:00
Thomas Goyne 934da32931 Select the first line when opening a file
Originally committed to SVN as r4611.
2010-06-27 04:54:46 +00:00
Thomas Goyne 5598b787c7 Fix gcc build errors
Originally committed to SVN as r4610.
2010-06-27 03:24:03 +00:00
Niels Martin Hansen c5c306f90c Make SubtitlesGrid::InsertLine() smarter about updating maps, saves quite a lot of time on big insertions.
Originally committed to SVN as r4609.
2010-06-26 15:49:05 +00:00
Niels Martin Hansen 22de62de77 Add selection change notification batching to the grid. This doesn't seem to actually improve performance, it might rather be line inserts that are glacial.
Originally committed to SVN as r4608.
2010-06-26 15:40:10 +00:00
Niels Martin Hansen 4c604931aa Fix mistake in DummySelectionController template class, should make G++ a little happier.
Originally committed to SVN as r4607.
2010-06-26 14:26:38 +00:00
Niels Martin Hansen 52627a0fc5 Show splash screen much earlier, and show main window much later. Also be smoother about the display of the main window, avoid flickery relayouting. Remove splash screen "click to close" behaviour as well as timed close, just hide it when the main window has been shown.
Originally committed to SVN as r4606.
2010-06-26 14:16:59 +00:00
Niels Martin Hansen c15f0ada62 Be more sure the audio display's grid pointer is initialised properly. Should fix audio loading.
Originally committed to SVN as r4605.
2010-06-26 14:09:15 +00:00
Niels Martin Hansen c9c2fa6404 Move "active line" responsibility to the grid. There are at the very least a bunch of redraw issues that need to be sorted out, probably much worse things are hiding.
Originally committed to SVN as r4604.
2010-06-26 11:32:16 +00:00
Niels Martin Hansen c4a27da4fc Change the grid to use more sensible maps to keep track of index/object mappings for subtitle lines, and follow the SelectionController model. (Hopefully the new maps can also give slightly better performance.)
Try to keep the original API intact. Some redundant or unused functions in SubtitleGrid were removed. The LoadFromAss() function was renamed to UpdateMaps() since that was its real purpose. (Note that SubtitleGrid now has an UpdateMaps() function that overshadows BaseGrid::UpdateMaps(), but SubtitleGrid::UpdateMaps() calls the hidden function. They are not virtual.)
This does not yet fix visual tool feature selection.
Generally, things just feel more broken still. Further work will fix things.

Originally committed to SVN as r4603.
2010-06-26 07:26:27 +00:00
Niels Martin Hansen 70d41d31b2 Remove the SelectionChangeSubscriber mechanism from the grid and implement some basic selection change notification through SelectionController.
Change SelectionListener interface so it receives the set of lines added and removed from selection, instead of just the complete new selection.
Update VisualTool<> to use SelectionListener to receive selection change notifications.

This change (temporarily, I hope) breaks feature selection in visual drag mode, when changing selection via the grid. This is caused by the grid selection change first clearing the entire selection, which sends a separate notification about selection clear. This causes the last visual feature to be deselected, and then the visual tool base reselects the active line, causing a new notification for selection to be sent. The active line happens to be the newly clicked line, and the selection notification enters during the externalChange guard being set, and is then ignored for feature update purposes. When control returns to the original SelectRow call in the grid, the line to be selected has already been selected and then nothing happens.
The best fix is to avoid two notifications being required to deselect all then reselect one line in the first place, so making the grid selection handling saner is the best fix.

Originally committed to SVN as r4602.
2010-06-26 04:38:02 +00:00
Niels Martin Hansen e60d476f4a Turn BaseGrid into a do-nothing SelectionController<AssEntry>.
Originally committed to SVN as r4601.
2010-06-25 01:49:12 +00:00
Niels Martin Hansen 1a626bb14e Add SelectionController adapted from ADR branch, now templatized on the item data type. Intentionally not making this a merge, the selection controller needs to logically come from trunk into ADR, even if it was added there originally.
Originally committed to SVN as r4600.
2010-06-25 01:44:29 +00:00
Niels Martin Hansen 4f0982c7d5 "Intelligently" append dialogue lines to the end of the Events section instead of to the absolute end of file. This will make appending lines slower if attachments are present, but much safer. Updates #1211.
Originally committed to SVN as r4598.
2010-06-24 20:48:49 +00:00
Niels Martin Hansen 6b36d730af Fix attachments dialogue infinite looping if closed with attachments present. Updates #1212.
Originally committed to SVN as r4596.
2010-06-24 20:43:23 +00:00
Niels Martin Hansen a71b83f61c Add some docstrings to Auto4 LuaAssFile class.
Originally committed to SVN as r4595.
2010-06-24 19:32:23 +00:00
Niels Martin Hansen eec24ce562 Remove empty attachments sections when the Attachments dialogue is closed. Updates #1212.
Originally committed to SVN as r4593.
2010-06-24 19:14:13 +00:00
Thomas Goyne e2a42ccb6c If undo/redo would result in there being no lines selected, select the last line
Originally committed to SVN as r4592.
2010-06-24 07:16:21 +00:00
Thomas Goyne d8e8f9eb68 Fix bad option names
Originally committed to SVN as r4591.
2010-06-24 06:26:44 +00:00
Niels Martin Hansen 3b1189a8b2 Make attachments dialogue set undo points. Updates #1216.
Originally committed to SVN as r4590.
2010-06-24 06:13:51 +00:00
Niels Martin Hansen 7521d2d29d Fix AssAttachment::Clone() not being const causing it to not override AssEntry::Clone(), and make sure the group field is also copied during cloning. Updates #1216.
Originally committed to SVN as r4589.
2010-06-24 06:13:06 +00:00
Amar Takhar 8e912e3ff6 Include <algorithm> to get std::for_each
Originally committed to SVN as r4587.
2010-06-24 01:51:18 +00:00
Amar Takhar 46da1e538d Merge r4450 to unbreak non precompiled header building.
Originally committed to SVN as r4586.
2010-06-24 01:50:16 +00:00
Amar Takhar b5ed0d6c8c wrap config.h include under LAGI and put -DLAGI when compiling to ensure it's only included when building libaegisub.
Originally committed to SVN as r4585.
2010-06-24 01:49:48 +00:00
Thomas Goyne 4f53324ca3 Add the name of the option to OptionValue's error messages
Originally committed to SVN as r4582.
2010-06-24 01:24:49 +00:00
Thomas Goyne e2f8e69612 Beat some semblance of sanity into ass_override and related files. Fixes a pile of crashes when tags are missing expected parameters.
Originally committed to SVN as r4581.
2010-06-24 01:24:43 +00:00
Thomas Goyne c64e764648 Make AssFixStylesFilter an order of magnitude faster
Originally committed to SVN as r4580.
2010-06-24 01:24:37 +00:00
Thomas Goyne d1f36bdc43 Eliminate unnessesary character set conversions in TextFileWriter
Originally committed to SVN as r4579.
2010-06-24 01:24:32 +00:00
Thomas Goyne 53fb43c7e6 Fix significantly incorrect handling of pretty much everything in AssTransformFramerateFilter and make it better at deciding when it actually needs to do anything.
Originally committed to SVN as r4578.
2010-06-24 01:24:26 +00:00
Thomas Goyne 627d423017 Fix memory leak in VariableData
Originally committed to SVN as r4577.
2010-06-24 01:24:21 +00:00
Thomas Goyne cf9eef80ab Fix memory leak in AssLimitToVisibleFilter
Originally committed to SVN as r4576.
2010-06-24 01:24:15 +00:00
Thomas Goyne 2b47f34e76 Fix a pile of actual memory leaks
Originally committed to SVN as r4575.
2010-06-24 01:24:09 +00:00
Thomas Goyne cbf201ab86 Fix some "leaks" of things that should actually be alive for the lifetime of the program to reduce noise.
Originally committed to SVN as r4574.
2010-06-24 01:24:02 +00:00
Thomas Goyne 50d1b3ed2d Rewrite the ass parsing code in visual_tool.cpp, eliminating a lot of repeated code and making it better at finding the correct values.
Originally committed to SVN as r4573.
2010-06-24 01:23:43 +00:00
Amar Takhar 4bb8e8ea22 Merge r4550: remove wx headers.
Originally committed to SVN as r4572.
2010-06-23 13:20:24 +00:00
Thomas Goyne a40b9c4b91 Simplify and speed up AssFile's copy constructor and assignment operator.
Originally committed to SVN as r4565.
2010-06-22 00:03:33 +00:00
Thomas Goyne 7958f85ef3 Remove pointless call to AssDialogue::SetEntryData in AssFile::CompressForStack; makes pushing files onto the undo stack about 50% faster
Originally committed to SVN as r4564.
2010-06-22 00:03:28 +00:00
Thomas Goyne 5ed401d23d Use vector<int> instead of vector<bool> for tracking which rows are selected. Makes undo roughly twice as fast.
Originally committed to SVN as r4563.
2010-06-22 00:03:22 +00:00
Thomas Goyne 358b2734da Fix crash when pasting over
Originally committed to SVN as r4562.
2010-06-22 00:03:16 +00:00
Thomas Goyne 8756dc1800 Add copy constructor to AssDialogue and use it in Clone
Originally committed to SVN as r4561.
2010-06-22 00:03:11 +00:00
Thomas Goyne fe9aa56d10 Remove pointless IntSwap function from utils.h
Originally committed to SVN as r4560.
2010-06-22 00:03:03 +00:00
Niels Martin Hansen e5eb91a269 * Fix bug in SRT parsing: In some cases a blank line too much is counted.
* Make SRT no longer coalesce line breaks, Aegisub will now write SRT files with blank lines in subtitles.
Updates #1213.

Originally committed to SVN as r4558.
2010-06-20 19:42:13 +00:00
Niels Martin Hansen 2fc8420ee9 Rewrite SRT parsing to use more flexible algorithm, allow more freeform files. Updates #1213.
Originally committed to SVN as r4557.
2010-06-20 19:07:43 +00:00
Niels Martin Hansen 4c01f9a36b Declare a SubtitleFormatParseError exception, its ancestry might not be final yet. (I'm thinking it needs a file format error class as base, which in turn inherits from agi::InvalidInput.) Updates #1213 in preparation for the actual patch.
Originally committed to SVN as r4556.
2010-06-20 19:04:58 +00:00
Niels Martin Hansen 5bd0981a72 Make AssFile::Load catch agi::Exception and report it properly. The catching of reading/parsing errors probably doesn't really belong there, but just making things work for now. Updates #1213 in preparation for the actual patch.
Originally committed to SVN as r4555.
2010-06-20 19:03:05 +00:00
Thomas Goyne 363198b2fa Add missing config:: in windows-specific code and move appname setting back before config file loading
Originally committed to SVN as r4549.
2010-06-18 07:23:17 +00:00
Thomas Goyne cfa1758d2a Improve the handling of selected features in the vector clip tool and moderately improve performance
Originally committed to SVN as r4548.
2010-06-18 07:14:23 +00:00
Thomas Goyne 227f6b1d69 In the vector clip tool, draw the line to be inserted between the right points when there are multiple paths in the clip
Originally committed to SVN as r4547.
2010-06-18 07:14:17 +00:00
Thomas Goyne 6830fbe1ba Fix bug where the color spectrum sometimes would not repaint when it changed
Originally committed to SVN as r4546.
2010-06-18 07:14:11 +00:00
Thomas Goyne 3376a2d76a Always repaint the video display when the mouse enters it if visual tools are only shown on mouseover
Originally committed to SVN as r4545.
2010-06-18 07:14:06 +00:00
Thomas Goyne 961365dfff Make rotation and scale tools set all selected lines rather than just the active one
Originally committed to SVN as r4544.
2010-06-18 07:14:00 +00:00
Thomas Goyne afec51c4ed Include config.h in lagi_pre.h so that the conditional inclusion of sys/time.h actually works
Originally committed to SVN as r4543.
2010-06-18 06:59:55 +00:00
Amar Takhar 8ee9737b6f Move mru,opt objects out of the main singleton and into a global config:: namespace. With exception of the log object these are initialised during startup to ensure they are initalised after the log object.
Originally committed to SVN as r4538.
2010-06-18 02:23:27 +00:00
Thomas Goyne 75bd20a6dd Fix the rest of the build errors when not using precompiled headers
Originally committed to SVN as r4530.
2010-06-17 00:23:44 +00:00
Thomas Goyne 61138e9b5d Add configure check for sys/time.h
Originally committed to SVN as r4529.
2010-06-16 07:49:35 +00:00
Thomas Goyne d6b68dfb25 Kill VideoContext::Refresh's arguments; one has never actually done anything and the other is the same in all places where Refresh is called.
Originally committed to SVN as r4528.
2010-06-16 06:20:39 +00:00
Thomas Goyne faf2e562cd Rename FrameMain::SubsBox to SubsGrid for consistency with the rest of Aegisub.
Originally committed to SVN as r4527.
2010-06-16 06:20:33 +00:00
Thomas Goyne 43f3502043 Eliminate double inclusion of frame_main.h and remove #pragma once
Originally committed to SVN as r4526.
2010-06-16 06:20:27 +00:00
Thomas Goyne 392ce99083 Kill AssDialogue::UpdateData, which last had a non-empty body 3.5 years ago
Originally committed to SVN as r4525.
2010-06-16 06:20:19 +00:00
Thomas Goyne 8086fae633 Document AssFile's public methods
Originally committed to SVN as r4524.
2010-06-16 06:20:14 +00:00
Thomas Goyne 166c95975b Templatize VariableData's getters and setters
Originally committed to SVN as r4523.
2010-06-16 06:20:06 +00:00
Thomas Goyne c7ea710267 Use VideoContext::JumpToTime where appropriate
Originally committed to SVN as r4522.
2010-06-16 06:19:49 +00:00
Niels Martin Hansen 0e155767ae Add missing includes to MSVC libaegisub project
Originally committed to SVN as r4519.
2010-06-14 21:35:57 +00:00
Karl Blomster fec1f47501 Make configure not break on testing for newer ffmpeg's by hardcoding a #define into the test program. This is pretty dumb but I don't know about autotools to fix it properly and it's not like it matters. Why is it compiling C code as extern "C" with a C++ compiler, anyway?
Originally committed to SVN as r4516.
2010-06-14 21:11:01 +00:00
Karl Blomster 0061a58210 Fix the ffmpeg configure test so it doesn't try to use a function that has been deprecated for well over a fucking year and a half (since before 0.5, in fact).
Originally committed to SVN as r4515.
2010-06-14 20:55:35 +00:00
Thomas Goyne 5338a60cdb Fix compilation errors when not using precompiled headers
Originally committed to SVN as r4511.
2010-06-14 19:26:27 +00:00
Amar Takhar 340cc1d7f1 Fix compilation with precompiled headers disabled.
Originally committed to SVN as r4504.
2010-06-14 18:02:58 +00:00
Amar Takhar 6989daa086 Merge r4497 to unbreak the build
Originally committed to SVN as r4498.
2010-06-13 06:21:43 +00:00
Amar Takhar 461616a47f Hook up default_path.json to the build
Originally committed to SVN as r4491.
2010-06-13 01:43:19 +00:00
Amar Takhar f497144525 Fix syntax errors
Originally committed to SVN as r4490.
2010-06-13 01:42:50 +00:00
Amar Takhar d8a9bac4b0 Handle the lack of a pre-existing config file.
Originally committed to SVN as r4489.
2010-06-13 01:29:32 +00:00
Karl Blomster 0a590aea04 Add the __STDC_CONSTANT_MACROS define to the ffms2 CFLAGS. Fixes compilation with newer ffmpeg's.
Originally committed to SVN as r4488.
2010-06-12 14:52:13 +00:00
Karl Blomster ea6dac551e Update ffms2 to r312. Fixes a bunch of rather critical bugs.
Originally committed to SVN as r4487.
2010-06-12 14:51:33 +00:00
Amar Takhar 60b9e5dee6 Define _X86_ so univeralchardet builds properly, this eventually needs to be fixed to use the autodetection code already in configure.in
Originally committed to SVN as r4486.
2010-06-12 07:04:46 +00:00
Amar Takhar cbdb906da0 Build universalchardet before libaegisub.
Originally committed to SVN as r4485.
2010-06-12 07:04:12 +00:00
Amar Takhar b1a0142c93 Fix r4483, close conditionals (i was a bit zealous in cutting.)
Originally committed to SVN as r4484.
2010-06-12 06:51:25 +00:00
Amar Takhar 74905e5f4d FFMPEG A/V providers were removed a long time ago, also add OSS as the alternative global before PA.
Originally committed to SVN as r4483.
2010-06-12 05:50:27 +00:00
Amar Takhar cd62441b70 Fix some status outputs, updates #1170, requires merging
Originally committed to SVN as r4482.
2010-06-12 05:48:02 +00:00
Amar Takhar c95eb3fcce universalchardet is no longer optional.
Originally committed to SVN as r4481.
2010-06-12 05:29:01 +00:00
Karl Blomster 62b63ca5b6 Fix a missing property sheet in the libaegisub vcproj
Originally committed to SVN as r4480.
2010-06-11 23:45:23 +00:00
Thomas Goyne ccdc863496 Fix copy/paste error in r4244
Originally committed to SVN as r4479.
2010-06-11 02:25:40 +00:00
Thomas Goyne 40da39e1c8 Make updating the subtitle preview window roughly 50% faster
Originally committed to SVN as r4478.
2010-06-11 02:25:34 +00:00
Thomas Goyne 4ef9d41601 Don't require that subtitles passed to SubtitlesProvider::LoadSubtitles be a copy that can be deleted
Originally committed to SVN as r4477.
2010-06-11 02:25:28 +00:00
Thomas Goyne 72cbf4939f Fix flickering in color picker
Originally committed to SVN as r4476.
2010-06-11 02:25:23 +00:00
Thomas Goyne 8c8e668758 Only include libresrc.h once rather than once per file packed
Originally committed to SVN as r4475.
2010-06-11 02:25:18 +00:00
Thomas Goyne de974fb723 Cast the correct parameter when ICONV_POSIX is defined
Originally committed to SVN as r4474.
2010-06-11 02:25:13 +00:00
Thomas Goyne 612b583e2b Move cajun includes into the cpp files rather than headers so that only files in libaegisub include them.
Originally committed to SVN as r4473.
2010-06-11 02:25:07 +00:00
Thomas Goyne c290b6b811 Silence some prefast warnings
Originally committed to SVN as r4472.
2010-06-11 02:24:59 +00:00
Amar Takhar bc40eeb827 Don't use a wxChar for exception messages.
Originally committed to SVN as r4471.
2010-06-10 04:52:47 +00:00
Amar Takhar 2c703a3baa Remove instances of ^USER and swap them with ^CONFIG, ^USER will still exist but won't be in the default config. Also add 'last opened' paths.
Originally committed to SVN as r4470.
2010-06-09 23:45:05 +00:00
Thomas Goyne d278c99652 Make the color picker dialog update the color instantly when used from the style editor, rather than waiting for the dialog to be closed, and revert if the dialog is cancelled. Updates #355.
Originally committed to SVN as r4469.
2010-06-09 08:14:50 +00:00
Amar Takhar ea577f8245 Re-work types.h for the second time, this is most likely not the final version, it's difficult to figure out a solution that makes the most sense when most of the code hasn't been written/moved over yet.
Originally committed to SVN as r4468.
2010-06-09 02:07:43 +00:00
Amar Takhar 9a3e1c58f0 Use an std::string for now when printing messages.
Originally committed to SVN as r4467.
2010-06-09 02:06:37 +00:00
Amar Takhar 3516b4ce74 Add a vsprops file to bring in include files for iconv, and in the future other contrib headers.
Originally committed to SVN as r4466.
2010-06-09 01:11:38 +00:00
Amar Takhar 931cc7f461 * Remove all instances of wxLogDebug and replace them with LOG_W, LOG_D, LOG_E and LOG_D_IF as required.
* Add LOG_(D|W|I)_IF for conditional logging.

Originally committed to SVN as r4465.
2010-06-08 23:21:39 +00:00
Amar Takhar 653ce8b13d Fix misspelled option name
Originally committed to SVN as r4464.
2010-06-08 12:07:56 +00:00
Thomas Goyne f361d1a67b Add support for rendering vector clips with multiple 'm' commands.
Originally committed to SVN as r4463.
2010-06-08 06:09:19 +00:00
Thomas Goyne c7da8d9f61 Store OptionValues used by VideoContext
Originally committed to SVN as r4462.
2010-06-08 06:09:13 +00:00
Thomas Goyne a12ec002c6 Fix crash when framestepping caused by an incorrect option name.
Originally committed to SVN as r4461.
2010-06-08 06:09:08 +00:00
Thomas Goyne ae099a3363 Vector clip tool always needs to repaint in modes 1-4.
Originally committed to SVN as r4460.
2010-06-08 06:09:02 +00:00
Thomas Goyne b867eec7f3 Make the vector clip visual tool use vertex arrays rather than immediate mode to render the spline
Originally committed to SVN as r4458.
2010-06-07 07:24:43 +00:00
Thomas Goyne fae2af36fc Only draw the line to the cursor in the rotatez tool if the cursor is over the video display.
Originally committed to SVN as r4457.
2010-06-07 07:24:37 +00:00
Thomas Goyne 83e35ac63d Only rerender the video display on mouse events if display will actually change
Originally committed to SVN as r4456.
2010-06-07 07:24:30 +00:00
Thomas Goyne 1b27b77ac3 Add glext.h to the precompiled header
Originally committed to SVN as r4455.
2010-06-07 07:24:25 +00:00
Thomas Goyne 303f4990a5 Update glext.h to a version that isn't four years old
Originally committed to SVN as r4454.
2010-06-07 07:24:18 +00:00
Amar Takhar ad0241e3df Add default_menu.json for safe keeping, I'm not sure if this is the final format.. whatever it ends up being this will be close.
Originally committed to SVN as r4453.
2010-06-07 06:40:19 +00:00
Amar Takhar d8f5d3bff0 Sigh, revert r4451, I checked this before I comitted but the reason it worked was due to a typo (in this case failure was what i was looking for): to do the const check the values must be initialised otherwise (all/most?) compilers will ignore keywords in a signature check unless you actually try to give it a real value.
Originally committed to SVN as r4452.
2010-06-06 03:24:01 +00:00
Amar Takhar 576d7dd8cc Unlike the other tests the iconv const check is just looking for the actual function signature it doesn't use it, we don't need to initialise anything..
Originally committed to SVN as r4451.
2010-06-06 03:11:41 +00:00
Amar Takhar 059a554d95 Include ../config.h to get AGI_ICONV_CONST from acconf.h.
Originally committed to SVN as r4450.
2010-06-06 03:01:04 +00:00
Thomas Goyne b49ea0af6f Conditionally const_cast source pointers passed to iconv to avoid invalid cast warnings
Originally committed to SVN as r4449.
2010-06-06 02:53:02 +00:00
Amar Takhar aa895f9a26 Follow previous conventions and change ICONV_CONST to AGI_ICONV_CONST as wx' defines ICONV_CONST.
Originally committed to SVN as r4448.
2010-06-06 02:46:36 +00:00
Amar Takhar b249faf6ce Use uintptr_t which is guaranteed to fit a pointer unlike int.
Originally committed to SVN as r4447.
2010-06-06 02:41:04 +00:00
Amar Takhar 4d9ff8d626 * Set ICONV_CONST to 1 if iconv is const or not, aparrantly this differs between versions (annoying!)
* Remove -fpermissive, this was required long ago but now there are only a couple of trivial fixes to make.

Originally committed to SVN as r4446.
2010-06-06 02:40:29 +00:00
Amar Takhar 2aeb0bdffb Sigh, -ansi isn't the solution since other compilers may define 'unix', for now the namespace has been called u_nix, hopefully this is safe but who knows...
Originally committed to SVN as r4445.
2010-06-06 02:32:50 +00:00
Amar Takhar acc9e53714 Remove stray ;'s
Originally committed to SVN as r4444.
2010-06-05 23:44:07 +00:00
Amar Takhar b01855ecbd Add -ansi to CPPFLAGS which stops GCC from being stupid and defining unprefixed pp macros (such as "unix"), while i'm here add -pedantic
Originally committed to SVN as r4443.
2010-06-05 23:42:49 +00:00
Thomas Goyne 3fbdf5b7e5 Make the vector clip tool mask based on winding number so that the masking matches VSFilter's clipping.
Originally committed to SVN as r4442.
2010-06-05 22:40:16 +00:00
Niels Martin Hansen ff34a08afd Make update checker use a compile-time list of tags to determine the appropriate updates to list, instead of a hard-coded OS check. The list of accepted tags is defined by the UPDATE_CHECKER_ACCEPT_TAGS macro. If this macro is undefined, the update checker will still compile, but will reject all updates with tags.
Updates #1132.

Originally committed to SVN as r4440.
2010-06-05 20:16:30 +00:00
Amar Takhar 2d9eee4ea9 Add struct tm which mimics the struct on unix. Also setup the types file into seperate namespaces for clarity. The corrosponding change to windows/utils.cpp snuck into r4437.
Originally committed to SVN as r4438.
2010-06-05 18:17:55 +00:00
Amar Takhar 1a7052040a Remove useless whitespace, I need to setup msvc to disable all it's auto-indentation features which are terrible.
Originally committed to SVN as r4437.
2010-06-05 18:16:16 +00:00
Amar Takhar 1c3f6ed111 Remove rpath hardcoding it's no longer needed.
Originally committed to SVN as r4434.
2010-06-04 13:04:50 +00:00
Amar Takhar abe6c734f4 Add dependency on iconv.
Originally committed to SVN as r4433.
2010-06-04 13:01:31 +00:00
Amar Takhar 083f1175a6 Remove iconv library dependency as this is brought in from libaegisub.
Originally committed to SVN as r4432.
2010-06-04 12:59:49 +00:00
Thomas Goyne eff4dcf404 Fix might-as-well-be-inifinite loop in VisualToolVectorClip
Originally committed to SVN as r4431.
2010-06-04 03:08:10 +00:00
Thomas Goyne 38d922c57a Remove time-consuming reparsing of the line in VisualTool::SetOverride
Originally committed to SVN as r4430.
2010-06-04 03:08:04 +00:00
Thomas Goyne 88f6bca9d7 Make ASS tag parsing ~50% faster.
Originally committed to SVN as r4429.
2010-06-04 03:07:58 +00:00
Thomas Goyne f001651865 Replace AssDialogueBlock::GetAsOverride etc. with dynamic_cast
Originally committed to SVN as r4428.
2010-06-04 03:07:52 +00:00
Thomas Goyne fe65f778b1 Don't set the line color for every visual feature as it's always the same
Originally committed to SVN as r4427.
2010-06-04 03:07:46 +00:00
Thomas Goyne 2659b79036 Update the edit box less often during visual tool drags, making drags ~20% faster.
Originally committed to SVN as r4426.
2010-06-04 03:07:41 +00:00
Thomas Goyne 625ce943f5 Cache OptionValue objects used by the video display
Originally committed to SVN as r4425.
2010-06-04 03:07:33 +00:00
Thomas Goyne 3d04db9e90 Fix build error when wx was not built with wxUSE_STL
Originally committed to SVN as r4424.
2010-06-03 20:54:46 +00:00
Thomas Goyne b6d29443a3 Move most character set conversion code to libaegisub and make everything use the new conversion functionality.
Originally committed to SVN as r4423.
2010-06-03 20:32:25 +00:00
Thomas Goyne 7337a11745 Explicitly set the charset to binary when loading subtitles from the video
Originally committed to SVN as r4422.
2010-06-03 20:32:17 +00:00
Thomas Goyne 71300869da Fix order that VisualToolVectorClip's members are initialized
Originally committed to SVN as r4421.
2010-06-03 20:32:10 +00:00
Thomas Goyne ca24f60a7e Fix memory leak when exporting a file fails
Originally committed to SVN as r4420.
2010-06-03 20:32:03 +00:00
Thomas Goyne f064624ecd Simplify charset detection
Originally committed to SVN as r4419.
2010-06-03 20:31:43 +00:00
Amar Takhar 401560b190 Add some debug trace info.
Originally committed to SVN as r4418.
2010-06-03 18:09:00 +00:00
Niels Martin Hansen 709718ffb6 Lesson: Don't code when tired.
Make a complete function call of the notify loop body, instead of some half syntax.

Originally committed to SVN as r4417.
2010-06-03 18:08:23 +00:00
Amar Takhar 1768a8138d Whoops, remove an artifact that remained when debugging: don't delete the message buffer.
Originally committed to SVN as r4416.
2010-06-03 08:32:42 +00:00
Niels Martin Hansen 5e8d5b221b Compiling, but untested, option change notifications. Doesn't seem to affect Aegisub aversely.
Has the limitation that one object can only subscribe once to one option value, but that shouldn't actually be a problem. (One object cannot have two different of its member functions subscribing to one option value.)

Originally committed to SVN as r4415.
2010-06-03 05:07:47 +00:00
Thomas Goyne 90893f1048 Make the capitalization of FFmpegSource in options consistent, as option names are now case-sensitive.
Originally committed to SVN as r4414.
2010-06-03 05:07:10 +00:00
Amar Takhar 2d1bea39cf * Change wxID_CLOSE to wxID_OK
* Destroy the dialogue when closed
 * Don't delete *sink.

Originally committed to SVN as r4413.
2010-06-03 03:07:43 +00:00
Amar Takhar 2e156b8c4f Add a temp stub to dialog_log.cpp to get it building on windows. This still has memory issues which I'll fix along with a new util function to get localtime_r() data on windows+unix.
Originally committed to SVN as r4412.
2010-06-03 01:22:02 +00:00
Amar Takhar 86a3d0792a Move */ up one line so it doesn't catch the closing brace for EmitSTDOUT::log
Originally committed to SVN as r4411.
2010-06-03 01:18:12 +00:00
Amar Takhar 3ba76f196f Commit a bunch of changes msvc wants to make anytime I open the solution: it's driving me nuts.
Originally committed to SVN as r4410.
2010-06-03 01:17:15 +00:00
Amar Takhar 61ee7ce92d Fill in time_log() with code from http://www.suacommunity.com/dictionary/gettimeofday-entry.php <-thanks!
Originally committed to SVN as r4409.
2010-06-03 01:09:41 +00:00
Amar Takhar b40d709924 Add dialog_log.(cpp|h) to the build: It's *very* annoying how msvc decides to randomly write nonsense config settings to the project.
Originally committed to SVN as r4408.
2010-06-03 01:06:05 +00:00
Amar Takhar f6bf25c397 Change the object for windows/log.cpp to log_windows.obj -- I'm starting to dislike msvc more and more, how can people develop using this program?
Originally committed to SVN as r4407.
2010-06-03 01:03:17 +00:00
Amar Takhar 719b7c2281 Add a basic "log window", this will be more polished and useful later on for now it's just something quick and dirty.
There are a few issues to fix:
 * Delete the pointer in frame_main from the modless dialog.
 * Fix string storage in the logging class.
 * Close button doesn't work.

Originally committed to SVN as r4406.
2010-06-02 23:47:39 +00:00
Amar Takhar fc9e01c68a * Forward declare the LogSink global
* Change GetSink() to return a const pointer.

Originally committed to SVN as r4405.
2010-06-02 23:45:51 +00:00
Thomas Goyne 6c13d8f250 Fix merge error in r4401.
Originally committed to SVN as r4403.
2010-06-02 22:54:38 +00:00
Thomas Goyne 9767b715ca Explicitly initialize VisualToolScale's members
Originally committed to SVN as r4402.
2010-06-02 07:22:59 +00:00
Thomas Goyne 7bf9e41526 Document gl_text, fix some minor memory leaks and fix a rendering error that happened only in debug builds.
Originally committed to SVN as r4401.
2010-06-02 07:22:53 +00:00
Thomas Goyne fd00cf9a21 Fix bug where visual tools could leave no lines selected.
Originally committed to SVN as r4400.
2010-06-02 07:22:48 +00:00
Amar Takhar d295ce7b0a Convert a bunch of wxLog* to the new logging method.
Originally committed to SVN as r4399.
2010-06-01 08:21:30 +00:00
Amar Takhar 798e18490d Add windows/log.cpp to the libaegisub project.
Originally committed to SVN as r4398.
2010-06-01 08:19:51 +00:00
Amar Takhar 33011cb5ed Split EmitterSTDOUT into unix/log.cpp and windows/log.cpp, the windows version is commented at the moment.
Originally committed to SVN as r4397.
2010-06-01 08:17:27 +00:00
Amar Takhar 139f675ede Add a return value to LogSink::Subscribe to make msvc happy.
Originally committed to SVN as r4396.
2010-06-01 08:08:33 +00:00
Amar Takhar 8eded1e7c6 Update project file, this should have been done in r4394.
Originally committed to SVN as r4395.
2010-06-01 08:03:51 +00:00
Amar Takhar 7e83443c3e Fix the Windows build, there are a couple of things to note:
* I rebroke the stdout logger I'll fix that in unix.
 * There is a new header libaegisub/types.h which is a temp solution until I sort out something more realistic.  It's too early to tell what the proper solution will be.

Originally committed to SVN as r4394.
2010-06-01 08:03:17 +00:00
Amar Takhar 002f284bea Fix r4383: trunk doesn't use wxString for exceptions anymore.
Originally committed to SVN as r4393.
2010-06-01 07:55:24 +00:00
Amar Takhar badee30d17 Sigh, not diffing before committing bites me again: remove useless deltas that shouldn't have been committed.
Originally committed to SVN as r4392.
2010-06-01 05:14:00 +00:00
Amar Takhar 37b904b75e Create time_log() to return a timeval so I can implement this on windows as well.
Originally committed to SVN as r4391.
2010-06-01 05:11:18 +00:00
Thomas Goyne ac42fcda5d Fix undo problems with cross and drag visual tools.
Originally committed to SVN as r4388.
2010-06-01 03:21:25 +00:00
Thomas Goyne da6c47c20b Load rotation from a line's style when it's not set by an override tag.
Originally committed to SVN as r4387.
2010-06-01 03:21:20 +00:00
Thomas Goyne 9e6454a798 Fix a few spots where x and y were swapped in the X/Y rotation tool.
Originally committed to SVN as r4386.
2010-06-01 03:21:14 +00:00
Niels Martin Hansen 0fe2071082 Add a null-pointer check to update checker. Updates #1164.
Originally committed to SVN as r4383.
2010-06-01 02:08:22 +00:00
Niels Martin Hansen db3c67cfaf Change description of framerate transform export filter to something more modern. Updates #1069.
Originally committed to SVN as r4379.
2010-06-01 00:06:08 +00:00
Amar Takhar 3ff3fdf4cc Fix the stdout print to make it more readable..
Originally committed to SVN as r4376.
2010-05-31 23:16:16 +00:00
Amar Takhar f7993ce3ac Remove the (59!) wxLogDebug lines, this is being rewritten by jfs so there's no point on porting it to the new logging system.
Originally committed to SVN as r4375.
2010-05-31 23:04:27 +00:00
Amar Takhar 0a453fe127 Move Serverity_ID below the definition of log where it should be.
Originally committed to SVN as r4373.
2010-05-31 22:47:38 +00:00
Amar Takhar 9d0c5a4890 Add Googles mutex.h which seems to be used in many of googles projects. It's better to use something that's well-tested rather than rolling our own. Also a huge time saver.
Originally committed to SVN as r4372.
2010-05-31 21:57:08 +00:00
Amar Takhar 9393850884 Commit the beginings of a logging api, this is fairly complete however it has no locking.
Originally committed to SVN as r4371.
2010-05-31 20:55:29 +00:00
Amar Takhar e7b859b9f7 Switch to using libaegisub for character set detection. There are some bugs here but it seems to be more consistent than the last version. There are two remaining issues left: when the character set is unknown we need to provide a full list to choose from. The second: if the file is detected as US-ASCII we need to give a parse error to the user if we run into problems. Right now we'll load the file fine and disable a lot of options.. with no message to the user.
Originally committed to SVN as r4370.
2010-05-29 02:25:19 +00:00
Amar Takhar 9d854b69f3 Don't bother storing storing a single charset into an std::string, instead insert it into the std::map and fix Single() to return the first element. This keeps things simple and also ensures that DetectAll() will always return atleast one element which wasn't being done before.
Originally committed to SVN as r4369.
2010-05-28 13:08:00 +00:00
Amar Takhar 6736f5e292 Add a change that was missed in r4367.
Originally committed to SVN as r4368.
2010-05-28 08:04:55 +00:00
Amar Takhar e408fe49c9 Add support for detecting character sets using UniversalChardet -- this superceeds character_detect.cpp.
Originally committed to SVN as r4367.
2010-05-28 07:40:21 +00:00
Amar Takhar 8dab221f8b Bring universalchardet up to 41661:ea9bbf0ff87f (2010-03-13).
Originally committed to SVN as r4366.
2010-05-27 02:20:34 +00:00
Thomas Goyne 6df5d97568 Eliminate a redundant rerender of the frame when committing changes from
the visual tools. Makes all visual tools roughly twice as fast when real
time mode is enabled.

Originally committed to SVN as r4365.
2010-05-26 22:09:00 +00:00
Thomas Goyne e120ecc190 Make move/pos toggle modify all selected lines
Originally committed to SVN as r4364.
2010-05-26 07:17:46 +00:00
Thomas Goyne 877eabdce7 Fix selection issues with visual features
Selections in drag mode now follow the following rules:

 * If a line is selected in the grid, at least one visual feature
   corresponding to the line is selected.

 * If a line has any features selected, that line is selected in the
   grid.

In addition, all control points now start out selected in the vector
clip tool, and all tools should no longer discard the current selection
at unpredictable or unintended times.

Updates #513.

Originally committed to SVN as r4363.
2010-05-26 07:17:39 +00:00
Thomas Goyne d2a81d871b Make several methods in BaseGrid static or const and clean up some of the implementations.
Originally committed to SVN as r4362.
2010-05-26 07:17:34 +00:00
Thomas Goyne acc1e93728 Also update origins when setting multiple lines with the drag tool. Updates #513
Originally committed to SVN as r4361.
2010-05-26 07:17:28 +00:00
Thomas Goyne 5283c1527b Add updating multiple lines at once to the cross visual tool and make it only happen if alt is held down in both cross and drag. Updates #513.
Originally committed to SVN as r4360.
2010-05-26 07:17:15 +00:00
Amar Takhar 2d57debd49 Commit the beginings of the Path class to hold the internal representation of paths, this is extremely rough since I have to wait until we can do charset conversion in libaegisub to handle windows paths before going any further.
Originally committed to SVN as r4359.
2010-05-24 17:57:07 +00:00
Amar Takhar d171d0aef8 Add a regression test for r4347.
Originally committed to SVN as r4358.
2010-05-24 05:58:46 +00:00
Grigori Goronzy e9c806d0de Handle libass messages with wxLog* family of functions
Originally committed to SVN as r4357.
2010-05-24 03:41:06 +00:00
Grigori Goronzy 8f67d48487 Initial support for external libass with pkg-config
This introduces the configure option --with-external-libass; the
internal copy is still used by default. Fixes #917.

Originally committed to SVN as r4356.
2010-05-24 02:44:31 +00:00
Grigori Goronzy 61ab7d1f2c Fix ALSA player compilation. (missing includes)
Originally committed to SVN as r4355.
2010-05-24 01:46:04 +00:00
Amar Takhar 25497cf87d Completely remove the usage of POSIX functions from Acs. I've discovered the hard way that most things POSIX on Windows is a complete disaster.
With this we're now using native functions and all unit tests pass.

The code used in Check() is still a proof of concept and will probably be rewritten as issues are exposed.

Originally committed to SVN as r4354.
2010-05-23 20:39:14 +00:00
Amar Takhar 69ae630488 Fix binary name: s/aegisub/test/
Originally committed to SVN as r4353.
2010-05-23 20:21:05 +00:00
Amar Takhar fc77763e95 Wrap the initial construction test with EXPECT_NO_THROW(), this will ensure any underlying exceptions are caught. The other tests need similar fixes which I'll look to later on unix.
Originally committed to SVN as r4352.
2010-05-23 20:12:34 +00:00
Amar Takhar c65de83b26 Remove empty quotes, I forgot DOS echo doesn't require it.
Originally committed to SVN as r4351.
2010-05-23 20:06:47 +00:00
Thomas Goyne 1e975eee89 Add double-click positioning to drag visual tool.
Sets the last clicked-on feature to the double-clicked spot and applies
the same relative movement to all other selected lines (including ones
not visible on the current frame).

Updates #513.

Originally committed to SVN as r4350.
2010-05-23 08:53:27 +00:00
Thomas Goyne 0dc6a082ca Fix memory leaks in Option
Originally committed to SVN as r4349.
2010-05-23 06:58:11 +00:00
Thomas Goyne 60a1bdc2df Fix memory leaks in mru.cpp
Originally committed to SVN as r4348.
2010-05-23 06:58:06 +00:00
Thomas Goyne 9fc28fc1d4 Make MRUManager::Remove work
Originally committed to SVN as r4347.
2010-05-23 06:58:01 +00:00
Thomas Goyne d5df0fd545 Fix incorrect setting of float values in the style editor introduced in 7a29bffb847ce2e2f877ddf773aec4afb821018b
Originally committed to SVN as r4346.
2010-05-23 06:57:54 +00:00
Amar Takhar f7f59e5e1d Add an ErrorString utility which converts the code from GetLastError() into a human readable std::string.
Originally committed to SVN as r4345.
2010-05-22 21:09:37 +00:00
Amar Takhar 12711d8c12 * Add util_windows.cpp to test project.
* Fix typo in util_windows.cpp.

Originally committed to SVN as r4344.
2010-05-22 01:41:23 +00:00
Amar Takhar ad005c3a9c Split unix/windows code into seperate files to preserve sanity.
Originally committed to SVN as r4343.
2010-05-22 01:38:07 +00:00
Amar Takhar 810ffa09c7 Convert the identifier to an std::string from wxString. For whatever reason wxString is producing addresses rather than strings when automatically converting. I've seen this behaviour before and it seems quite random. This will solve that problem.
Originally committed to SVN as r4342.
2010-05-22 01:22:53 +00:00
Amar Takhar cb1a82baaa * Add a post build event to setup the unit test resource directory.
* Fix the build target, for some reason this isn't being taken from the property sheet jfs will have to look at it later..

Originally committed to SVN as r4341.
2010-05-21 17:33:04 +00:00
Amar Takhar c1ad93ce93 Add a project for the unit tests.. this is incomplete (progress save)
Originally committed to SVN as r4340.
2010-05-21 06:06:46 +00:00
Amar Takhar 6a15775401 Add a temp (and ugly) workaround to get this building on windows. I'll make a proper solution when i next work on this file. (soonish)
Originally committed to SVN as r4339.
2010-05-21 06:03:20 +00:00
Thomas Goyne 9157465a18 Fix loading video/keyframes/timecodes from the MRU list.
Originally committed to SVN as r4338.
2010-05-21 04:40:38 +00:00
Amar Takhar a584361bb8 Add a few missing redirects.
Originally committed to SVN as r4337.
2010-05-21 04:03:43 +00:00
Amar Takhar 580bdb8271 Add a windows equivalent of setup.sh
Originally committed to SVN as r4336.
2010-05-21 04:02:08 +00:00
Thomas Goyne 68914197d5 Re-add local config file support for standalone installations.
Originally committed to SVN as r4335.
2010-05-21 03:52:11 +00:00
Thomas Goyne d3c33d5e7c Fix file saving on Windows.
Originally committed to SVN as r4333.
2010-05-21 03:07:48 +00:00
Amar Takhar cd8305987b Wrap io.h with _MSC_VER since it's only needed on windows. Eventually we'll have to create our own set of defined macros for various platforms.
Originally committed to SVN as r4332.
2010-05-21 01:19:40 +00:00
Amar Takhar 40e12403d5 Merge all changes from the libaegisub branch into trunk, the effective range is r4175:4330. All options have been re-done and now use Cajun to support a json-backed format.
Initial support for low-level access and file I/O methods are included as well.

Originally committed to SVN as r4331.
2010-05-21 01:13:36 +00:00
Thomas Goyne 23972b10bc Add selection and control of multiple visual features
Make all visual tools support selecting and manipulating multiple visual
features at once, allowing multiple lines to be moved at once, entire
vector clips to be translated, etc. Controls:

  - Left click: Select control clicked control only
  - Ctrl-left click: Add/remove control to selection
  - Drag control (with or without ctrl): Move all selected controls,
    after setting/adding to selection if target is not in the selection
  - Click on no control: Clear selection

Lots of little stuff to fix still.

Updates #513.

Originally committed to SVN as r4322.
2010-05-20 08:55:58 +00:00
Thomas Goyne 8ff2728322 Move all userdata in VisualDraggableFeature not used by VisualTool to subclasses specific to each tool that needs userdata.
Originally committed to SVN as r4321.
2010-05-20 08:55:52 +00:00
Thomas Goyne a282393b47 Template VisualTool on the type of draggable features to use
Originally committed to SVN as r4320.
2010-05-20 08:55:46 +00:00
Thomas Goyne 2ef8302a6d Add boost/shared_pointer.hpp to the precompiled header
Originally committed to SVN as r4319.
2010-05-20 08:55:41 +00:00
Thomas Goyne 40a0c8994a Simplify the VisualTool interface a bit.
Originally committed to SVN as r4318.
2010-05-20 08:55:35 +00:00
Thomas Goyne e023831134 Detangle the visual tools from SubsEditBox a bit by making changes to the file no longer go through the edit box.
Originally committed to SVN as r4317.
2010-05-20 08:55:29 +00:00
Thomas Goyne 34a7d21a42 Kill the redundant VisualToolEvent nonsense and make the drag tool just use OnSubTool like the vector clip mode.
Originally committed to SVN as r4316.
2010-05-20 08:55:23 +00:00
Thomas Goyne 2ec4a97dbb Fix bad coordinate conversion in the clip visual tool
Originally committed to SVN as r4315.
2010-05-20 08:55:18 +00:00
Thomas Goyne 0e527355eb Kill some code that was last uncommented before revision 1000.
Originally committed to SVN as r4314.
2010-05-20 08:55:13 +00:00
Thomas Goyne 519039131f Fix crash in freehand draw mode of the vector clip visual tool
Originally committed to SVN as r4313.
2010-05-20 08:55:08 +00:00
Thomas Goyne 94bffb5b9d Fix compile error in gcc introduced in r4307 (instantiating templates with private inner types is a msvc extension)
Originally committed to SVN as r4311.
2010-05-19 03:24:07 +00:00
Thomas Goyne f4124e373c Add single-axis modes to all visual tools
Make all visual tools only update the most-changed axis whenever shift
is held down. Previously the rotate and scale tools used ctrl for this
and shift for snapping to round values; these have been swapped for
consistency.

Closes #993.

Originally committed to SVN as r4310.
2010-05-19 03:24:01 +00:00
Thomas Goyne 115dacb37e Clean up VisualFeature a bit and make most of OpenGlWrapper's methods const
Originally committed to SVN as r4309.
2010-05-19 03:23:55 +00:00
Thomas Goyne 008d59d71e As we require RTTI anyway, kill AssEntry::GetAsDialogue/Style/Attachment and just use dynamic_cast
Originally committed to SVN as r4308.
2010-05-19 00:44:52 +00:00
Thomas Goyne 2124a1dbd3 Rework how sorting works and add sorting by style
Rather than going through a ton of work to ensure that every AssEvent
has a sensible start time that happens to leave it in the right place
after sorting, simply sort only consecutive blocks of AssDialogues and
leave everything else untouched. Note that this results in different
behavior when there are multiple [Events] sections in a file -- rather
than moving lines between sections and keeping the number of lines per
section constant, each section keeps the lines it had.

As it's now easy to do, also add sorting by style name and end time.

Closes #614.

Originally committed to SVN as r4307.
2010-05-19 00:44:44 +00:00
Thomas Goyne a573b0897b Add "Open Subtitles From Video" menu option. Closes #253.
Originally committed to SVN as r4306.
2010-05-19 00:44:37 +00:00
Thomas Goyne ea100e9bff Add simple automation macros to strip override tags and select overlapping lines. Closes #120.
Originally committed to SVN as r4305.
2010-05-19 00:44:31 +00:00
Thomas Goyne a073d48f26 Make all of the controls in the Style Manager dynamically sized. Results in slightly wider buttons with English and much better sized buttons in other languages. Updates #1101
Originally committed to SVN as r4303.
2010-05-17 19:48:17 +00:00
Thomas Goyne 49abae2698 Fix a merge conflict and some newline issues
Originally committed to SVN as r4290.
2010-05-16 07:06:08 +00:00
Thomas Goyne 2c876e79c3 Make visual tools use only screen coordinates.
Previously the visual typesetting tools and the overlay mask used
several coordinate frames, converting between them in many places in
inconsistent ways.  This elimiates all uses of coordinate frames other
than screen and script, and makes the conversion done in one place, and
only when parsing or serializing ASS.

This fixes:

 - A few minor rounding errors

 - Horrible brokeness when only part of the video frame is being
   displayed, due to higher levels of zoom than fit onscreen or panning
   the video

 - Distortion of the visual typesetting tools when the combination of
   overridden aspect ratio, script resolution, and video resolution did
   not result in square pixels.

 - Resolution-dependence of the visual typesetting tools, which resulted
   in some tools becoming hard to use at zooms outside the range of
   100-200%.

 - Some draggable controls used the mouse's script coordinates,
   resulting in noticable jerky movement at high zoom levels or when
   using strange script resolutions.

Closes #966.

Originally committed to SVN as r4289.
2010-05-16 06:39:11 +00:00
Thomas Goyne 74a9bdeb41 Limit the canvas size to the window's size to avoid things exploding at high zoom levels
Originally committed to SVN as r4288.
2010-05-16 06:39:06 +00:00
Thomas Goyne 94cf2949f1 Make the calculation of black borders in the video display happen on resize rather than on draw.
Originally committed to SVN as r4287.
2010-05-16 06:38:59 +00:00
Thomas Goyne 624df412ea Kill the horrifying PrettyFloat function and just use g instead of f everywhere it was used.
Originally committed to SVN as r4280.
2010-05-13 18:41:46 +00:00
Thomas Goyne 1654f4a102 Remove a redundant (and incorrect) check for if the mouse is over the video
Originally committed to SVN as r4279.
2010-05-13 18:37:51 +00:00
Thomas Goyne 247e756c9b Move doxygen stuff for VideoDisplay to the header and fill in some missing docs.
Originally committed to SVN as r4278.
2010-05-13 18:37:46 +00:00
Thomas Goyne 290353d467 Bump copyright years on video_display.*
Originally committed to SVN as r4277.
2010-05-13 18:37:41 +00:00
Thomas Goyne 5215049c07 Add mouse wheel video zooming
Originally committed to SVN as r4276.
2010-05-13 18:37:35 +00:00
Amar Takhar 81282bf06e Add LICENCE to EXTRA_DIST.
Originally committed to SVN as r4261.
2010-05-06 16:07:00 +00:00
Amar Takhar f002850e17 Fix distfile creation.
Originally committed to SVN as r4260.
2010-05-06 16:05:34 +00:00
Thomas Goyne c7e06e9451 Change the uses of -1 for invalid positions in the visual typesetting tools to INT_MIN, as -1 is sometimes a perfectly valid coordinate
Originally committed to SVN as r4258.
2010-05-01 01:45:16 +00:00
Thomas Goyne 5cbabf2d35 Add an option to only display visual typesetting tools when the mouse is over the video.
Originally committed to SVN as r4257.
2010-05-01 01:45:10 +00:00
Thomas Goyne 61c141a714 Change zoom to an arbitrary percentage rather than an index into a fixed list of allowed zooms
Originally committed to SVN as r4256.
2010-05-01 01:07:05 +00:00
Thomas Goyne 42781c1c62 Make the shift times history display one-based frame numbers when shifting the selection onwards. Updates #1098
Originally committed to SVN as r4255.
2010-05-01 01:07:00 +00:00
Thomas Goyne 7a7b7fb5e9 Add menu options for the tag hiding modes to the view menu. Closes #433
Originally committed to SVN as r4254.
2010-04-30 20:42:07 +00:00
Thomas Goyne 2fea4bb1ba Ensure that after using the select lines dialog, the active line is always one of the selected lines. Updates #1176.
Originally committed to SVN as r4253.
2010-04-30 20:42:01 +00:00
Thomas Goyne ae82498273 Make a few parameters in gl_text const references
Originally committed to SVN as r4252.
2010-04-30 16:15:18 +00:00
Thomas Goyne 47beda4c89 Fix build error introduced in r4250 when not using precompiled headers.
Originally committed to SVN as r4251.
2010-04-30 16:15:12 +00:00
Thomas Goyne c3a986414c Make OpenGLTextTexture use the smallest texture that is large enough to fit the requested glyph rather than always using 256x256
Originally committed to SVN as r4250.
2010-04-30 03:00:19 +00:00
Thomas Goyne 27a159793a (Re)add catch for wchar_t in VideoDisplay::Render as it turns out that some of the stuff it calls still throws strings
Originally committed to SVN as r4249.
2010-04-30 03:00:15 +00:00
Thomas Goyne fd701c67ec Kill supportsGlClampToEdge, which hasn't actually been used for a while
Originally committed to SVN as r4248.
2010-04-30 03:00:09 +00:00
Thomas Goyne b90fdcc111 Make the video display use OpenGL display lists, slightly simplifying the code and reducing the amount of state explicitly tracked.
Originally committed to SVN as r4247.
2010-04-30 03:00:04 +00:00
Thomas Goyne 5f82c5bb02 Make the style manager dialog select the new styles when copying styles between the current script and storage, and fix a few cases where buttons were incorrectly enabled or disabled. Updates #1186.
Originally committed to SVN as r4244.
2010-04-24 21:48:06 +00:00
Thomas Goyne de459275a1 Fix crash when using the drag visual tool on a line with a four-argument move tag. Closes #1002.
Originally committed to SVN as r4239.
2010-04-22 01:09:24 +00:00
Thomas Goyne 792c8ec66e Specifically catch exceptions thrown by the subtitle renderer so that we can give a slightly more useful error message.
Originally committed to SVN as r4238.
2010-04-22 01:09:16 +00:00
Kevin Ollivier aa417cf903 Remove unintentionally added tabs.
Originally committed to SVN as r4174.
2010-03-13 18:16:40 +00:00
Kevin Ollivier 9fcdfebf82 Fix the waf build after the libresrc changes, and also tweak the script to properly handle dependency tracking with the generated files.
Originally committed to SVN as r4173.
2010-03-13 17:50:51 +00:00
Kevin Ollivier 277f1959ad We should still increment currentItem when the file and dir tests both return false, as otherwise we get into infinite recursion processing the same item.
Originally committed to SVN as r4172.
2010-03-13 17:43:47 +00:00
Amar Takhar 6a9b0b5589 * Return an std::string
* Be const correct.
 * Use c_str() to ensure null termination.
 * Remove stray , from default_mru.json.

Originally committed to SVN as r4171.
2010-03-06 03:55:27 +00:00
Thomas Goyne 409bcc561a Update the windows build system to work with the changes made in r4169.
Originally committed to SVN as r4170.
2010-03-03 01:28:47 +00:00
Amar Takhar c3c14b0815 Change how libresrc is built:
* Instead of putting code into the .(c|h) files place it into two new files libresrc.(c|h)
 * Bitmaps now go into bitmaps.(c|h)
 * Default configs into default_config.(c|h)

With this approach we can easily embed any resources by simply calling it with common-respack and not having to do anything else.

Originally committed to SVN as r4169.
2010-03-03 00:44:17 +00:00
Amar Takhar e4364ae6f9 Fix typo. (from kovensky), should be merged to 2.1.9
Originally committed to SVN as r4164.
2010-03-01 19:36:57 +00:00
Thomas Goyne d63dab8a3e Fix a memory leak in csri caused by csri_wrap_insts never being freed.
Originally committed to SVN as r4158.
2010-02-26 00:18:33 +00:00
Thomas Goyne 0a8a495aea Fix a smattering of memory leaks.
Originally committed to SVN as r4157.
2010-02-25 21:45:39 +00:00
harukalover 41be900efa Fixed a memory leak that occurred whenever the Edit menu was opened due to the Undo/Redo items being replaced with new wxMenuItem's without deleting the previous items (now it just updates the label/enabled status without creating new wxMenuItem's)
Originally committed to SVN as r4139.
2010-02-21 06:09:28 +00:00
Niels Martin Hansen 6a431b9032 Do an additional range check before grabbing a dialogue line by index in BaseGrid. Not doing it makes MSVC debug runtimes spew assertions and whatnot. This shouldn't break anything... I hope it doesn't.
Originally committed to SVN as r4134.
2010-02-21 01:25:15 +00:00
Kevin Ollivier 5cafad1d81 Just call Next/PrevFrame now that the audio playing behavior is implemented inside those methods.
Originally committed to SVN as r4122.
2010-02-17 19:07:37 +00:00
Kevin Ollivier 3a58a48e1a Move the logic to play the audio on stepping through video into video_context so that the VideoSlider's Next/PrevFrame can behave consistently regardless of where they're called from.
Originally committed to SVN as r4121.
2010-02-17 19:04:41 +00:00
Kevin Ollivier 3082838aa1 Add an option to play audio when stepping through video, like some other video players do. Also, add .mov as a file format to load, as it is widely used on Mac and seems to work fine for me with ffmpeg.
Originally committed to SVN as r4120.
2010-02-17 06:24:29 +00:00
Kevin Ollivier 65b09da334 Add missing include.
Originally committed to SVN as r4107.
2010-02-15 03:06:04 +00:00
Thomas Goyne e5416f01dc Fix debug assertion in style manager when "Copy" is clicked with zero styles selected.
Originally committed to SVN as r4105.
2010-02-14 22:44:29 +00:00
Thomas Goyne 429a57ef68 Change the logic for when the style editor asks the user if they wish to update existing lines when renaming a style to be based on whether it is a newly created style rather than whether the style's name starts with "Copy of". Updates #1060.
Originally committed to SVN as r4103.
2010-02-14 22:26:45 +00:00
Thomas Goyne 509f748cfb Make VideoContext::SetVideo explicitly call VideoContext::UpdateDisplays rather than relying on the calling code restoring it to a consistent state. Updates #1159.
Originally committed to SVN as r4101.
2010-02-14 22:02:33 +00:00
Thomas Goyne 621cefe14e Fix compile error on non-windows caused by r4097.
Originally committed to SVN as r4099.
2010-02-14 18:06:56 +00:00
Thomas Goyne 175b2a4648 Rewrite the texture grid positioning code again, fixing several visual defects that showed up in OpenGL 1.1 mode. Updates #1153.
Originally committed to SVN as r4097.
2010-02-14 17:41:41 +00:00
Thomas Goyne c9ba8329ad Change all incorrect uses of __WXDEBUG__ to _DEBUG. __WXDEBUG__ being defined does not necessarily mean that it is a debug build, and by default it is defined in release builds of wx as of 2.9.1.
Originally committed to SVN as r4089.
2010-02-09 04:31:33 +00:00
Niels Martin Hansen cb8cafadbd Add video/script resolution correct factor to karaskel, updates #1139.
Originally committed to SVN as r4087.
2010-02-05 17:31:18 +00:00
Niels Martin Hansen 48e321f8ef Juggle a weird control structure to be more regular.
Originally committed to SVN as r4086.
2010-02-05 16:06:37 +00:00
Niels Martin Hansen 6fe0eb96be Define an RAII wrapper for the Win32 HANDLE type and make sure all handles created also get closed in the DSound2 audio player. Updates #1145.
Originally committed to SVN as r4084.
2010-02-05 15:13:11 +00:00
Niels Martin Hansen 702739b32e Doxygen-document DSound2 audio player
Originally committed to SVN as r4083.
2010-02-05 14:51:12 +00:00
Niels Martin Hansen fe65749623 Merge r4081, closes #1126.
Originally committed to SVN as r4082.
2010-02-05 13:22:43 +00:00
Niels Martin Hansen 8d5cde185d Fix rare furigana layout issue. Updates #1144.
Originally committed to SVN as r4079.
2010-02-05 12:51:20 +00:00
Thomas Goyne 7ac273eca0 Fix problems with how VideoDisplay's size was being set resulting in the border being subtracted from the video size and the video always taking up the full width of the box even at very low zoom levels. Updates #1137, #1140.
Originally committed to SVN as r4077.
2010-01-31 18:49:37 +00:00
Grigori Goronzy 08817a3e98 Add missing includes to fix compilation without precompiled headers.
Fixes #1129. Patch by buscher.

Originally committed to SVN as r4076.
2010-01-31 14:55:03 +00:00
Grigori Goronzy ba0cf4463f Delete gcc precompiled headers in distclean.
Originally committed to SVN as r4072.
2010-01-30 16:59:24 +00:00
Grigori Goronzy 5db8abd330 OSS player: convert device name to UTF-8 string.
Originally committed to SVN as r4071.
2010-01-30 15:08:50 +00:00
Grigori Goronzy f84b51531a Merge r4006 back intro trunk.
Originally committed to SVN as r4069.
2010-01-30 13:43:25 +00:00
Thomas Goyne b5064f8fc9 Replace lua's default lua module loader with one which uses our UTF-8-supporting script reader.
Originally committed to SVN as r4060.
2010-01-28 01:13:13 +00:00
Amar Takhar 4343fb44ef Forgot to add rpath info for the osx builds.
Originally committed to SVN as r4052.
2010-01-26 14:06:49 +00:00
Amar Takhar e89e7b4be2 Make dictionary printfs easier to read. (also add one for the thesaurus)
Originally committed to SVN as r4051.
2010-01-26 13:56:56 +00:00
Amar Takhar 0c9f32fbb8 Add the irc bot to freenode as well.
Originally committed to SVN as r4049.
2010-01-26 13:47:26 +00:00
Amar Takhar 5c00df7209 Fix -rpath reference so common-respack works correctly.
Originally committed to SVN as r4048.
2010-01-26 13:45:07 +00:00
Amar Takhar b822ec6343 Merge translations from 2.1.8.
Originally committed to SVN as r4047.
2010-01-26 13:43:02 +00:00
Amar Takhar 5ebab7adba Update aegisub.pot + .po files in preperation for merging the translations from 2.1.8 to trunk.
Originally committed to SVN as r4046.
2010-01-26 13:38:54 +00:00
Amar Takhar eece24e293 Delete all .mo files, we'll be generating these on build time see #1076.
Originally committed to SVN as r4045.
2010-01-26 13:22:14 +00:00
Amar Takhar 27a1d68ec4 Call OnUnhandledException() only when wxWidgets is compiled with exception handling.
Originally committed to SVN as r4044.
2010-01-26 13:18:53 +00:00
Amar Takhar 0cd4f1225d Merge 3906,r3909,r3910,r3912,r3928,r3931,r3932,r3933,r3935,r3936: merge update checker from 2.1.8, this also needs to be documented for doxygen. closes #1084.
Originally committed to SVN as r4042.
2010-01-26 13:14:05 +00:00
Amar Takhar f3f6a90bbe Fix wx-config references, also don't run configure under bash.
Originally committed to SVN as r4040.
2010-01-25 21:45:48 +00:00
Amar Takhar ac2a41e9f0 Fix location of wx-config to the general link.
Originally committed to SVN as r4039.
2010-01-25 15:13:26 +00:00
Thomas Goyne 0a12e60a36 Add the Automation include path to lua's module load path.
Originally committed to SVN as r4038.
2010-01-24 19:07:34 +00:00
Thomas Goyne 7ffc3d4080 Move more of the purely OpenGL-related code into VideoOutGL from VideoDisplay and simplify the calculation of the texture grid positions slightly.
Originally committed to SVN as r4037.
2010-01-24 19:05:20 +00:00
Thomas Goyne ba088237d7 Add some documentation for AegisubCSConv and TextFileReader.
Originally committed to SVN as r4036.
2010-01-24 18:56:51 +00:00
Amar Takhar c7d95e5590 Add greg to the about dialog credits.
Originally committed to SVN as r4035.
2010-01-24 02:37:47 +00:00
Amar Takhar 4a42ab1403 merge r4011,r4012 (Switch from Mac::Finder::DSStore to using AppleScript)
Originally committed to SVN as r4025.
2010-01-21 00:37:04 +00:00
Amar Takhar e247dec1f3 Merge r4010,r4013,r4014 (configure and bundle/dmg generation fixes.)
Originally committed to SVN as r4024.
2010-01-21 00:34:45 +00:00
Amar Takhar 113ae0cd6d merge r4007 (optimisation flag fix.)
Originally committed to SVN as r4023.
2010-01-21 00:30:42 +00:00
Amar Takhar 73ab47f8ec merge r3986 (configure release support.
Originally committed to SVN as r4022.
2010-01-21 00:29:26 +00:00
Amar Takhar f43bff1e97 merge r4003 (options dialogue layout fixes)
Originally committed to SVN as r4021.
2010-01-21 00:28:07 +00:00
Amar Takhar 89e2428dbe merge r3992 (restart-helper fixes)
Originally committed to SVN as r4020.
2010-01-21 00:26:45 +00:00
Amar Takhar 4221919d4f merge r3983,r4002 (more string fixes.)
Originally committed to SVN as r4019.
2010-01-21 00:24:59 +00:00
Amar Takhar 79c1716ccd merge r3982.
Originally committed to SVN as r4017.
2010-01-21 00:01:46 +00:00
Amar Takhar e76cfae9bb Merge r3974: asserts in colour picker dialog.
Originally committed to SVN as r4015.
2010-01-20 22:49:26 +00:00
Niels Martin Hansen f1fa69d528 Merge r3999 to trunk, updates #566.
Also, 4000 GET.

Originally committed to SVN as r4000.
2010-01-19 08:50:40 +00:00
Thomas Goyne 80fdea74e6 Merge r3994 from the 2.1.8 branch. Closes #999.
Originally committed to SVN as r3995.
2010-01-19 01:05:51 +00:00
Grigori Goronzy 8c8f59b5ff Fix ALSA player. Works On My Computer [tm].
Originally committed to SVN as r3990.
2010-01-15 22:58:51 +00:00
Amar Takhar 361f5228ba Merge r3977 (osx-fix-libs) from 2.1.8 closes #964.
Originally committed to SVN as r3978.
2010-01-12 13:00:24 +00:00
Grigori Goronzy 6006fb5bba Redirect mouse events from the color picker dialog to the dropper icon
to make the color dropper work on Unix/GTK. OS X still needs fixes.

Originally committed to SVN as r3975.
2010-01-12 03:19:49 +00:00
Grigori Goronzy e341e05fa2 Update libass to commit 8db4a5.
Originally committed to SVN as r3970.
2010-01-10 21:09:48 +00:00
Niels Martin Hansen 7e079a3fc2 Merge r3967 from 2.1.8, closes #971.
Originally committed to SVN as r3968.
2010-01-10 16:15:31 +00:00
Niels Martin Hansen 8c036dfc3b Merge r3965 back in trunk. Closes #791.
Originally committed to SVN as r3966.
2010-01-10 16:02:01 +00:00
Thomas Goyne 8657658c70 Fix undefined behavior sometimes resulting in a crash when copying styles to or from storage when the style name already exists. Patch by Paranoja. Closes #1096.
Originally committed to SVN as r3961.
2010-01-07 00:48:27 +00:00
Thomas Goyne a1902a0690 Remove the frequently unstable or nonfunctional attempt at automatically loading audio from the loaded video when playing with no audio loading. Updates #1090.
Originally committed to SVN as r3954.
2010-01-06 08:02:15 +00:00
Niels Martin Hansen f805ec707e Merge r3951 from 2.1.8 back in: fixing old URLs
Originally committed to SVN as r3952.
2010-01-06 05:23:58 +00:00
Amar Takhar dbc885fdb0 Merge r3929 to fix the video slider, updates #1073.
Originally committed to SVN as r3939.
2010-01-05 00:51:53 +00:00
Kevin Ollivier 5374441cdd Use correct framework header so that we get CFStringRef, etc. included as well.
Originally committed to SVN as r3938.
2010-01-05 00:50:09 +00:00
Thomas Goyne 8513fef7e2 Eliminate an unnecessary call to VideoContext::UpdateDisplays triggered by SubsEditBox::SetToLine, moderately improving responsiveness when working with lines that take a long time to render.
Originally committed to SVN as r3925.
2010-01-02 06:23:02 +00:00
Amar Takhar 931326e3c0 Add 1020 to license header, happy new year!
Originally committed to SVN as r3922.
2010-01-01 21:10:34 +00:00
Niels Martin Hansen 54ff8124b6 Merge r3907 back to trunk, closes #1072
Originally committed to SVN as r3908.
2009-12-27 19:49:27 +00:00
Amar Takhar fb9ddc45a3 We're using wx-trunk for OSX now, as the cocoa port is far ahead of the 2.9 branch.
Originally committed to SVN as r3905.
2009-12-26 00:26:37 +00:00
Amar Takhar b00a77c5f5 Add missing headers to quicktime_common.cpp and video_provider_quicktime.cpp.
Originally committed to SVN as r3899.
2009-12-25 04:32:36 +00:00
Amar Takhar e00936c3bf Add AC_PROG_RANLIB to configure.in, fixes 'make distclean'
Originally committed to SVN as r3898.
2009-12-25 04:31:59 +00:00
Amar Takhar face7faec3 Fix bundledirs-test target.
Originally committed to SVN as r3896.
2009-12-25 03:31:01 +00:00
Amar Takhar 6b454601da * Add a new function to libosxutil: OSX_OpenLocation which calls LSOpenCFURLRef, it accepts a URL (except for local paths) and opens the correct program using the Launcher.
* Add a new help menu option to access internal resources located within the bundle.

Closes #1033 and updates #1070.

Originally committed to SVN as r3895.
2009-12-25 03:28:15 +00:00
Amar Takhar fff128fcfa Add support for building the QuickTime A/V providers under OSX.
Originally committed to SVN as r3893.
2009-12-24 23:06:47 +00:00
Amar Takhar a49aa20a22 Merge r3891 (hunspell path fix.)
Originally committed to SVN as r3892.
2009-12-24 18:16:19 +00:00
Amar Takhar 660e392423 Update chinese translation -- this is an old version that was updated 2 days after the original submission. Unfortunatly it was never comitted.
Originally committed to SVN as r3887.
2009-12-22 19:18:29 +00:00
Amar Takhar 13761bd65e Add fi and zh_CN to LINGUAS.
Originally committed to SVN as r3886.
2009-12-22 18:52:33 +00:00
Amar Takhar ebc9222f32 Merge r3879.
Originally committed to SVN as r3880.
2009-12-22 05:21:32 +00:00
Amar Takhar ec6053a674 Merge r3877.
Originally committed to SVN as r3878.
2009-12-22 04:19:27 +00:00
Amar Takhar 69770d53d4 Switch automake version(s) to 1.10 from 1.9.
Originally committed to SVN as r3868.
2009-12-13 20:00:04 +00:00
Amar Takhar e82ea9d8b2 Fix some errors + better formatting for the custom email message. Also set it to only report problems and not successful builds.
Originally committed to SVN as r3867.
2009-12-13 19:58:34 +00:00
Amar Takhar 3e83cb7597 Add URL to transposed grid display.
Originally committed to SVN as r3866.
2009-12-13 19:56:31 +00:00
Thomas Goyne 2f2f0d9aac Fix some assorted VideoOutGL-related stupidity. Updates #1056.
Originally committed to SVN as r3864.
2009-12-13 19:27:45 +00:00
Amar Takhar fedd8ecce6 Commit a different patch than the one in #1064.. this sets the default automake required version to 1.10.. the detection for 1.11 is *after* 1.11 because we prefer to use that, though we do prefer to use 1.11 than 1.9 if it's available. Updates #1064
Originally committed to SVN as r3862.
2009-12-13 17:47:19 +00:00
Amar Takhar 608a73677d Remove /usr/share/fonts and /usr/X11R6/lib/fonts from fonts.conf. These will never be used under OSX they're for Unix and X respectivly. /usr/share/fonts is only useful for Unix users and the X path is useless under Aqua.
Originally committed to SVN as r3860.
2009-12-12 03:47:51 +00:00
Niels Martin Hansen eb938aa5ed Check video size on open and change zoom level to 50% or 25% if the video is greater than some proportions of the window size.
Updates #1054.

Originally committed to SVN as r3858.
2009-12-12 01:38:09 +00:00
Kevin Ollivier dd0da6744b Commit of start on waf build system. Uses the most recent waf release. Currently builds on OS X with ffmpeg, OpenAL and libass providers, do waf configure; waf build to build.
Originally committed to SVN as r3854.
2009-12-07 00:42:51 +00:00
Kevin Ollivier 31ec52b415 Fix constness issue that makes gcc on SnowLeopard fail to compile.
Originally committed to SVN as r3853.
2009-12-07 00:06:35 +00:00
Thomas Goyne fc75937466 Make some non-mutating hotkey methods const.
Originally committed to SVN as r3852.
2009-12-05 04:26:07 +00:00
Amar Takhar c3a6fbae6e Commit patch from Harukalover to fix prefs dialogue asserts. (tested) Updates #1053.
Originally committed to SVN as r3849.
2009-12-01 20:46:04 +00:00
Thomas Goyne a1f3fb7dc0 Prevent times from rounding to the magic zero in the framerate transform. Updates #1007.
Originally committed to SVN as r3839.
2009-12-01 01:56:06 +00:00
Thomas Goyne 4a31f0375f Add \fs+ and \fs- to the ASS parser so they aren't killed by transforms. Updates #1007.
Originally committed to SVN as r3838.
2009-12-01 01:27:32 +00:00
Amar Takhar 6127a66c6e Add a customer mail message format, far more useful than the default.
Originally committed to SVN as r3837.
2009-12-01 01:13:45 +00:00
Thomas Goyne 86f64b2962 Improve video operation errors somewhat. Updates #1020.
Originally committed to SVN as r3835.
2009-12-01 00:32:43 +00:00
Karl Blomster dadd09ff49 Remove SetCacheMax() function as it is no longer used.
Originally committed to SVN as r3833.
2009-11-29 19:12:40 +00:00
Karl Blomster e38b00fb51 Update documentation according to changes in r3831.
Originally committed to SVN as r3832.
2009-11-29 19:09:55 +00:00
Karl Blomster abd2597d0f Change GetDesiredCacheSize() to WantsCaching() since video providers aren't setting number of frames to cache anymore.
Originally committed to SVN as r3831.
2009-11-29 19:07:53 +00:00
Karl Blomster ed3b47b250 document new function introduced in r3829
Originally committed to SVN as r3830.
2009-11-29 19:01:32 +00:00
Karl Blomster 6b04f5ee8f Make the caching video provider use a user-configurable max cache size in bytes instead of a hardcoded number of frames. Defaults to using 32 MB (about 10 frames at 720p) of memory for the cache.
Originally committed to SVN as r3829.
2009-11-29 18:59:21 +00:00
Amar Takhar 0c34323b5d Hopefully this is the last test.
Originally committed to SVN as r3828.
2009-11-29 14:01:57 +00:00
Amar Takhar ddcb31cfa9 How much whitespace does it take... (another test.)
Originally committed to SVN as r3827.
2009-11-29 13:31:38 +00:00
Amar Takhar 1834434b13 Another commit to test the buildbot.
Originally committed to SVN as r3826.
2009-11-29 13:27:56 +00:00
Amar Takhar 7709a5bbb4 Bunk commit to test the buildbot.
Originally committed to SVN as r3825.
2009-11-29 13:16:08 +00:00
Karl Blomster 85d645b44a Allow user to set behavior of audio decoding errors during indexing with the FFMS2 providers.
Originally committed to SVN as r3822.
2009-11-28 21:13:47 +00:00
Karl Blomster b8561bf01d Update ffms2 to r238. Fixes #1048. This version is API and ABI compatible with the previous one so no further modifications are necessary.
Originally committed to SVN as r3820.
2009-11-28 20:04:06 +00:00
Karl Blomster e720bba41c Fix a bug that would occasionally cause opening audio using the ffms2 audio provider to fail with error "out of bounds track number selected".
Originally committed to SVN as r3818.
2009-11-21 22:08:03 +00:00
Karl Blomster 653427fbad Update ffms2 to r234, part 2. Compilation fixed again.
Originally committed to SVN as r3815.
2009-11-21 21:15:02 +00:00
Karl Blomster 1f4fa82726 Update ffms2 to r234, part 1. Compilation broken in this commit.
Originally committed to SVN as r3814.
2009-11-21 21:11:41 +00:00
Niels Martin Hansen 3e52c7a592 Update #1013 with a temporary fix. Changes to wxString in wx 2.9 caused the issue, because wxString::c_string() no longer returned a wchar_t* or char* and thus those weren't caught by the proper exception handler.
This fix should be replaced with a proper exception type later.

Originally committed to SVN as r3813.
2009-11-21 13:24:12 +00:00
Niels Martin Hansen 815ad4b8ca Change 2points' entry to his real name: Moritz Brunner. Updates #894.
Originally committed to SVN as r3810.
2009-11-18 18:46:43 +00:00
Amar Takhar 9058c51968 Change p-static entry to his real name: Ravi Pinjala. updates #894.
Originally committed to SVN as r3803.
2009-11-17 05:32:33 +00:00
Amar Takhar 9a4db2b466 Use the two new macros to supply auto-detection for lua. updates #989.
Originally committed to SVN as r3802.
2009-11-17 04:47:26 +00:00
Amar Takhar 932a7777be Add two new macros (custom) to search for headers in different directories and libraries with different names. updates #989.
Originally committed to SVN as r3801.
2009-11-17 04:46:46 +00:00
Thomas Goyne 9ff7c6abbb Remove some unused locals in frame_main_events.cpp that were last used in r106.
Originally committed to SVN as r3800.
2009-11-17 02:43:43 +00:00
Thomas Goyne feb77217c7 Fix bug where detaching loaded but hidden video had broken results.
Originally committed to SVN as r3798.
2009-11-17 01:37:18 +00:00
Amar Takhar 3719227e9e Include wx/display.h last, it needs some values that aren't inited by display.h itself. I'm not sure if this is a bug as a lot of other headers seem to have this problem too. Fixes compilation errors when not using precompiled headers (which loads about 30 headers before this one.) This fixes non-PCH compilation updates #1040
Originally committed to SVN as r3794.
2009-11-15 20:53:31 +00:00
Niels Martin Hansen 3c11e2831e Missed some headers in r3774, which caused compilation errors when precompiled headers were not used. Updates #1040.
Originally committed to SVN as r3776.
2009-11-14 01:06:11 +00:00
Niels Martin Hansen 58674d1cea Make detached video display reposition itself if it opens partially or entirely out of view. Updates #1040.
Originally committed to SVN as r3774.
2009-11-14 00:42:55 +00:00
Niels Martin Hansen d6b0cdcedf Blind but most likely correct fix missing \iclip support in cleantags.lua. Updates #1044.
Originally committed to SVN as r3772.
2009-11-13 22:13:58 +00:00
Amar Takhar ab857d115c Add libffms/include/*.h to the list of sources so the headers get included, found by rofflwalffls on irc, thanks!
Originally committed to SVN as r3769.
2009-11-07 03:08:49 +00:00
Amar Takhar 78ccb785cc Fill in license information, updates #1029.
Originally committed to SVN as r3766.
2009-11-05 04:24:25 +00:00
Amar Takhar 72ddd4ba6f Remove reference to prs cpp file missed in r3748, updates #1012.
Originally committed to SVN as r3763.
2009-11-04 07:10:15 +00:00
Niels Martin Hansen 3c75547292 Make "Untitled" and "untitled" translateable, updates #792.
Originally committed to SVN as r3761.
2009-11-04 05:27:09 +00:00
Niels Martin Hansen cd4905fe34 Fix build-error in DirectSoundPlayer2 when building Debug, signedness mismatch in an assert triggers a warning that causes an error.
Originally committed to SVN as r3758.
2009-11-04 04:16:25 +00:00
Niels Martin Hansen 129585a2f8 Remove the ability for Aegisub to do its own file type associations. It's something the installer should be doing.
Originally committed to SVN as r3757.
2009-11-03 02:42:19 +00:00
Amar Takhar 88d6c783b1 Remove boost.m4 from EXTRA_DIST it was nuked a long time ago.
Originally committed to SVN as r3756.
2009-11-02 21:44:08 +00:00
harukalover 3c2997e906 Fixed a crash that would occur if the mouse was left in a captured state after closing and reopening the color picker. Updates #1025
Originally committed to SVN as r3754.
2009-11-01 07:28:09 +00:00
Niels Martin Hansen d2834dca45 Re-integrate r3740 from the 2.1.8 branch to fix the DirectSoundPlayer2 buffer locking bug.
Updates #1028.

Originally committed to SVN as r3751.
2009-10-31 00:54:42 +00:00
Amar Takhar afd9133fc0 Remove PRS support, I've left the files in devel/prs they can be deleted at a later time.. Closes #1012.
Originally committed to SVN as r3748.
2009-10-28 01:10:11 +00:00
Amar Takhar 810c0a7eb0 Add an empty config.h and remove ../src from the build. We don't want to pollute libass with our config settings.
Originally committed to SVN as r3745.
2009-10-28 00:30:42 +00:00
Amar Takhar b2649ab510 Add libass license
Originally committed to SVN as r3744.
2009-10-28 00:30:12 +00:00
Amar Takhar b587ad3b8d Add boost license.
Originally committed to SVN as r3743.
2009-10-28 00:28:36 +00:00
Thomas Goyne 15cf221a3f Fix incorrect handling of flipped video when the texture size is larger than the video size.
Originally committed to SVN as r3742.
2009-10-27 20:59:27 +00:00
Thomas Goyne dcfdb02e6c Significantly reduce the number of unnecessary calls to VideoContext::GetFrame.
Originally committed to SVN as r3739.
2009-10-27 14:27:39 +00:00
Amar Takhar 7de7dba807 Merge r3733 for jfs, fixes #977
Originally committed to SVN as r3735.
2009-10-26 23:44:16 +00:00
Amar Takhar 002a5dd980 Merge r3732 for jfs, fixes #915
Originally committed to SVN as r3734.
2009-10-26 23:37:47 +00:00
Thomas Goyne 4fc2b90399 Add support for externally controlled frame data to AegiVideoFrame, and take advantage of this in the FFMS2 video provider to eliminate a copy of the frame data. Net speedup for seeking from beginning to end of several test files is 10-20%.
Originally committed to SVN as r3729.
2009-10-24 02:07:56 +00:00
Thomas Goyne c4d07cb525 Remove AegiVideoFrame::cppAlloc, which was only needed by the dshow video provider.
Originally committed to SVN as r3728.
2009-10-21 04:29:15 +00:00
Thomas Goyne 7581d41935 Remove AegiVideoFrame::GetFloat and some related code as it was only there for fextracker.
Originally committed to SVN as r3727.
2009-10-21 04:07:00 +00:00
Thomas Goyne df5ada1006 Make the video display only upload texture data when the frame has changed rather than every time Render is called.
Originally committed to SVN as r3726.
2009-10-20 19:07:18 +00:00
Amar Takhar c72ac65d0f Fix --enable-gcov:
* Rename GCOV_FLAGS -> GCOV_CFLAGS
 * Add GCOV_LDFLAGS (default is -lgcov)

Originally committed to SVN as r3724.
2009-10-20 03:35:42 +00:00
Thomas Goyne 5404b45017 Tweak how the OpenGL 1.1 code behaves slightly; distortion with Windows 7's OpenGL emulation is now at most .1% instead of at most 2%.
Originally committed to SVN as r3723.
2009-10-19 01:11:02 +00:00
Thomas Goyne 5b9da0c56a Fix some video output bugs related to a small maximum texture size which is not an even divisor of the video size.
Originally committed to SVN as r3717.
2009-10-17 03:41:12 +00:00
Thomas Goyne 3d58608230 Improve rendering with OpenGL 1.1, removing the visible seams at the cost of slight distortions at high zoom levels.
Originally committed to SVN as r3714.
2009-10-14 20:53:36 +00:00
Thomas Goyne 9ff8f42d7f Get the video display closer to working with W7's emulated OpenGL. It can now display video, but there are visible seams between the textures.
Originally committed to SVN as r3711.
2009-10-13 22:19:31 +00:00
harukalover 59cf4b656a Removed the log window which nobody seems to use. Closes #1026
Originally committed to SVN as r3710.
2009-10-13 21:53:50 +00:00
Thomas Goyne 3032c4f883 Fix a memory leak and a minor graphical glitch that sometimes happened to the video slider when switching visual typesetting modes.
Originally committed to SVN as r3709.
2009-10-13 17:28:39 +00:00
Thomas Goyne 389f296b4d Make the video display actually hide when the detached video dialog is minimized.
Originally committed to SVN as r3706.
2009-10-13 04:10:55 +00:00
Amar Takhar ddc3b57694 How lazy can I get for not regening configure to test this change... (yes, i did this time around.) Updates #1023.
Originally committed to SVN as r3703.
2009-10-12 06:06:44 +00:00
harukalover 7dcb6cd387 Fix the annoying habit of all debug output being printed twice
Originally committed to SVN as r3701.
2009-10-12 05:11:24 +00:00
Amar Takhar 669e11d10b Remove boost check as ffms has removed the usage of boost::format. This is trunk-only for now. Updates #1023.
Originally committed to SVN as r3691.
2009-10-12 00:14:36 +00:00
Karl Blomster e3583da740 Update ffms2 to r228. Removes the boost dependency.
Originally committed to SVN as r3690.
2009-10-12 00:11:15 +00:00
Thomas Goyne 68de84b427 Fix some minor quirks with detached video and the display mode.
Originally committed to SVN as r3688.
2009-10-11 22:10:08 +00:00
Thomas Goyne 5cf7724698 Disable zoom controls when video is detached as the zoom is ignored with detached video.
Originally committed to SVN as r3676.
2009-10-10 15:21:26 +00:00
Thomas Goyne 75f010f889 Make global hotkeys work when the detached video dialog is focused.
Originally committed to SVN as r3675.
2009-10-10 15:05:17 +00:00
Thomas Goyne c0364b7be1 Remove pointless keydown handlers on things that can't have keyboard focus.
Originally committed to SVN as r3674.
2009-10-10 02:13:15 +00:00
Thomas Goyne 983434a6c3 Make the video slider forward unprocessed key events to the video display.
Originally committed to SVN as r3672.
2009-10-09 22:27:27 +00:00
harukalover 36386e74fc Fixed the jump to dialog never displaying anything but 0 in the hour column. Updates #1003.
Originally committed to SVN as r3668.
2009-10-09 19:43:43 +00:00
Amar Takhar 14e2d9ad12 Add config.h to 8 files that were missing it, _all_ source files must include config.h at the very top.
Originally committed to SVN as r3666.
2009-10-09 16:34:38 +00:00
Amar Takhar 3873c4fc4e Remove @BOOST_CPPFLAGS@ as the boost detection is now disabled.
Originally committed to SVN as r3664.
2009-10-09 16:10:59 +00:00
Amar Takhar 2623b8380f Update universalchardet to 29631:4dd0cf2ba86f (2009-06-27). Closes #866.
Originally committed to SVN as r3662.
2009-10-09 15:37:55 +00:00
Amar Takhar 61c3a3149e Remove boost check, the macro I'm using has serious bugs that only shows up on some systems.
Originally committed to SVN as r3660.
2009-10-09 15:22:06 +00:00
Amar Takhar 7a53f7dd43 Fix a const issue in JpCntx.h.
Originally committed to SVN as r3656.
2009-10-09 14:50:43 +00:00
Amar Takhar 3bea135663 Check for lua.hpp usability not lua.h, Updates #998.
Originally committed to SVN as r3654.
2009-10-09 14:43:14 +00:00
Amar Takhar 42e0dd6ce4 Update universalchardet using a patch I made around 2009-02, the one we're currently using is from ~1998. I'll check again later to see if there are any updates to it before closing the ticket. Updates #866.
Originally committed to SVN as r3653.
2009-10-09 14:30:27 +00:00
Thomas Goyne 05c9ffde7a Make detached video work again.
Originally committed to SVN as r3651.
2009-10-09 02:21:30 +00:00
Amar Takhar 85d3ea9277 Commit patch for #1019 for jfs' as he doesn't have the branch compiling locally, I'll merge this to milestone:2.1.8 after this, updates #1019.
Originally committed to SVN as r3644.
2009-10-08 20:24:25 +00:00
Amar Takhar df259693d9 Add a check for boost which is now required by ffms.. this should be backported to 2.1.8.
Originally committed to SVN as r3639.
2009-10-07 01:34:47 +00:00
Thomas Goyne 37ec7ad62c Increase the maximum zoom to 300%.
Originally committed to SVN as r3634.
2009-10-06 17:43:15 +00:00
Thomas Goyne 1f27582b50 Remove some members of VideoContext that are no longer used with the rewritten video display.
Originally committed to SVN as r3633.
2009-10-06 16:19:36 +00:00
Thomas Goyne bead7360c4 Delete threaded video mode, as it never worked in the first place and is fundamentally flawed.
Originally committed to SVN as r3632.
2009-10-06 16:12:23 +00:00
Amar Takhar 9217476357 Bitten by precompiled headers round 2: the OpenGL headers must be included before the local headers.
Originally committed to SVN as r3631.
2009-10-06 16:08:39 +00:00
Amar Takhar ac260ec47b Sigh, bitten by precompiled headers, wxLogDebug requires <wx/log.h>.
Originally committed to SVN as r3630.
2009-10-06 15:47:43 +00:00
Amar Takhar c204c766ec Add two more debug printfs:
* Print the WxH of the frame size.
 * Print the size of the texture actually used.

Originally committed to SVN as r3629.
2009-10-06 15:28:22 +00:00
Amar Takhar bb4506354f Add a debug printf to display what texture sizes VideoOutGL::TestTexture is checking.
Originally committed to SVN as r3628.
2009-10-06 14:58:32 +00:00
Amar Takhar 21c5e7909c svn:eol-style native and svn:keywords Id to relevent files.
Originally committed to SVN as r3623.
2009-10-05 23:04:30 +00:00
Amar Takhar 4cc6610161 Commit jfs' patch to fix rounding errors as he doesn't have trunk going at the moment. Closes #1018.
Originally committed to SVN as r3622.
2009-10-05 22:46:28 +00:00
Amar Takhar 6364e127f6 Remove 10.5 SDK from cflags, this path was just a copy-and-paste-o from the osx (10.5/x86) factory.
Originally committed to SVN as r3621.
2009-10-05 22:12:13 +00:00
Thomas Goyne 40987da11a Fix spelling of video_out_gl.cpp.
Originally committed to SVN as r3620.
2009-10-05 21:32:44 +00:00
Thomas Goyne e7465e7519 More reporter tweaks to make it actually build and run on Windows.
Originally committed to SVN as r3619.
2009-10-05 21:02:02 +00:00
Thomas Goyne d677b85b66 Add required stubs for OpenGL info to the windows platform stub.
Originally committed to SVN as r3618.
2009-10-05 20:55:13 +00:00
Thomas Goyne 404e6cf081 Add support for flipped video to new video renderer.
Originally committed to SVN as r3617.
2009-10-05 20:50:04 +00:00
Amar Takhar c9bc025bb2 Add a ',' so --enable-debug and --prefix don't get mashed together, this was stopping ppc builds from being debug (annoying).
Originally committed to SVN as r3616.
2009-10-05 16:54:30 +00:00
Thomas Goyne cbd76e7010 Rewrite the video rendering code to support displaying videos which are larger than the maximum texture size. This does not currently support YV12 (which Aegisub currently never uses), but should be otherwise functional.
Originally committed to SVN as r3615.
2009-10-05 04:22:28 +00:00
Thomas Goyne 39954493c0 Add platform_windows.h and .cpp to the project.
Originally committed to SVN as r3614.
2009-10-05 02:43:14 +00:00
Thomas Goyne df58224b55 Add #pragma once to exception.h.
Originally committed to SVN as r3613.
2009-10-05 00:06:11 +00:00
Amar Takhar 0cecf3c598 Add a stub class for Windows.. whoever fills this in should take over the license.
Originally committed to SVN as r3612.
2009-10-03 17:45:34 +00:00
Amar Takhar 41f39f65d7 Fix locale dir under windows, I forgot to change it after copying and pasting some code from aegisub.
Originally committed to SVN as r3611.
2009-10-03 17:37:09 +00:00
Thomas Goyne e1469154ea Create vcproj for reporter and make it build (but not be very useful) on windows.
Originally committed to SVN as r3610.
2009-10-03 17:16:52 +00:00
Thomas Goyne d54ddc688b Make font_file_lister.cpp build on windows when freetype2 is disabled (broken by r3536).
Originally committed to SVN as r3609.
2009-10-02 23:15:31 +00:00
Thomas Goyne 6f38989076 Remove some files from the iconv project that we shouldn't have been building.
Originally committed to SVN as r3608.
2009-10-02 22:02:00 +00:00
Grigori Goronzy b0810a7663 Wrap() after SetFont() and don't SetMinSize() to a fixed size to calculate
reporter window dimensions correctly.

Originally committed to SVN as r3603.
2009-09-29 11:56:43 +00:00
Amar Takhar c3fe549d4d Place the OpenGL info strings into their own block. OS X reports these as completely different strings it was co-incidence that the actual vendor/card info is there on FreeBSD/Linux. It's likely other operating systems (eg. Windows) does the same thing as OS X. Eventually I'll re-add vendor information for the actual card once I figure out a way to get it on BSD/OS X.
Originally committed to SVN as r3601.
2009-09-28 08:08:16 +00:00
Amar Takhar 84e17451f9 Fill in most of the hardware fields for MAC.
Originally committed to SVN as r3600.
2009-09-28 05:16:36 +00:00
Amar Takhar b7caa012da Add list of available OpenGL extensions.
Originally committed to SVN as r3598.
2009-09-27 13:26:23 +00:00
Amar Takhar c821a7e172 * Fix commandline support, I have no idea what the !OnInit block was after OnInit(), I removed it and everthing works as expected.
* Add -x switch for dumping the report to report.xml

Unfortunatly this causes a flicker of the reporter as we need to create the main frame in order to gather some desktop metrics.

Originally committed to SVN as r3597.
2009-09-27 11:30:29 +00:00
Amar Takhar 38d5f06821 * Move VideoInfo under private:
* Add doxygen docs for GetVideoInfo().

Originally committed to SVN as r3595.
2009-09-27 09:58:13 +00:00
Amar Takhar b2a7247d01 Switch GetVideoInfo to use an enum and return a single value rather than use private member variables. There are a few reasons for this:
* Over time too many private member variables will be hard to look at.
 * Speed isn't a concern, but code managability is.
 * I opted to create a custom enum rather than use GLenum to avoid polluting platform.h with OpenGL headers.

Originally committed to SVN as r3594.
2009-09-27 09:50:04 +00:00
Amar Takhar c32899df9a * Remove Video entry as duplicates what's now under Display.
* Remove unessicary 'Video ' before renderer/version/vendor entries.
 * Put entries under Hardware->Display and bump them to the top of the list.

Originally committed to SVN as r3593.
2009-09-27 09:27:44 +00:00
Grigori Goronzy 400365d831 Move OpenGL code down into Platform as it's portable now
Originally committed to SVN as r3592.
2009-09-27 04:15:41 +00:00
Grigori Goronzy e0b36fdaff Use wxGL to make OpenGL usage portable
Originally committed to SVN as r3591.
2009-09-27 03:12:17 +00:00
Grigori Goronzy 9230d5360a Fix breakage due to OS X support, introduced by one of the last commits
Originally committed to SVN as r3590.
2009-09-27 02:18:09 +00:00
Grigori Goronzy d64f10faa9 Split up video into vendor/renderer/version and acquire video
adapter info via OpenGL/GLX on Unix.

Originally committed to SVN as r3589.
2009-09-27 02:18:05 +00:00
Amar Takhar eaf3353982 Fix location of config.dat on OSX.
Originally committed to SVN as r3588.
2009-09-27 01:53:42 +00:00
Amar Takhar 6a792f0635 Add support for OSX to the reporter, the base is from the BSD version which works seamlessly with the exception of different sysctl names. (not updated)
Originally committed to SVN as r3587.
2009-09-27 01:47:11 +00:00
Amar Takhar e0d4dde970 Remove the actual files as well.
Originally committed to SVN as r3586.
2009-09-27 01:28:36 +00:00
Amar Takhar 877f908064 Remove the haali* files that were unintentionally introduced in r3575, they're windows-only.
Originally committed to SVN as r3585.
2009-09-27 01:26:34 +00:00
Grigori Goronzy 4d422b1997 Minor fixes to the reporter Linux support
* drop BSD-specific includes
* document CPU cores/count vs. logical CPU count
* close files properly
* return memory size in bytes

Originally committed to SVN as r3584.
2009-09-27 01:20:29 +00:00
Grigori Goronzy 6ce51f9435 Add a forward declaration which is apparently needed with certain gcc
versions

Originally committed to SVN as r3583.
2009-09-27 01:20:12 +00:00
Karl Blomster 6490c82e79 Change the way ffms2 index cache files are named to use source filename (without path) + source file's size in bytes + source file modification time, instead of just source file path + size in bytes, in order to make reusing index cache files on other computers easier. Closes #1008.
Originally committed to SVN as r3582.
2009-09-27 00:32:19 +00:00
Amar Takhar ab269aac37 Set proper defines for the reporter.
Originally committed to SVN as r3581.
2009-09-27 00:23:32 +00:00
Karl Blomster 5217854199 Update ffms2 to r222. Fixes compilation with ancient ffmpeg's and is a better solution than verm's hack in r3578.
Originally committed to SVN as r3580.
2009-09-26 23:54:26 +00:00
Amar Takhar 16f5d0aea6 Make sure the reporter is built and installed as reporter-2.2.
Originally committed to SVN as r3579.
2009-09-26 23:09:39 +00:00
Amar Takhar cf8b0ae97c Comment out a couple of lines in src/core/matroskavideo.cpp and src/core/lavfvideo.cpp to get aegisub building again, thefluff is working on a proper fix.
Originally committed to SVN as r3578.
2009-09-26 23:05:47 +00:00
Amar Takhar 8802e0ba3d Remove -I../src from ffms, it hasn't been needed for a very long time.
Originally committed to SVN as r3577.
2009-09-26 22:58:56 +00:00
Karl Blomster 9d80eb066f Updating ffms2 to r221 (2.12), step 3/3: Aegisub interface
Originally committed to SVN as r3576.
2009-09-26 21:58:00 +00:00
Karl Blomster 6e39199cb4 Updating ffms2 to r221 (2.12), step 2/3: makefile
Originally committed to SVN as r3575.
2009-09-26 21:56:39 +00:00
Karl Blomster 6fe92bce72 Updating ffms2 to r221 (2.12), step 1/3: sources
Originally committed to SVN as r3574.
2009-09-26 21:56:15 +00:00
Amar Takhar 8322981b47 Use wxString in lieu of std::string to stop confusion on OSX, also makes more sense..
Originally committed to SVN as r3573.
2009-09-26 21:12:15 +00:00
Amar Takhar 56ff7c2133 Fix tab alignment.
Originally committed to SVN as r3572.
2009-09-26 20:31:28 +00:00
Amar Takhar 3ba3955e2f Fix doxygen markup in platform_unix_linux.cpp.
Originally committed to SVN as r3571.
2009-09-26 20:29:25 +00:00
Amar Takhar 71065e6f66 Clarify what Features2 can be.
Originally committed to SVN as r3570.
2009-09-26 20:19:36 +00:00
Amar Takhar e9c5762cf7 Remove unused header.
Originally committed to SVN as r3568.
2009-09-26 20:08:52 +00:00
Amar Takhar db35bacceb Use elif instead of nested ifdefs.
Originally committed to SVN as r3567.
2009-09-26 20:05:54 +00:00
Amar Takhar ecc15a9935 Add the reporter subdir to Makefile.am so it gets built.
Originally committed to SVN as r3565.
2009-09-26 20:00:34 +00:00
Amar Takhar e13ca226fb Document the platform class and fix doxygen markup.
Originally committed to SVN as r3564.
2009-09-26 19:59:24 +00:00
Niels Martin Hansen 9104079dab Uncomment stuff to close #716.
Originally committed to SVN as r3563.
2009-09-26 19:44:41 +00:00
Grigori Goronzy a299f79515 Basic Linux support for the reporter.
Gather basic CPU and memory information by parsing /proc/cpuinfo and
/proc/meminfo.

Originally committed to SVN as r3562.
2009-09-26 16:44:36 +00:00
Grigori Goronzy ce6cdd77ce Fix reporter compilation without precompiled headers
Originally committed to SVN as r3561.
2009-09-26 14:53:27 +00:00
Amar Takhar 4f01dab280 Add dynamic build support for *bsd and linux.
Originally committed to SVN as r3560.
2009-09-26 14:50:24 +00:00
Amar Takhar c7bbf95c9b Add quotes around PROJECT_NAME so the space doesn't get swallowed.
Originally committed to SVN as r3559.
2009-09-26 09:40:49 +00:00
Amar Takhar c98fe933a4 Add @ingroup tags and another doxygen comment.
Originally committed to SVN as r3558.
2009-09-26 09:38:17 +00:00
Amar Takhar 16a6616da7 Fix misnaming of a group (s/Unix/unix/)
Originally committed to SVN as r3557.
2009-09-26 09:31:08 +00:00
Amar Takhar 6c0e38b868 Fix a whole bunch of doxygen markup errors. Also add missing docs.
Originally committed to SVN as r3555.
2009-09-26 09:22:54 +00:00
Amar Takhar 3d08e60f5b Fix main index.
Originally committed to SVN as r3554.
2009-09-26 09:19:12 +00:00
Amar Takhar 9df3ce3cee SRC_PWD needs to be set before TRIM.
Originally committed to SVN as r3553.
2009-09-26 08:57:26 +00:00
Amar Takhar ad1a11b5a0 s/done/(aegisub|reporter)/ for clarity.
Originally committed to SVN as r3552.
2009-09-26 08:52:01 +00:00
Amar Takhar fd645ebec4 Sigh, add two missing commas.
Originally committed to SVN as r3551.
2009-09-26 08:47:14 +00:00
Amar Takhar 90da141dd4 Support split projects.
Originally committed to SVN as r3550.
2009-09-26 08:45:19 +00:00
Amar Takhar 3bc81569b3 Split doxygen generating into two steps (reporter and aegisub). This should be made triggerable so only aegisub/reporter docs are generated if sources are not touched in one or the other..
Originally committed to SVN as r3549.
2009-09-26 08:44:32 +00:00
Amar Takhar cda9ac3c3b Split doxygen generation into two parts, one for aegisub and another for the reporter.
Originally committed to SVN as r3548.
2009-09-26 08:37:12 +00:00
Amar Takhar dcca1694ce * Follow aegisub and rename wx_pre.h to r_pre.h
* Sort headers.
 * Include missing c/c++ std headers into r_pre.h

Originally committed to SVN as r3547.
2009-09-21 04:53:51 +00:00
Karl Blomster fcd8f4e04e Throw an error instead of crashing if user attempts to load audio with bitdepth >16bits/sample. Updates #996.
Originally committed to SVN as r3545.
2009-09-21 01:52:34 +00:00
Karl Blomster 3edb446bec Fix (?) a bug that caused VFR transformation export to be broken, which also affected certain video providers when external timecodes were used.
Originally committed to SVN as r3542.
2009-09-20 20:45:54 +00:00
Karl Blomster 57d549f538 unbreak the y4m provider
Originally committed to SVN as r3541.
2009-09-19 21:34:40 +00:00
Karl Blomster 7ba66342b0 silence a MSVC warning
Originally committed to SVN as r3540.
2009-09-19 20:15:59 +00:00
Amar Takhar fa9c8c17f8 Remove 35 of the 39 pragma once added in r3538. I didn't realise so many would be not required. This patch isn't tested on windows, I'll fix it after the buildbot takes a run at it.
Originally committed to SVN as r3539.
2009-09-18 03:01:51 +00:00
Amar Takhar 11e1935d76 Remove include guards in favour of '#pragma once'. Normally I would use an include guard however #pragama once is easier to spot and we already used it in mst of our files, this is for the sake of consistency until they're removed.
Originally committed to SVN as r3538.
2009-09-18 02:48:31 +00:00
Amar Takhar aea050fbee I have no idea how or why this change got in, but fix a license line wrap.
Originally committed to SVN as r3537.
2009-09-16 12:19:52 +00:00
Amar Takhar aba73d4308 Remove 'pragma once' from colour_button.h font_file_lister.h gl_wrap.h subs_edit_ctrl.h.
Originally committed to SVN as r3536.
2009-09-16 12:18:09 +00:00
Amar Takhar 130e840028 I thought subtitles_provider.h was in src/ I didn't realise it was an include when trying to revert it. Of course I'd have noticed that beforehand if I was paying attention to what svn told me. This should have been in r3533.
Originally committed to SVN as r3535.
2009-09-11 19:21:19 +00:00
Amar Takhar f41123aad4 Wrap shlobj.h with WIN32 again, it got removed in a previous commit.
Originally committed to SVN as r3534.
2009-09-11 18:55:33 +00:00
Amar Takhar 8504b4790d Remove '#pragma once' from 84 files that don't need it. Thanks to Plorkyeran for testing this on windows. The next step is to detangle the remaining files that currently require it.
Originally committed to SVN as r3533.
2009-09-11 18:51:48 +00:00
Amar Takhar a874981ed7 ass_entry.h actually does need include/aegisub/exception.h, didn't notice because of precompiled headers.
Originally committed to SVN as r3532.
2009-09-11 05:04:05 +00:00
Amar Takhar ca01bb2b86 Add an include guard in agi_pre.h, for whatever reason GCC likes to include the precompiled header twice. I've added a note that this needs to be looked at eventually.
Originally committed to SVN as r3531.
2009-09-11 04:35:45 +00:00
Amar Takhar b0df329ce9 Remove un-needed inclusion of include/aegisub/exception.h
Originally committed to SVN as r3530.
2009-09-11 04:35:11 +00:00
Amar Takhar b116610d12 Add missing headers that are in agi_pre.h but not the actual header, should fix the non-precompiled header build.
Originally committed to SVN as r3529.
2009-09-11 02:59:48 +00:00
Niels Martin Hansen 42a293ccca As <aegisub/exception.h> should become widely used soon enough, add it to the precompiled headers.
Protect <omp.h> from inclusion on compilers that don't support OpenMP.

Originally committed to SVN as r3528.
2009-09-11 02:49:58 +00:00
Niels Martin Hansen d1c70ef6d2 Protect agi_pre.h from double inclusion during PCH generation in MSVC.
Originally committed to SVN as r3527.
2009-09-11 02:47:14 +00:00
Niels Martin Hansen a3bf534b5e Fixes for internal logical consistency of exception.h. (Make sure we can actually support inner exceptions in all cases.)
Also make it follow the AGI_PRE pattern.

Originally committed to SVN as r3526.
2009-09-11 02:46:01 +00:00
Amar Takhar 774fb0f674 Fix all the headers in *., this includes:
* Wrapping all headers that are in agi_pre.h with AGI_PRE.
  * Sorting alphabetically.
  * Same operation as r3515.

Note: This is broken when precompiled headers are not in use, I'll fix that after this commit so the two changes don't get jumbled up.

Originally committed to SVN as r3525.
2009-09-11 02:36:34 +00:00
Amar Takhar 8eda8f2a9c Add <wx/arrstr.h> which was accidentally left out when moving the patch from one machine to the other in r3518.
Originally committed to SVN as r3524.
2009-09-11 02:30:10 +00:00
Amar Takhar e4271d6aac Add missing <fstream> header, this should fix compilation on unix/osx.
Originally committed to SVN as r3521.
2009-09-11 01:07:38 +00:00
Grigori Goronzy b017d60e39 Forward declaration for AutoloadScriptManager too
Seems to work without it for others, but I have no idea why. This
shouldn't harm in this case still.

Originally committed to SVN as r3520.
2009-09-10 23:28:15 +00:00
Niels Martin Hansen 6cc37d3f0b A bit more cleaning of precompiled headers for Windows builds. Comment on why things are done as they are. Also move a few headers only used in single files out of the precompiled header and into the places they're actually used.
Originally committed to SVN as r3519.
2009-09-10 23:08:38 +00:00
Amar Takhar 88276ed1f4 * Move some headers below the rest as they need wx settings that don't seem to be inited when the header is first in the list.
* Add some missing headers and reposition one from the file to header.
 * Revert r3516 as it's no longer needed.

Originally committed to SVN as r3518.
2009-09-10 22:48:29 +00:00
Niels Martin Hansen 1d80d6514b Juggle include order in agi_pre.h around a bit to make things work properly on Windows.
Originally committed to SVN as r3517.
2009-09-10 14:39:39 +00:00
Amar Takhar d455a61732 Set wxUSE_CHOICEDLG to 1, I don't know why this is required I'll look at it later.
Originally committed to SVN as r3516.
2009-09-10 13:43:31 +00:00
Amar Takhar d348b4e33e Fix all the headers in *.cpp, this includes:
* Wrapping all headers that are in agi_pre.h with AGI_PRE.
 * Sorting alphabetically.

Originally committed to SVN as r3515.
2009-09-10 13:06:40 +00:00
Amar Takhar 79397825cf Add missing wx/log.h, sort headers.
Originally committed to SVN as r3514.
2009-09-10 10:51:49 +00:00
Amar Takhar 7a8c5229fd * Remove wxprec.h from all files other than agi_pre.h. Including this in various headers is useless as it includes wx.h which includes dozens of 'common' wx headers. With this we're unable to tell which files rely on which interfaces. This commit removes them and manually places in required headers as-needed.
* Update agi_pre.h to include some missing headers, also move required windowsheaders to the top of the list
 * Use <> versus "" for the wx header in avisynth_wrap.cpp
 * Remove xx/wx.h from agi_pre.h as it's included by wxprec.h.

Originally committed to SVN as r3513.
2009-09-10 10:26:50 +00:00
Amar Takhar 84996c927f Add a whole slew of missing includes, prior to r3509 config_unix.h used to include stdwx.h, now that I'm fixing the headers I removed it which caused issues when not using precompiled headers.
Originally committed to SVN as r3512.
2009-09-10 05:25:25 +00:00
Amar Takhar 6a7e4769e3 Add several dozen more headers to agi_pre.h
Originally committed to SVN as r3510.
2009-09-10 04:29:04 +00:00
Amar Takhar 05ae13a8ab * Rename stdwx.h to agi_pre.h as it doesn't include wx headers only, it's confusing.
* Rename include guard to AGI_PRE.

Originally committed to SVN as r3509.
2009-09-10 04:14:28 +00:00
Thomas Goyne 132d8ba3ac Move #include "config.h" to before #define WX_PRE so that it does gets included at some point.
Originally committed to SVN as r3508.
2009-09-10 03:14:09 +00:00
Thomas Goyne e0cc5fc038 Wrap wx includes with _CRT_SECURE_NO_WARNINGS to make msvc stop hurfing and durfing.
Originally committed to SVN as r3507.
2009-09-10 02:52:34 +00:00
Amar Takhar bdbb8cc4ce Wrap config.h with WX_PRE so it doesn't get included twice. stdwx.h requires it to be included.
Originally committed to SVN as r3506.
2009-09-10 02:42:06 +00:00
Amar Takhar 3c1b52eb69 Add 79 missing wx includes to stdwx.h, the build is much faster on unix, should be the same for windows.
Originally committed to SVN as r3505.
2009-09-10 02:32:55 +00:00
Amar Takhar deeec2de18 Re-organise stdwx.h and sort alphabetically.
Originally committed to SVN as r3504.
2009-09-10 02:27:25 +00:00
Amar Takhar 925fa88c0c * Remove #pragma once.
* Sort wx headers and wrap with #ifndef WX_PRE.
 * Add missing heade rto stdwx.h.
M    src/ass_attachment.h
M    src/subs_grid.cpp
M    src/ass_dialogue.cpp
M    src/ass_attachment.cpp
M    src/aegisub_endian.h
M    src/audio_display.cpp
M    src/audio_karaoke.cpp
M    src/dialog_kara_timing_copy.cpp
M    src/ass_dialogue.h
M    src/text_file_writer.cpp
M    src/stdwx.h

Originally committed to SVN as r3503.
2009-09-10 02:23:43 +00:00
Amar Takhar d519f4589d * Remove main.h from files that don't require it.
* Remove include guard in main.h as it's no longer required.
 * Sort wx headers and wrap with #ifndef WX_PRE.
 * Add #define WX_PRE to stdwx.h.

Originally committed to SVN as r3502.
2009-09-10 02:07:55 +00:00
Thomas Goyne 1a4e7375fd Add some documentation to VideoDisplay and clean up the includes a bit.
Originally committed to SVN as r3501.
2009-09-10 01:41:34 +00:00
Grigori Goronzy a4f844c048 Fix another typo in the German translation, patch by basti2k.
Originally committed to SVN as r3500.
2009-09-09 12:25:03 +00:00
Amar Takhar 0992a68488 Rewrite how wxStackWalker works:
* Change from fstream to wxFile.
 * Create both text-based and xml based reports (for the reporter)

Originally committed to SVN as r3499.
2009-09-09 07:04:10 +00:00
Grigori Goronzy 5ab1eab906 OSS player: handle changing end position correctly
If the slider is moved to the playbar while the player is running,
the playback needs to be stopped.  Handle this situation properly.

Additionally, select a low-latency buffer policy if possible (OSS4
only).  This will make it possible to move the slide near the playbar
without stopping playback (the current writing position is always in
advance of the playback position by the buffer size!)

Originally committed to SVN as r3498.
2009-09-09 03:24:34 +00:00
Grigori Goronzy 9d0daf6821 Add OSS audio player
Tested on OSS4 (4front), FreeBSD 7.2 OSS and with ALSA's OSS emulation.
Bear with me, this is both my first serious C++ and OSS code.

Originally committed to SVN as r3497.
2009-09-08 22:06:07 +00:00
Amar Takhar b258daa120 Add the new icons + new source paths to EXTRA_DIST, it was still set to the XPMs.
Originally committed to SVN as r3496.
2009-09-06 02:39:32 +00:00
Amar Takhar a5730828d3 Remove __APPLE__ around SetBitmap() in AppendBitmapMenuItem, this gives us pretty icons in our menus on osx.
Originally committed to SVN as r3495.
2009-09-06 00:41:38 +00:00
Amar Takhar ba87160fdc Linux needs a specific wx-config path too for 2.9, this should fix ubuntu, debian is still broken.
Originally committed to SVN as r3494.
2009-09-06 00:01:06 +00:00
Amar Takhar ea5bdad036 Set path to correct wx-config, this shouild fix disting on freebsd.
Originally committed to SVN as r3493.
2009-09-05 23:58:25 +00:00
Amar Takhar 6c08c50d92 Revert 3489 the issue is more complex than I originally thought. Updates #1009.
Originally committed to SVN as r3490.
2009-09-05 20:19:13 +00:00
Amar Takhar 7bbf2e6ce8 * Add a check and warnming message if X_CFLAGS / X_LIBS isn't set (and a note that you need Imake)
* Remove two lines that have been commented for a year
 * Fix some error message wording.

Originally committed to SVN as r3489.
2009-09-05 19:53:18 +00:00
Amar Takhar c89dcae7fc Don't attempt to draw a NULL bitmap, OSX doesn't like this. (i'd gather that none of the other platforms do either but on osx it causes a crash.
Originally committed to SVN as r3488.
2009-09-05 04:06:38 +00:00
Amar Takhar 53b3f8468c Remove old MacRegisterDefaultTypeAndCreator that no longer wxist in wxCocoa. Add a note about how this is handled on unix and a todo item for fixing this on OSX.
Originally committed to SVN as r3487.
2009-09-05 03:56:45 +00:00
Amar Takhar 441e10c71f Switch the mac buildslaves to use wxCocoa from wxMac (carbon).
Originally committed to SVN as r3486.
2009-09-05 02:38:27 +00:00
Amar Takhar e545c96dc8 OSX doesn't like it when combo boxes are empty, so init styles to "Default" and actor to "Actor".
Originally committed to SVN as r3485.
2009-09-05 02:24:52 +00:00
Amar Takhar 2d96c5bf4b Remove a bunch of __WXMAC__ entries that are no longer required.
* Options uses a TreeBook like every other platform
 * Browse button now works in osx
 * wxGLCanvas is now the same as windows/unix

Originally committed to SVN as r3484.
2009-09-05 01:16:23 +00:00
Amar Takhar 878f451d72 Remove an old hack required for wx2.8, this is no longer required for 2.9. Closes #850.
Originally committed to SVN as r3483.
2009-09-04 05:12:49 +00:00
Amar Takhar c494b694a0 Disable setting of .DS_Store for now.
Originally committed to SVN as r3482.
2009-09-04 02:38:30 +00:00
Amar Takhar 99f421bf73 Set the .DS_Store file in the temp dmg directory rather than after it's mounted. jfs reported finder crashing after updating to 10.5.8. Setting it this way should work and avoid the issue of .DS_Store changing randomly as a folder won't show up on the desktop like a mounted image will.
Originally committed to SVN as r3481.
2009-09-04 02:16:39 +00:00
Amar Takhar 5a12ee807b Whoops, remove one last evil #pragma once that was left in while developing.
Originally committed to SVN as r3480.
2009-09-03 07:18:43 +00:00
Amar Takhar ccf71021af Sort the name map.
Originally committed to SVN as r3478.
2009-09-03 07:12:48 +00:00
Amar Takhar ad542ab8fc Drop the curl version from 7.19.2 to 7.18.2 beacuse debian/ubuntu have ancient versions installed.
Originally committed to SVN as r3477.
2009-09-03 07:10:57 +00:00
Amar Takhar 930f593d6a dd the beginings of the Aegisub Reporter, this is my first C++ program from scratch. (yes, that's a disclaimer)
What's left to be done:
  * Crash support. (only works for 'reports')
  * UI cleanups.
  * Interfacing with Aegisub to get proper metrics.
  * OSX support.
  * Windows support. (someone else will have to do this)
  * Server-side code.

There's probably a lot of other things I'm forgetting, anyone is free to commit to this, if you want to make major changes let me know beforehand.

Originally committed to SVN as r3475.
2009-09-03 06:53:55 +00:00
Amar Takhar 1155d1bcf8 wxUSE_STACKWALKER is defined to 0/1, so #ifdef doesn't work. (noticed by plork)
Originally committed to SVN as r3474.
2009-09-03 06:03:38 +00:00
Amar Takhar 95812a6c79 Mark DecodePathMaybeRelative as depreciated this is a legacy function that's a pain and no longer required for 2.2 it needs to be removed eventually.
Originally committed to SVN as r3473.
2009-09-03 05:27:49 +00:00
Amar Takhar 78b0765608 Vastly simplify saving of backup .ass files when crashing.
* Remove "Autorecovery path" option, this should not be user configurable.
 * Crashes are now saved as recovered/YYYY-MM-DD-HHMMSS_<name>.ass (no pruning)

Originally committed to SVN as r3472.
2009-09-03 05:27:11 +00:00
Amar Takhar 01df6ba169 Remove the dual exception messages and strip it down to 1 short one, removing all references to crashlog.txt.
Originally committed to SVN as r3471.
2009-09-02 20:46:15 +00:00
Amar Takhar bf275da4de Revert r3462, this is the same issue as described in r3466. Someone on windows will need to sort this out.
Originally committed to SVN as r3470.
2009-09-02 11:03:52 +00:00
Amar Takhar 65d2eda681 Silence warnings in MatroskaParser.c
Originally committed to SVN as r3469.
2009-09-02 10:06:25 +00:00
Amar Takhar 4aa6975a8d Whoops, I mis-placed the parentheses in r3458.
Originally committed to SVN as r3468.
2009-09-02 10:04:36 +00:00
Amar Takhar 46c824442b Remove useless typedef
Originally committed to SVN as r3467.
2009-09-02 10:04:03 +00:00
Amar Takhar e1a23412ac Revert r3461.. on unix iconv requires const char**, however for whatever reason msvc is complaining it can't convert it to char**. I have no idea why someone on windows will have to debug it.
Originally committed to SVN as r3466.
2009-09-02 09:40:52 +00:00
Amar Takhar 430286cf69 Silence warnings for the pulseaudio player.
Originally committed to SVN as r3465.
2009-09-02 09:00:03 +00:00
Amar Takhar 3aa7424998 Sprinkle const to remove warnings, add {} behind a while loop.
Originally committed to SVN as r3464.
2009-09-02 08:48:07 +00:00
Amar Takhar 7237e44291 Switch from long to wxCoord to remove warnings.
Originally committed to SVN as r3463.
2009-09-02 08:45:09 +00:00
Amar Takhar 256671d666 Add (const char**) cast to inptr in iconv to silence warning.
Originally committed to SVN as r3462.
2009-09-02 08:41:29 +00:00
Amar Takhar a02a63c4e5 Sprinkle const to remove warnings.
Originally committed to SVN as r3461.
2009-09-02 08:31:58 +00:00
Amar Takhar 89284f5a1c Sprinkle const to remove warnings.
Originally committed to SVN as r3460.
2009-09-02 08:28:30 +00:00
Amar Takhar 2bd2b7f3a3 Add empty {}'s after while statements to silence warnings (and for safety!
Originally committed to SVN as r3459.
2009-09-02 08:26:52 +00:00
Amar Takhar a16c8ed838 Add parentheses to silence warning. (and for clarity)
Originally committed to SVN as r3458.
2009-09-02 08:23:18 +00:00
Amar Takhar 24c7ceb0ab Add parentheses to silence warning. (and for clarity)
Originally committed to SVN as r3457.
2009-09-02 08:21:09 +00:00
Amar Takhar aacc50702f Add empty {}'s after while statements to silence warnings (and for safety!
Originally committed to SVN as r3456.
2009-09-02 08:19:24 +00:00
Amar Takhar 586f2297fc Add const to langs[] to silence warnings.
Originally committed to SVN as r3455.
2009-09-02 08:18:11 +00:00
Amar Takhar eceb72d95e Add (const char*) to silence warning to strcmp.
Originally committed to SVN as r3454.
2009-09-02 08:10:59 +00:00
Amar Takhar eb807fea3d Add (char *) before string constant to silence warning. to ass_read_memory.
Originally committed to SVN as r3453.
2009-09-02 08:06:51 +00:00
Amar Takhar 77e2eaef04 Comment two unused variables to silence warnings.
Originally committed to SVN as r3452.
2009-09-02 08:04:45 +00:00
Amar Takhar aef7375ddb * Add a new define WITH_EXCEPTIONS to allow exception handling to be forced on when in debug mode.
* Add --enable-debug-exceptions to set WITH_EXCEPTIONS.
 * Fix precompiled header msg using AC_RESULT. (forgot this in the original patch)

Originally committed to SVN as r3451.
2009-09-02 07:59:17 +00:00
Amar Takhar 1af100f284 Supplant ${HOME} with /home/verm, I forgot that the buildslaves run with an extremely limited env. This isn't a perm solution but it'll get us building for now.
Originally committed to SVN as r3450.
2009-09-02 05:01:54 +00:00
Amar Takhar ec28310df9 Sort ass_parse.c into the alphabet. (like the rest)
Originally committed to SVN as r3449.
2009-09-02 04:01:20 +00:00
Grigori Goronzy 6ccb1a5516 Fix inline function prototypes in libass.
Originally committed to SVN as r3448.
2009-09-02 03:29:35 +00:00
Grigori Goronzy a9b80dea4c Update libass and adjust to API changes.
Update the internal libass copy to git commit cf7c6e4c and fix the
libass provider; libass types were renamed.

Originally committed to SVN as r3446.
2009-09-02 01:23:51 +00:00
Grigori Goronzy f263c0f599 Fix lots of spelling and grammar errors in the German translation
(and some blatantly obvious mistranslations).

Originally committed to SVN as r3445.
2009-09-02 01:23:46 +00:00
Niels Martin Hansen 64c642c142 Revert r3431, it breaks the clipboard on Windows and is in fact also incorrect usage of the primary selection in X11 context. (I have never heard of anyone claiming clipboard usage not working on X11 before.)
This comment is in `include/wx/clipbrd.h`:
{{{
    // this allows to choose whether we work with CLIPBOARD (default) or
    // PRIMARY selection on X11-based systems
    //
    // on the other ones, working with primary selection does nothing: this
    // allows to write code which sets the primary selection when something is
    // selected without any ill effects (i.e. without overwriting the
    // clipboard which would be wrong on the platforms without X11 PRIMARY)
}}}
Note that it says that primary selection enabled causes the clipboard to do nothing on platforms that have no concept of primary selection, such as Windows and Mac.

On X11 the primary selection should only reflect an active selection of text (or similar) that the user has performed, and the contents of the primary selection buffer will essentially change all the time as the user changes selection. When the user chooses to explicitly copy something to the clipboard (as is the case with Aegisub, the only operation supported by us currently) the data is placed in a less ephemeral buffer which is the actual clipboard, separate from the primary selection, allowing the user to change the primary selection further without affecting the clipboard.

Originally committed to SVN as r3443.
2009-08-28 21:45:01 +00:00
Niels Martin Hansen b1225cdd1f Correct a use of wx event handling, which should also make FrameMain not require friend access to AudioDisplay.
Originally committed to SVN as r3442.
2009-08-28 21:15:39 +00:00
Amar Takhar 28a79d49ac Whoops, I nuked the reference counter initilisation by accident. in r3440.
Originally committed to SVN as r3441.
2009-08-25 05:31:20 +00:00
Amar Takhar 3eff6459cb * Clean up doxygen comments.
* Fix spacing between blocks.
 * Add some debugging info.

Originally committed to SVN as r3440.
2009-08-25 05:17:07 +00:00
Amar Takhar e0f84274b0 Add the languages button that was missed in r3437.
Originally committed to SVN as r3439.
2009-08-22 03:59:09 +00:00
Amar Takhar 3de6c63ddd Reformat the 'Enter aspect ratio' text to be formatted as a block rather than a very wide string that looked silly.
Originally committed to SVN as r3438.
2009-08-22 03:56:02 +00:00
Amar Takhar 775c73de29 Add new icons from Kaverin.
Originally committed to SVN as r3437.
2009-08-22 03:51:00 +00:00
Amar Takhar 0def838ef2 Add modified buttons from r3435.
Originally committed to SVN as r3436.
2009-08-22 03:50:12 +00:00
Amar Takhar 203f3ac4dd Add new buttons, commit changes to modified buttons.
Originally committed to SVN as r3435.
2009-08-21 23:10:43 +00:00
Amar Takhar 8ba5aa27be Move stream position info into it's own struct.. Looks like a few globals can't be helped due to how the AudioPlayer class is designed. If I have to use globals I'll atleast make them easier to manage.. Updates #997.
Originally committed to SVN as r3434.
2009-08-21 21:40:18 +00:00
Amar Takhar 5ea99a65e7 Remove unused global 'stopping' and remove unused mutex code. Updates #997.
Originally committed to SVN as r3433.
2009-08-21 20:28:43 +00:00
Amar Takhar 2df6b2fd38 Remove 'playing' global in favour of an IsPlaying function that uses Pa_IsStreamActive(). Updates #997.
Originally committed to SVN as r3432.
2009-08-21 20:08:58 +00:00
Amar Takhar f5a9af6a6c Call wxTheClipboard->UsePrimarySelection(true) when using wxClipboard, without getting into detail clipboard work very differently on X11. Without calling this copying to the clipboard won't work. I've just put it after every use of ->Open, this is safe as in every case Close() is called right after. This will fix clipboard copying on all unices.
Originally committed to SVN as r3431.
2009-08-20 02:31:33 +00:00
Amar Takhar 50d9dbd4f1 Add detach_video_menu and show_overscan_menu_checked <- this one isn't in use as you can't Check() a menu item that has a bitmap, we need to figure out an alternate solution. This probably involves flipping the bitmap to our own of a checkmark.
Originally committed to SVN as r3430.
2009-08-19 07:03:39 +00:00
Amar Takhar 2bf5f6656e Commit modified buttons from r3428.
Originally committed to SVN as r3429.
2009-08-19 06:48:50 +00:00
Amar Takhar 8fc5075a5b Update a bunch of icons and add detach_video_menu, show_overscan_menu_checked.
Originally committed to SVN as r3428.
2009-08-19 06:46:27 +00:00
Amar Takhar b2f4c07de9 PNG versions from r3426.
Originally committed to SVN as r3427.
2009-08-18 06:23:06 +00:00
Amar Takhar 3c32cfa312 Update SVGs from Kaverin.
Originally committed to SVN as r3426.
2009-08-18 06:20:58 +00:00
Amar Takhar 58965afc9a * Delete find_replace_button and find_next_button (these were blank anyway) and replace them with find_next_menu and find_replace_menu.
* Add new buttons open_audio_menu, open_audio_from_video_menu, close_audio_menu and close_video_menu.

Originally committed to SVN as r3425.
2009-08-18 01:28:15 +00:00
Amar Takhar 5cfa19f6b9 Add png versions of the modified SVG buttons from r3423.
Originally committed to SVN as r3424.
2009-08-18 01:24:00 +00:00
Amar Takhar 8d6c607251 Add close_audio_menu.svg find_replace_menu.svg find_next_menu.svg close_video_menu.svg open_audio_menu.svg open_audio_from_video_menu.svg + modifications to a couple dozen other buttons.
Originally committed to SVN as r3423.
2009-08-18 00:49:22 +00:00
Amar Takhar 6cae404100 Use /home/verm in lieu of ~ as it won't get expanded.
Originally committed to SVN as r3422.
2009-08-16 22:01:38 +00:00
Niels Martin Hansen f3e84bea88 Some more cache management stuff for the audio rendering.
Originally committed to SVN as r3421.
2009-08-16 16:22:59 +00:00
Amar Takhar bafe88cf38 Add '~/build/wx/share/aclocal' to ACLOCAL_FLAGS so autogen can find the correct wxwin.m4.. not sure if this will work, we'll see.
Originally committed to SVN as r3420.
2009-08-16 05:18:33 +00:00
Niels Martin Hansen 4526b0dc43 Try to get around G++'s dislike of my iterators by using an integer index instead.
Originally committed to SVN as r3419.
2009-08-16 04:31:29 +00:00
Amar Takhar b37310e286 Add a bunch of new icons from Kaverin.
Originally committed to SVN as r3418.
2009-08-16 03:54:44 +00:00
Niels Martin Hansen 56b40bc67a Will GCC like me better if I sprinkle some 'typename' around?
Originally committed to SVN as r3417.
2009-08-16 03:50:41 +00:00
Amar Takhar dd4ab361b0 Add several new icons to be used in the menu. These and the followin new icons will be available in the future when users are able to customise the menus.
Originally committed to SVN as r3416.
2009-08-16 02:39:19 +00:00
Niels Martin Hansen c97f91c137 Fix compilation errors on GCC.
Also fix a bug in the block cache where it wasn't the sorted order of the macroblocks by access count that was used in determining which ones to kill off.

Originally committed to SVN as r3415.
2009-08-16 01:10:20 +00:00
Niels Martin Hansen e9e3b2d107 Change AudioRenderer to use DataBlockCache.
Originally committed to SVN as r3414.
2009-08-16 00:28:26 +00:00
Niels Martin Hansen d29d267cce Did I say we were going to use a B+ tree for caching stuff? No I didn't, I never said so!
(Revert r3411 and r3410.)

Originally committed to SVN as r3413.
2009-08-15 21:56:28 +00:00
Niels Martin Hansen 76d94ec94c Add DataBlockCache template class. It parses but I don't know if it compiles yet.
Updates #951, #965, #990.

Originally committed to SVN as r3412.
2009-08-15 21:48:58 +00:00
Amar Takhar 324094960b Add btree/*.h to _SOURCES.
Originally committed to SVN as r3411.
2009-08-15 04:21:50 +00:00
Niels Martin Hansen 60e2cf3790 Add Anton Fedoruk's B+ Tree implementation, intended to be used for for audio display caching among other things.
Originally committed to SVN as r3410.
2009-08-15 04:20:25 +00:00
Amar Takhar 3b1a722e5c Add a \n after Kaverins entry to wrap (noticed by kaverin).
Originally committed to SVN as r3409.
2009-08-14 05:18:20 +00:00
harukalover 34913135c9 Removed a condition which would make clicking on a line that was already selected never update the editbox, this was wrong since the line's text can be changed by functions outside of direct editing in the editbox (e.g. automation scripts)
Originally committed to SVN as r3408.
2009-08-14 05:08:29 +00:00
Amar Takhar a31139a408 Reverse tooltips for the Cancel/Accept buttons in Split mode... I checked all of this carefully before I comitted, I guess I read what I wanted to see. (noticed by Kaverin)
Originally committed to SVN as r3407.
2009-08-14 04:57:32 +00:00
Amar Takhar edc7b00b97 PNG versions of the modified buttons.
Originally committed to SVN as r3406.
2009-08-14 03:17:16 +00:00
Amar Takhar 69eae15283 Add kara_split_accept and commit a whole bunch of modified buttons, all from Kaverin.
Originally committed to SVN as r3405.
2009-08-14 03:15:45 +00:00
Amar Takhar bebc71ef53 Change how the Split/Join mode buttons work. Previously there was a weird hack used to change the text of the buttons when the various modes were used. When switching to icons this was no longer possible -- Well you could switch the bitmap dynamically but that's really gross. Instead the two pairs of buttons are put into their own BoxSizers which are Shown and Hidden when each mode is used.
Originally committed to SVN as r3404.
2009-08-14 03:11:34 +00:00
Niels Martin Hansen d67176de9b Make some (do-nothing) destructors in the chardet library virtual, should fix some warnings on some GCC versions.
Originally committed to SVN as r3403.
2009-08-14 01:40:51 +00:00
Thomas Goyne 696e76379e Make the hotkeys for the visual typesetting modes customizable. Closes #992
Originally committed to SVN as r3402.
2009-08-13 22:07:43 +00:00
Amar Takhar 7634ce2d4e Add -force to 'hdiutil detach'.. this should stop the "Resource Busy" errors we keep on getting. I should have un-lazy'd myself a long time ago, though if I knew the fix this was this simple I would have.. guess I'm too used to every fix on OS X being long and convoluted. (argh)
Originally committed to SVN as r3401.
2009-08-13 19:35:42 +00:00
Niels Martin Hansen fd65666eb2 Forgot to change filenames in doxy comments when renaming audio_spectrum.*.
Originally committed to SVN as r3400.
2009-08-13 17:28:12 +00:00
Niels Martin Hansen dcebd9be94 Add constructor and destructor to AudioRendererBitmapProvider base class.
GCC warned that it was missing a virtual destructor while having virtual methods.

Originally committed to SVN as r3399.
2009-08-13 16:14:41 +00:00
Niels Martin Hansen f810fd20ce Rename audio_spectrum.* to audio_renderer_spectrum.* in preparation of converting the spectrum into a slave of AudioRenderer. See #951 and #990.
Originally committed to SVN as r3398.
2009-08-13 16:04:45 +00:00
Amar Takhar bb4207b380 It's tools/ now now scripts/ (should fix osx dmging.)
Originally committed to SVN as r3397.
2009-08-13 01:12:00 +00:00
Niels Martin Hansen 2a7e42c6a5 This should fix Mac builds failing on GL stuff.
Originally committed to SVN as r3396.
2009-08-13 00:35:45 +00:00
Niels Martin Hansen 09e27f5df3 Add two missing functions to audio_renderer.cpp to finally make it compile!
Originally committed to SVN as r3395.
2009-08-13 00:14:36 +00:00
Niels Martin Hansen 80364aaf01 Also forgot a wx include for wxMemoryDC in audio_renderer.cpp.
Originally committed to SVN as r3394.
2009-08-13 00:05:38 +00:00
Niels Martin Hansen 29f1272843 Uh oops, audio_renderer.cpp was including <set> instead of <map>...
Originally committed to SVN as r3393.
2009-08-13 00:04:16 +00:00
Niels Martin Hansen b9e7e178c2 Remove changelog.txt reference from MSVC project file, c.f. r3389.
Originally committed to SVN as r3392.
2009-08-12 23:48:27 +00:00
Niels Martin Hansen 5501c42cb0 Add (currently unused) AudioRendrer class and companions, see #951, #965 and #990.
Originally committed to SVN as r3390.
2009-08-12 23:42:53 +00:00
Niels Martin Hansen 0276b31225 Get rid of the unused and outdated changelog.txt.
Originally committed to SVN as r3389.
2009-08-11 18:21:58 +00:00
Amar Takhar f8963ff875 Update a bunch of icons from Kaverin and add the final two karaoke buttons.
Originally committed to SVN as r3388.
2009-08-11 17:01:02 +00:00
Amar Takhar 86e14fc0cc Add an Icons by: Phlip Cash entry for Kaverin to the about dialogue.
Originally committed to SVN as r3387.
2009-08-11 07:20:36 +00:00
Amar Takhar 986ccb95f8 Update doxygen build factory.
Originally committed to SVN as r3386.
2009-08-11 06:47:22 +00:00
Amar Takhar e046f753d9 Switch Karaoke mode button, join button and split button to new icons..
Originally committed to SVN as r3385.
2009-08-11 06:07:19 +00:00
Amar Takhar 24c25d01e3 Change the 'Commit' (text) button to button_audio_commit. (note: we really need to rename our icon reference/filenames)
Originally committed to SVN as r3384.
2009-08-11 05:50:11 +00:00
Amar Takhar 94965d1277 Add new icon: kara_timing_copier which replaces kanji_timer_button. Nothing has been changed other than the icon name. updates #870
Originally committed to SVN as r3383.
2009-08-11 05:35:25 +00:00
Amar Takhar c945d3e8e4 Follow-up r3381 and adjust modified icons, also add new kara_* icons.
Originally committed to SVN as r3382.
2009-08-11 05:28:16 +00:00
Amar Takhar 4427fb00db * Update some icons
* Remove kanji_timer_button.svg as it has been renamed.
 * Add kara_mode, kara_join, kara_timing_copier (previously kanji_timer_button) and kara_split.

Originally committed to SVN as r3381.
2009-08-11 05:25:00 +00:00
Amar Takhar 2106a1950c Update png icons to the latest from r3379.. eventually we need to compare the uncompressed DATA entry to detect if an icon has really changed or not..
Originally committed to SVN as r3380.
2009-08-09 05:53:47 +00:00
Amar Takhar 4f7a4eece9 Latest update of the icons from kaverin, all buttons done, woohoo\!
Originally committed to SVN as r3379.
2009-08-09 05:52:07 +00:00
Karl Blomster 26cccd2882 Add Simplified Chinese translation by nlnjnj.
Originally committed to SVN as r3378.
2009-08-08 13:36:07 +00:00
Karl Blomster 65fb2e7efa Remove a pointless attempt to reindex a file in the ffms2 video provider. It didn't help anything, in fact it just caused crashes since the source object was free'd after the first attempt. Fixes #976.
Originally committed to SVN as r3377.
2009-08-07 20:16:13 +00:00
Karl Blomster 1a182098fc Document the Y4M video provider.
Originally committed to SVN as r3376.
2009-08-07 19:59:37 +00:00
Amar Takhar c6c99a1fe6 Update icons, just two left find_button (binoculars) and the translation button (fish).
Originally committed to SVN as r3375.
2009-08-06 21:57:15 +00:00
Amar Takhar 7b0ded8edc Add SVG icons from Kaverin.
Originally committed to SVN as r3374.
2009-08-06 21:56:35 +00:00
Amar Takhar 27256ae44a Add libresrc.cpp, libresrc.h to CLEANFILES.
Originally committed to SVN as r3373.
2009-08-06 21:26:27 +00:00
Amar Takhar 5b5597a1c9 Delete BMP buttons, they're no longer in use..
Originally committed to SVN as r3372.
2009-08-06 21:19:50 +00:00
Amar Takhar 2bd48754bd Fix alignment of some --help messages.
Originally committed to SVN as r3371.
2009-08-06 04:39:35 +00:00
Amar Takhar 02581bf1f1 Add a new option --enable-gcc-prec which will enable the use of gcc precompiled headers, this speeds up the build time (including one time builds) by several oders of magnitude. closes #975
Originally committed to SVN as r3369.
2009-08-06 04:35:35 +00:00
Amar Takhar d899c816b8 Document kana_table.*
Originally committed to SVN as r3368.
2009-08-06 01:55:24 +00:00
Amar Takhar 6b8ac0d0ea Make the script chmod to 0644 after generating, I don't know why (yet) it uses such strict permissions..
Originally committed to SVN as r3366.
2009-08-05 22:04:52 +00:00
Niels Martin Hansen b6a63c15e6 Adjust throwing of exceptions to the new style documented in exception.h.
(Good thing nothing is catching these yet, and it's the only case of "new style" exceptions being used.)

Originally committed to SVN as r3365.
2009-08-05 20:52:44 +00:00
Niels Martin Hansen c731a9b437 Document exception.h
Originally committed to SVN as r3364.
2009-08-05 20:51:32 +00:00
Karl Blomster ad4a44a22b Document ffmpegsource_common.cpp/h.
Originally committed to SVN as r3363.
2009-08-05 11:21:00 +00:00
Amar Takhar c5f0ee3767 Make sure ../libffms/include is included very early on so it is picked up before any version installed system-wide.
Originally committed to SVN as r3361.
2009-08-05 04:02:40 +00:00
Niels Martin Hansen 7f106eaf91 Document namespace Aegisub
Originally committed to SVN as r3360.
2009-08-05 02:17:13 +00:00
Karl Blomster 47f9492832 Change WITH_PORTAUDIO2 to WITH_PORTAUDIO; this renaming was actually done ages ago but never got changed in config/config_windows0.h because nobody builds with it on Windows.
Originally committed to SVN as r3359.
2009-08-04 21:17:33 +00:00
Niels Martin Hansen f664a26b18 Rename Kanji Timer step 2: Rename things in docs (and include guard)
Updates #870.

Originally committed to SVN as r3358.
2009-08-04 02:00:30 +00:00
Niels Martin Hansen 96acbe33c3 Rename Kanji Timer step 1: Rename source files.
Updates #870.

Originally committed to SVN as r3357.
2009-08-04 01:53:26 +00:00
Niels Martin Hansen 8c08cb78a0 Make ffms2.dll not delayload, it's a required component and having it delayload only makes tracing loader errors harder.
Originally committed to SVN as r3355.
2009-08-03 21:32:39 +00:00
Thomas Goyne 755b40a966 Switch the safer autosaving to the standard method of writing to a different file then replacing the original.
Originally committed to SVN as r3354.
2009-08-02 20:39:36 +00:00
Thomas Goyne cca0de98cb Make autosave create a temporary backup of the current autosave file before saving so that an error while saving is less likely to cause data loss.
Originally committed to SVN as r3353.
2009-08-02 20:32:53 +00:00
Amar Takhar 5ccf95b9df Document Hunspell.
Originally committed to SVN as r3352.
2009-08-01 04:37:29 +00:00
Amar Takhar 6bde901e5e Document about dialogue.
Originally committed to SVN as r3351.
2009-08-01 04:02:20 +00:00
Niels Martin Hansen 332168f596 Fix Doxygen for avisynth_wrap.
Originally committed to SVN as r3350.
2009-08-01 03:41:42 +00:00
Amar Takhar 0fe2c476a4 It's @ticket not @issue, use as @ticket{<number>} instead of @ticket <number>.
Originally committed to SVN as r3349.
2009-08-01 03:40:47 +00:00
Niels Martin Hansen 51288bc06d Make a typedef of a function type, hoping to fix Doxygen warnings.
Originally committed to SVN as r3348.
2009-08-01 03:27:13 +00:00
Amar Takhar 718b1ca94a Fix a bunch of Doxygen warnings, two more left!
Originally committed to SVN as r3347.
2009-08-01 03:26:09 +00:00
Amar Takhar 45f7b8b8a2 Add a whole bunch of WITH_* flags to PREDEFINED, this includes a large chunk of code that wasn't getting added before. Most of the warnings have been fixed now other than a few extra that have cropped up due to the ifdef'd code being included. Thanks to jfs for spotting the fix.
Originally committed to SVN as r3346.
2009-08-01 03:10:56 +00:00
Niels Martin Hansen a5a8665859 Do a bit of documenting of audio display drawing functions.
Originally committed to SVN as r3345.
2009-08-01 02:32:26 +00:00
Amar Takhar db6e3d84c1 Fix setting the window as modified, I don't know if this will work in 10.4.. (fix from jfs)
Originally committed to SVN as r3344.
2009-08-01 02:00:30 +00:00
Niels Martin Hansen e42d184ec4 Add Doxygen documentation to audio spectrum code
Originally committed to SVN as r3343.
2009-08-01 01:55:17 +00:00
Amar Takhar d8200c669e Add some logic to copy files as links if they're links, and resolve all links to the final destination file then copy that. This is just part of the solution. The final solution will be to remove all symbolic links and change all library references (to symbolic links) to their actual versioned filename. Updates #964
Originally committed to SVN as r3342.
2009-07-31 23:47:22 +00:00
Thomas Goyne 4eba7657a2 Fix the slider in the color picker for non-GTK platforms. wx2.9 appears to have synchronized the behavior of changing the value of a slider across all platforms to how it behaved on GTK.
Originally committed to SVN as r3341.
2009-07-31 23:42:15 +00:00
Thomas Goyne 4472dfee12 Fix an assertion failure that happened whenever an ass override tag with too few parameters was parsed.
Originally committed to SVN as r3340.
2009-07-31 23:26:13 +00:00
Amar Takhar a91495c69d Remove wxBevelButton support as it's no loger required for 2.9.
Originally committed to SVN as r3339.
2009-07-31 20:34:23 +00:00
Amar Takhar 127a39626b * Build the restart-helper program in a makefile rather than in osx-bundle.sh
* Update paths to use tools/ instead of scripts/ in osx-bundle.sh

Originally committed to SVN as r3337.
2009-07-31 20:29:29 +00:00
Thomas Goyne 79e4065579 Add default values for the optional parameters of \move, fixing an assertion failure when they are not specified.
Originally committed to SVN as r3336.
2009-07-31 16:50:48 +00:00
Amar Takhar 2fcd872218 Kill the ffms2 group and make it all 'ffms'
Originally committed to SVN as r3335.
2009-07-30 06:40:25 +00:00
Amar Takhar cdfbcd6681 Add favicon.ico to the html header.
Originally committed to SVN as r3334.
2009-07-30 06:37:32 +00:00
Amar Takhar 4b88b4bdc5 Turn MACRO_EXPANSION and EXPAND_ONLY_PREDEF to on, also set a predefined macro for WXUNUSED(), this silences quite a few warnings.
Originally committed to SVN as r3332.
2009-07-30 05:57:29 +00:00
Amar Takhar e213d36b04 Exclude avisynth.h, MatroskaParser.? and md5.? from document generation.
Originally committed to SVN as r3331.
2009-07-30 04:32:21 +00:00
Amar Takhar 93f78921f3 Add missing @param in exception.h
Originally committed to SVN as r3330.
2009-07-30 04:29:12 +00:00
Amar Takhar 4e37bdea68 Cleanup doxygen markup.
Originally committed to SVN as r3329.
2009-07-30 04:27:48 +00:00
Amar Takhar 583cf55afb Add Doxygen skel info for video_provider_yuv4mpeg.h which was having errors in the first round.
Originally committed to SVN as r3328.
2009-07-30 04:25:52 +00:00
Amar Takhar d82d02010b Add Doxygen skeleton info for general include files.
Originally committed to SVN as r3327.
2009-07-30 04:24:23 +00:00
Amar Takhar d4b71ff85d add \ticket and \revision aliases, properly include the LICENCE file.
Originally committed to SVN as r3326.
2009-07-30 03:37:42 +00:00
Amar Takhar 2fd9b9d7e3 Fix a whole bunch of Doxygen warnings.
Originally committed to SVN as r3325.
2009-07-30 03:36:53 +00:00
Amar Takhar efb9ad0f0a Add a licence file.. only 4 years later right?!
Originally committed to SVN as r3324.
2009-07-30 03:31:25 +00:00
Amar Takhar cd8bb7c241 Document PortAudio player, this is broken in doxygen at the moment not sure why..
Originally committed to SVN as r3323.
2009-07-30 02:51:42 +00:00
Amar Takhar 612e007be6 Put the source guide on the main index, include the current dir so extra doxygen files are included.
Originally committed to SVN as r3322.
2009-07-30 02:22:06 +00:00
Amar Takhar cc08d39f2e Dcoument AegisubFileDropTarget.
Originally committed to SVN as r3321.
2009-07-30 02:09:21 +00:00
Amar Takhar 726f7a2b68 Help buildbot find doxygen.log
Originally committed to SVN as r3320.
2009-07-30 01:55:11 +00:00
Amar Takhar 1adf7d7a43 In our buildbots the build dir is actually builder/build, doxygen had /build/ set as an exclusion pattern which caused no files to be generated, this isn't a problem since we're only including src/ anyway. Things are vastly more simple now.
Originally committed to SVN as r3319.
2009-07-30 01:47:51 +00:00
Amar Takhar b9b7460a8f Whoops, HTML_FILE_EXTENSION got set to 'html' instead of '.html'. The former doesn't work very well..
Originally committed to SVN as r3318.
2009-07-30 01:23:08 +00:00
Amar Takhar 1e3b7678fc set HAVE_DOT=YES.
Originally committed to SVN as r3317.
2009-07-30 00:08:22 +00:00
Amar Takhar 2e4aa86804 Script to build using the tinderbox.
Originally committed to SVN as r3316.
2009-07-30 00:01:19 +00:00
Amar Takhar 7ef2e4f764 Add a new buildslave (shoyu) and Doxygen build factory, this is just a stub now I'll add it in a later commit.
Originally committed to SVN as r3314.
2009-07-29 23:29:00 +00:00
Amar Takhar 9dd3e9f2e2 Doxygen config files / setup.
Originally committed to SVN as r3313.
2009-07-29 23:05:41 +00:00
Amar Takhar 6ee2f98349 Note: This was done using a script! it's far from perfect but 95% of the work has been done already formatting-wise.
Document all functions, class, struct, union, enum, macro, variable, typedefs.  This isn't the actual document in itself but empty documentation using any old documentation if it was there.

This was done using exuberant ctags to get tag info, then a TCL script to parse/remove old comments and convert them into Doxygen-style.

Some notes:
 * Anything labeled 'DOCME' needs to be documented, @param and @return have been left blank as it would be annoying to delete the 'DOCME' from every one of those.
 * Some multiline comments may have been munged into single line comments
 * Leave the /// comments above global variables with a space, if they're harder to read then we'll be less likey to use them.
 * Enum comments can go after the enumeration itself '[value] /// comment'
 * include/aegisub/*.h haven't been converted yet, this will be done in a later commit
 * Some documentation blocks are in the wrong place, in the .h when it should be in the .cpp, or vice versa.

See http://devel.aegisub.org/wiki/Doxygen for some details on Doxygen and a 'style guide'.

Originally committed to SVN as r3312.
2009-07-29 22:59:22 +00:00
Amar Takhar d6fbe6fc8e Add svn:keywords for files modified in r3310.
Originally committed to SVN as r3311.
2009-07-29 05:43:58 +00:00
Amar Takhar 12aa34088a Switch all headers to using Doxygen and cleanup contact info
* Swap old email + website address with 'Aegisub Project http://www.aegisub.org/'
 * Set categories for all files (jfs)
 * Add descriptions for each file (jfs)
 * Add $Id$ keyword

Originally committed to SVN as r3310.
2009-07-29 05:43:02 +00:00
Niels Martin Hansen 3097ca162d Handle ASS files with missing [Script Info] header better, updates #440.
This should get some additional regression testing before the bug is closed and the fix backported to 2.1.8.

Originally committed to SVN as r3308.
2009-07-29 01:59:12 +00:00
Niels Martin Hansen 174c17309b Remove progress dialogue and threaded call from Auto4 Lua export filter config dialogue production call. This somewhat breaks an undocumented part of the API but I don't think anything relies on this.
Should close #927.

Originally committed to SVN as r3307.
2009-07-28 15:39:52 +00:00
Niels Martin Hansen 049baecfc4 Fill in missing docs from r3304.
Originally committed to SVN as r3306.
2009-07-28 13:34:31 +00:00
Amar Takhar a1d04599e2 Add @ingroup libosxutil.
Originally committed to SVN as r3305.
2009-07-28 06:12:25 +00:00
Amar Takhar 373c0057b2 Document using the Doxygen format.
Originally committed to SVN as r3304.
2009-07-28 06:07:44 +00:00
Niels Martin Hansen 7f9099da90 Apparently dummy video needs "the VFR hack" or it's broken.
Originally committed to SVN as r3302.
2009-07-28 00:02:39 +00:00
Thomas Goyne 7aad443f48 Delete some code in SubsEditBox::SetOverride that did nothing.
Originally committed to SVN as r3301.
2009-07-27 23:55:17 +00:00
Karl Blomster 9fa6190a40 Added Korean translation by FreeTime. (Previous version was from 2006 or so.)
Originally committed to SVN as r3299.
2009-07-27 23:36:08 +00:00
Niels Martin Hansen 28e974e665 Fix crash (div by 0) introduced in r3295, updates #953.
(Blind fix, doesn't happen on Windows.)

Originally committed to SVN as r3297.
2009-07-27 21:11:39 +00:00
Niels Martin Hansen 675afab201 Hopefully fix build error on OS X, WindowRef and SetWindowModified() being undeclared in frame_main.
Originally committed to SVN as r3296.
2009-07-27 01:07:54 +00:00
Niels Martin Hansen f2e8333aea Fix #953, somewhat hackish: The grid never sized down because the scroll bar was a child window of it, and when a window has child windows, the bottom and rightmost coordinates of those together determine the minimum size of the containing window. This behaviour changes if those child windows are managed by a sizer. By putting the scroll bar into a sizer the problem goes away.
I think a better solution would be to change to use wxWindow::SetScrollbar() but that's a larger operation.

Originally committed to SVN as r3295.
2009-07-26 23:24:21 +00:00
Karl Blomster f066903d98 FFMS2 a/v providers should use UTF8 strings for the cache filenames, just like for every other file. Updates #955 but does not fix it since you still get bizarre popups that I have no idea where they're coming from if the write/touch operations fail.
This change should be merged into 2.1.8.

Originally committed to SVN as r3294.
2009-07-26 23:10:12 +00:00
Niels Martin Hansen 696ae74f8a Add some const-ness to the kana table, should fix compiler warnings on GCC.
Originally committed to SVN as r3293.
2009-07-26 17:25:04 +00:00
Amar Takhar c28b51d904 * Fix location of Intel wx config.
* Use -Wl,-rpath on Linux.

Originally committed to SVN as r3292.
2009-07-26 17:22:27 +00:00
Amar Takhar b0063ff46d * Add the libdir to our local wx installation using -rpath.
* Fix location of wx-config on the PPC buildbot.

Originally committed to SVN as r3291.
2009-07-26 16:46:50 +00:00
Amar Takhar 9159721be7 * Fix two syntax errors in master.cfg
* Add twistd.pid to svn:ignore

Originally committed to SVN as r3290.
2009-07-26 16:40:04 +00:00
Niels Martin Hansen c50d57838c More changes to Windows buildbot script, going to use VCBuild now instead of MSBuild.
Originally committed to SVN as r3288.
2009-07-26 14:33:23 +00:00
Niels Martin Hansen 18596a5f27 Shot at new, improved building script for Windows buildbot.
Originally committed to SVN as r3287.
2009-07-26 01:36:41 +00:00
Niels Martin Hansen e16fa24293 Updated solution file for Windows buildbot, added respack project
Originally committed to SVN as r3286.
2009-07-26 00:41:08 +00:00
Thomas Goyne d401e67402 Switch the main window's icon back to the .ico version on windows as it was rejecting the png one.
Originally committed to SVN as r3285.
2009-07-25 20:32:58 +00:00
Amar Takhar 0f841aae1a Convert the icon to png from xpm, I'm not sure how Windows will handle the alpha on this image.. someone on Windows will need to check.
Originally committed to SVN as r3284.
2009-07-25 20:07:07 +00:00
Amar Takhar 37010aee03 I thought res.rc was already updated, I should have looked.. this fixes breakage in r3281.
Originally committed to SVN as r3283.
2009-07-25 19:46:10 +00:00
Niels Martin Hansen f51e7b1483 Let's make setup.cpp fail on wx 2.8
Originally committed to SVN as r3282.
2009-07-25 19:39:34 +00:00
Amar Takhar 6da57c3c8d We don't need the XPM icons anymore, and eyedropper.cur/icon.ico have moved to windows/
Originally committed to SVN as r3281.
2009-07-25 19:29:08 +00:00
harukalover 072520bf5f Removed most of the wxWidgets 2.8 compatibility code
Originally committed to SVN as r3280.
2009-07-25 18:45:30 +00:00
Niels Martin Hansen 075439f405 Fix bugs in kara-templater causing tenv.relayer and tenv.restyle functions to fail.
Closes #950.

Originally committed to SVN as r3277.
2009-07-25 18:16:37 +00:00
Thomas Goyne 01505e3d37 Mostly fix unix build issues related to the new image embedding.
Originally committed to SVN as r3276.
2009-07-25 18:08:17 +00:00
Niels Martin Hansen 966f88e577 Move a bunch of project properties for respack into VSProps files:
* Support picking up wx from $solution/wxlib/ location
 * Use standard_outdirs
 * Move post-build resource-packing event into new VSProps

Originally committed to SVN as r3275.
2009-07-25 17:13:10 +00:00
Niels Martin Hansen 23767950a9 Let Aegisub project file pick up wx relative to the solution file, using VSProps from r3273.
Originally committed to SVN as r3274.
2009-07-25 16:57:11 +00:00
Niels Martin Hansen 0cd1058e8d VSProps files to pick up a wx installation relative to the solution file.
Originally committed to SVN as r3273.
2009-07-25 16:56:01 +00:00
Thomas Goyne e6d6a056c9 Change resources filename back to libresrc.cpp/h.
Originally committed to SVN as r3272.
2009-07-25 16:15:13 +00:00
Amar Takhar fb3431df66 Commit changes to support importing bitmaps as character strings, this is still broken however the final fix should be quite simple.
Originally committed to SVN as r3270.
2009-07-25 09:35:44 +00:00
Amar Takhar ffe628f29a Move tellg() usage to the start of the block rather than at the end, otherwise it would always return -1. This should be harmless for windows.
Originally committed to SVN as r3269.
2009-07-25 08:32:21 +00:00
Amar Takhar 2522102465 Change .wc_str() to .char_str() to fix unix build breakage, should be fine on windows..
Originally committed to SVN as r3268.
2009-07-25 08:01:30 +00:00
Amar Takhar a0099e7f74 s/scripts/tools/ after the rename
Originally committed to SVN as r3267.
2009-07-25 05:23:04 +00:00
Thomas Goyne c641c6e656 Switch all icons in Aegisub to use the new png versions, using a new small tool to store the pngs as byte arrays in a cpp file.
Originally committed to SVN as r3265.
2009-07-25 04:49:59 +00:00
Amar Takhar c87e0f2c7b Add icon.ico and eyedropper.cur to windows/ and splash.png to misc/.
Originally committed to SVN as r3264.
2009-07-25 03:32:06 +00:00
Amar Takhar 972c5e7f12 Add in missing buttons, which are very ugly scales of the original .bmp icons, these are for interm use until we have svg versions.
Originally committed to SVN as r3263.
2009-07-25 03:25:11 +00:00
Amar Takhar 586f3f8d2b Commit png versions of the (new) .svg icons Kaverin made, these have been made as original work or from the original .bmp icons.
Originally committed to SVN as r3262.
2009-07-25 03:23:35 +00:00
Amar Takhar d51396738b Revert part of r3260: SIGH, why can't svn let you ctrl-c out of a commit further down in the process? You can only do it if you catch it early, though it's also my fault for not paying attention that I had local changes.
Originally committed to SVN as r3261.
2009-07-25 02:34:33 +00:00
Amar Takhar 4a757421d9 Rename scripts/ to tools/ as it makes more sense, initially the directory only contained scripts however with the addition of our 3rd tool it makes sense to just rename the entire direectory. Keeping the old scripts/ dir around was just extra clutter and would probably cause confusion as to which place a new script/tool should go.
Originally committed to SVN as r3260.
2009-07-25 02:29:04 +00:00
Amar Takhar 75a5c70297 Remove some old scripts from Makefile.am that were used for the bmp->xpm conversion.
Originally committed to SVN as r3259.
2009-07-25 02:11:27 +00:00
Amar Takhar bab2720596 Fix fosx (10.5) build factory, also remove an obsoleted option.
Originally committed to SVN as r3258.
2009-07-24 19:31:34 +00:00
Amar Takhar 9002cddd3f Add OSX 10.5 buildslave setup.
Originally committed to SVN as r3257.
2009-07-24 19:29:04 +00:00
Amar Takhar 34773d4ea1 Fix the FreeBSD build factory.
Originally committed to SVN as r3256.
2009-07-24 07:55:56 +00:00
Karl Blomster 1e4119f337 Add quicktime audio provider to VS2008 project and to Makefile.am.
Originally committed to SVN as r3255.
2009-07-24 06:06:56 +00:00
Karl Blomster bec8951534 Implement a basic QuickTime audio provider. Currently a bit limited in functionality (it will convert everything to 16-bit mono), but seems to work fine with the one .mov test file I have. Also does a lot of ugly downcasting, I'll try to fix that later.
Originally committed to SVN as r3254.
2009-07-24 06:04:19 +00:00
Amar Takhar 8cb1e62831 Remove libresrc.h from config.h as it's now included per-file.
Originally committed to SVN as r3253.
2009-07-24 05:47:03 +00:00
Thomas Goyne e21337f34f Made it so that the font collector does not crash Aegisub when it is built with both no freetype and no fontconfig.
Originally committed to SVN as r3252.
2009-07-24 02:30:11 +00:00
Thomas Goyne 83bb2ecedd Fix the number of rows in another sizer.
Originally committed to SVN as r3251.
2009-07-24 02:18:11 +00:00
Thomas Goyne 766ae98a76 Add wxOK to some message boxes that specified flags without including either wxOK or wxYESNO.
Originally committed to SVN as r3250.
2009-07-24 02:10:41 +00:00
Thomas Goyne f81b147031 Remove a double addition of a single button to the kanji timer dialog.
Originally committed to SVN as r3249.
2009-07-24 02:06:15 +00:00
Karl Blomster f59dcf19f6 Add option to set FFMS2 logging level (i.e. how much spam FFmpeg prints to STDERR).
Option is called "ffmpegsource log level" and possible values are (in order of increasing spam) quiet, panic, fatal, error, warning, info, verbose, debug. The default is quiet, and I strongly recommend avoiding anything above warning.

Originally committed to SVN as r3248.
2009-07-24 01:41:16 +00:00
Thomas Goyne af6492d867 Fix the number of rows in several wxFlexGridSizers in the options dialog.
Originally committed to SVN as r3247.
2009-07-24 00:58:17 +00:00
Thomas Goyne 3eacb9ba42 Remove an unnecessary StretchSpacer from the color picker dialog that caused problems with wx 2.9.
Originally committed to SVN as r3246.
2009-07-24 00:50:31 +00:00
Thomas Goyne b7412a08c6 Make the windows buildbot not try to copy the now non-existent auto3 dll.
Originally committed to SVN as r3245.
2009-07-24 00:38:48 +00:00
Thomas Goyne fcbc9fcdc0 Move the libresrc include to the individual files that need it.
Originally committed to SVN as r3244.
2009-07-24 00:08:25 +00:00
Karl Blomster 7149e01888 Move more stuff to the common QT provider class and generalize initializing/de-initializing QuickTime.
Originally committed to SVN as r3243.
2009-07-23 23:57:12 +00:00
Thomas Goyne 87e96be4b5 Make the windows build system work with the XMP buttons.
Originally committed to SVN as r3242.
2009-07-23 23:54:06 +00:00
Amar Takhar 98dad055ff Switch from converting .bmp->XPM dynamically during the autogen step into building libresrc directly from the XPM buttons now that the .bmp files are gone.
Originally committed to SVN as r3241.
2009-07-23 23:51:13 +00:00
Amar Takhar 356ea76703 Commit libres files, these used to be automatically generated using some AWK scripts I wrote.
Originally committed to SVN as r3240.
2009-07-23 23:46:32 +00:00
Amar Takhar 0d40a537f4 Add XPM versions of the .bmp buttons.
Originally committed to SVN as r3239.
2009-07-23 23:44:27 +00:00
Amar Takhar 54c535789a Move bmp buttons from trunk/aegisub/src/bitmaps -> trunk/docs/art-sources/buttons now that we're using XPM buttons.
Originally committed to SVN as r3238.
2009-07-23 23:43:49 +00:00
Amar Takhar b62f52d8f8 Swap wxBITMAP(.*) with wxBitmap(.*_xpm) now that we're switching to xpm buttons on _all_ platforms, this makes things much easier.
Originally committed to SVN as r3237.
2009-07-23 23:38:04 +00:00
Amar Takhar bc7c028538 Add ACLOCAL_FLAGS to autogen and --with-wx-config to configure for linux build factory. This is required since there are no system packages for 2.9 (as it hasn't been released yet.)
Originally committed to SVN as r3236.
2009-07-23 22:56:04 +00:00
Amar Takhar 85330c01ae Remove PERL,Ruby from the scripting engine status at the bottom of configure output.
Originally committed to SVN as r3235.
2009-07-23 22:40:02 +00:00
Thomas Goyne 9fef5b0606 Kill aegisub-auto3.dll.
Originally committed to SVN as r3234.
2009-07-23 22:16:55 +00:00
Thomas Goyne 4f5f165d30 Removed the rest of the uses of delayload_libauto3.vsprops from aegisub_vs2008.vcproj.
Originally committed to SVN as r3233.
2009-07-23 21:26:54 +00:00
harukalover 6d82665116 Removed FloatSpinCtrl since it was unused and can be replaced by wxSpinCtrlDouble now that we have switched to wx2.9
Originally committed to SVN as r3232.
2009-07-23 21:02:39 +00:00
harukalover 581b515f22 Removed delayload_libauto3.vsprops now that auto3 is gone
Originally committed to SVN as r3231.
2009-07-23 20:55:46 +00:00
Amar Takhar b39aa27e3c Remove PERL, Ruby, auto3 (lua50) flags and variables as all 3 have been removed in trunk.
Originally committed to SVN as r3230.
2009-07-23 20:40:36 +00:00
Amar Takhar 423f934e3b Remove some commented lines, no point in keeping them in the file since the configs are under svn now.
Originally committed to SVN as r3229.
2009-07-23 20:23:41 +00:00
Amar Takhar 9cd0720036 Disable osx_bevelButton until we see how 2.9 looks on 10.4 (carbon) and 10.5 (coca).
Originally committed to SVN as r3228.
2009-07-23 20:22:07 +00:00
Amar Takhar 11ad86631a Switch configure.in to use the new wx2.9 m4 macros and change autogen.sh to look for wxwin29.mp4 versus wxwin28.mp4. This forces the requirement of wx2.9 now.
Originally committed to SVN as r3227.
2009-07-23 20:20:03 +00:00
Karl Blomster 8ef5d3869a Actually add the new common class files (derp) and add them to the makefile/msvc project.
Originally committed to SVN as r3226.
2009-07-23 20:19:42 +00:00
Karl Blomster 93477952c0 Factor a few things out of the QT video provider into a common QT class in preparation for eventually adding an audio provider sometime down the line.
Originally committed to SVN as r3225.
2009-07-23 20:17:09 +00:00
Karl Blomster ab1993467a Remove a bunch of no longer needed (since we removed Aegisub::string) string conversions via c_str()/wc_str(), and replace mb_str(wxConvUTF8) with utf8_str() where appropriate.
Originally committed to SVN as r3224.
2009-07-23 19:57:57 +00:00
Amar Takhar c11bf12504 Add build master/slave configurations..
Originally committed to SVN as r3223.
2009-07-23 19:38:19 +00:00
Amar Takhar aa86cdb062 Turn a few string joins into wxString::Format, also change a printf to wxLogDebug as it's unnecessary spam to the user, this fixes a weird error wx2.9 was having.
Originally committed to SVN as r3222.
2009-07-23 17:02:19 +00:00
Amar Takhar 0f6977fa39 Fix a cast issue in GetCacheFilename under wx2.9.. fix by jfs, thanks!
Originally committed to SVN as r3221.
2009-07-23 15:37:47 +00:00
Amar Takhar a0370f9004 Remove Aegisub::String class as it's causing problems in wx2.9. The original plan was to have it so external modules wouldn't have to depend on wx. We'll think of a different solution when the time comes. closes #940
Originally committed to SVN as r3220.
2009-07-23 15:16:53 +00:00
Amar Takhar e496c0487d Remove a couple of auto3 remnants from Makefile.am.
Originally committed to SVN as r3219.
2009-07-23 15:14:21 +00:00
Niels Martin Hansen 312aa52096 Make spectrum mode the default for the audio display, closes #943.
Originally committed to SVN as r3218.
2009-07-23 13:57:40 +00:00
Amar Takhar cd7e414b08 It looks like windows needs this change as well.
Originally committed to SVN as r3216.
2009-07-23 07:09:57 +00:00
Amar Takhar d14aa9d8f0 typedef String to wxString until we decide upon the removal of Aegisub::String. (i hope so!), this fixes wx2.8 and wx2.9 when using wc_str().
Originally committed to SVN as r3215.
2009-07-23 06:00:23 +00:00
Amar Takhar c170f7f096 c_str() -> wc_str() in preperation for wx2.9, these changes are required for Unix, should be harmless on Windows.
Originally committed to SVN as r3214.
2009-07-23 05:32:13 +00:00
Amar Takhar b127105f42 Remove extra FFmpegSourceProvider:: qualifier.
Originally committed to SVN as r3212.
2009-07-23 03:16:57 +00:00
Karl Blomster 7157d50e73 Re-fix the VFR fix in r3084 by restoring the old behavior (which was correct for the only existing providers at the time it was implemented, I think) under a special condition that only triggers for the AVS provider. This does not really actually fix any bugs; the new behavior wasn't any better (in fact it was probably incorrect in some cases) but at least this way doesn't have any of the regressions the new way might have introduced.
Originally committed to SVN as r3211.
2009-07-23 02:06:47 +00:00
Niels Martin Hansen 0475b95e60 Further removal of traces of Auto4 Perl and Ruby. (Is this some Pokemon game?)
Updates #930.

Originally committed to SVN as r3210.
2009-07-23 01:57:53 +00:00
Karl Blomster bec9378182 Remove video_provider_dshow.cpp from EXTRA_SOURCES in Makefile.am. Updates #930.
Originally committed to SVN as r3209.
2009-07-23 01:46:11 +00:00
Amar Takhar c6145f0b63 I don't know why there were .pm files under data_general.. updates #840 and #938.
Originally committed to SVN as r3208.
2009-07-23 01:45:11 +00:00
Niels Martin Hansen f35b48470a Seems Fluff forgot to remove some files from MSVC project when removing DShow video provider. Updates #930.
Originally committed to SVN as r3207.
2009-07-23 01:43:58 +00:00
Niels Martin Hansen 07900b05f0 Oops, build-breaker = me. Forgot to save MSVC project before committing so the removed property sheet was still referenced. Updates #938.
Originally committed to SVN as r3206.
2009-07-23 01:41:48 +00:00
Niels Martin Hansen 31657f94da The removal of Auto4 Ruby and Auto4 Perl code. Updates #665 and #938.
Originally committed to SVN as r3205.
2009-07-23 01:39:57 +00:00
Amar Takhar af5df13f00 Remove Auto4 Ruby from the (unix) build system, updates #665 and #938.
Originally committed to SVN as r3204.
2009-07-23 01:23:35 +00:00
Amar Takhar 3403a5faea Remove Auto4 PERL from the build system, updates #840 and #938.
Originally committed to SVN as r3203.
2009-07-23 01:18:51 +00:00
Amar Takhar d8c7515975 Remove a few auto3 files that wern't associated with auto3 in the Makefile.
Originally committed to SVN as r3202.
2009-07-23 01:11:27 +00:00
Niels Martin Hansen 3b917f61bf Fix a warning on GCC about initialisation order in Aegisub::Exception class.
Originally committed to SVN as r3201.
2009-07-23 01:11:22 +00:00
Niels Martin Hansen c52d45dd95 Missed a bunch of things removing Auto3...
Originally committed to SVN as r3200.
2009-07-23 00:49:54 +00:00
Amar Takhar dbf0f48713 Nuke auto3 from the Unix/OSX build system.
Originally committed to SVN as r3199.
2009-07-23 00:27:57 +00:00
Niels Martin Hansen 2fef9e3111 Remove libauto3 that somehow escaped before.
Originally committed to SVN as r3198.
2009-07-23 00:22:57 +00:00
Niels Martin Hansen 98d909b361 Remove Auto3 from Windows buildbot solution file, should unbreak that.
Originally committed to SVN as r3197.
2009-07-23 00:22:20 +00:00
Niels Martin Hansen be26ba4652 Surgically remove Automation 3.
Going to break UNIX build and Windows buildbot for now.

Originally committed to SVN as r3196.
2009-07-23 00:19:36 +00:00
Karl Blomster 352df194aa Remove the DirectShow VideoProvider. Fixes #930.
Originally committed to SVN as r3195.
2009-07-23 00:12:22 +00:00
Niels Martin Hansen 5e902e2ef1 Remove threaded-ness of Auto 4 Lua macro validation calls, updates #927.
Originally committed to SVN as r3194.
2009-07-22 23:07:46 +00:00
Niels Martin Hansen 520239fc1b Re-do "split by karaoke" code using the common ass_karaoke code and adding a little more sanity checking, fixes #929.
Originally committed to SVN as r3192.
2009-07-22 22:30:57 +00:00
harukalover ac33243a49 Fixed compilation with wxWidgets 2.9.0 again plus removed some unneeded #if's (wc_str is the same as c_str under 2.8)
Originally committed to SVN as r3191.
2009-07-22 19:52:59 +00:00
Niels Martin Hansen ff8c8e1817 Add exception.h declaring some base exception classes. For the sake of experimenting and showing the concept, change one (probably never thrown) exception to use the new style exceptions.
No new source files to compile, just a new header.

Originally committed to SVN as r3190.
2009-07-22 00:10:36 +00:00
Karl Blomster 8d5bae9558 Forgot to call Close() in the QT video provider's destructor.
Originally committed to SVN as r3189.
2009-07-21 21:04:38 +00:00
Karl Blomster 38c5f8200a Removed FFMS2 usage from the Avisynth video provider. If you want FFMS2, use the FFMS2 provider.
Originally committed to SVN as r3188.
2009-07-21 20:36:27 +00:00
Karl Blomster ce2a549517 Implemented a basic QuickTime video provider. Works in my simple tests on Windows, but I have no idea if it even compiles on Mac.
I leave it up to verm to add detection for it to configure; it's disabled by default (#ifdef'd out unless you #define WITH_QUICKTIME).

Originally committed to SVN as r3187.
2009-07-21 20:24:25 +00:00
Amar Takhar 909436578d Remove duplicate sources that are already built and used in wxAGG/
Originally committed to SVN as r3186.
2009-07-21 04:09:24 +00:00
Karl Blomster d1762c5270 The Great Colorspace Reworking of '09, part 2 of ???: change all video providers to always output RGB32, and remove the formatMask parameter of GetFrame(). This may break the dshow video provider but I have no way of testing it and AFAIK nobody else does either. If someone actually uses it, they can fix it themselves. Updates #926.
Originally committed to SVN as r3185.
2009-07-20 03:50:25 +00:00
Amar Takhar e7f2dc00f7 Set wxAUI_MGR_RECTANGLE_HINT on Unix as Transparent and Venitian don't work here. I'm not sure if this is the fault of WindowMaker or GTK eventaully I'll try some other WMs and see what happens. This fixes floating windows and dragging them back/repositioning.
Originally committed to SVN as r3184.
2009-07-20 03:32:21 +00:00
Amar Takhar 77bacc0e53 Comment DRAG_BOTH events as the menu item is commented, this silences asserts for them in gtk.
Originally committed to SVN as r3183.
2009-07-20 03:28:05 +00:00
Amar Takhar 5b61da8337 s/^static char/const char/ to keep gcc happy.
Originally committed to SVN as r3182.
2009-07-20 03:24:18 +00:00
Amar Takhar 00fec11a64 Replace degree symbols with \370.
Originally committed to SVN as r3181.
2009-07-20 03:19:22 +00:00
Karl Blomster eae6fea9d9 The Great Colorspace Reworking of '09, part 1 of ???: remove all traces of the YV12->RGB32 OpenGL shader program, as it was very broken and nobody ever used it. Updates #926.
Originally committed to SVN as r3180.
2009-07-20 01:32:01 +00:00
Karl Blomster 17abf6965e Remove some useless commented-out code and an unused variable in video_context.cpp; neither have been used since Moses crossed the Red Sea.
Originally committed to SVN as r3179.
2009-07-20 00:45:11 +00:00
Karl Blomster 9ff3762eaf Removed the extremely deprecated fps parameter of the video provider constructors, since it hasn't been used by anything for years and was of questionable utility when it actually was used in the Elder Days.
Originally committed to SVN as r3178.
2009-07-20 00:39:38 +00:00
Karl Blomster 9e150d282d Cosmetics in the y4m video provider
Originally committed to SVN as r3177.
2009-07-19 22:51:19 +00:00
Amar Takhar c329c4e047 Update to 9ad13b from the libass git repo. (http://greg.geekmind.org/viewgit/) This change also includes the ability to split off fontconfig cache updating into it's own step so dialogues can be used to warn the user about the font cache being updated (it can take several mins on slow machines with lots of fonts). Updates #841
Originally committed to SVN as r3176.
2009-07-19 19:33:29 +00:00
Amar Takhar ee537d06f6 Add missing <wx/filename.h> and <wx/log.h> headers.
Originally committed to SVN as r3175.
2009-07-19 18:50:27 +00:00
Amar Takhar 2ef6260938 Move +AM_PROG_CC_C_O after AC_PROG_CC to silence automake 1.10
Originally committed to SVN as r3169.
2009-07-19 18:33:08 +00:00
Karl Blomster 2b2a7f4212 Implement a YUV4MPEG video provider. (YUV4MPEG is an uncompressed video format originally created for use by mjpegtools but is also commonly used by a lot of Unix video software; see http://wiki.multimedia.cx/index.php?title=YUV4MPEG2 or http://manpages.ubuntu.com/manpages/karmic/en/man5/yuv4mpeg.5.html (man 5 yuv4mpeg, if you have mjpegtools installed) for a description of the format.)
Currently lacks a few features (no RFF flag parsing is done, interlacing is not supported and the colorspace conversion to RGB32 could stand considerable improvement) but at least now Aegisub is capable of reading video without FFMS2 or Avisynth. Updates #920.

Originally committed to SVN as r3168.
2009-07-19 04:13:46 +00:00
Karl Blomster ff0787d29c Updated German translation (fixes some typos etc) by Sebastian Billau (sebastian u billau a web d de). This translation update should be backported into 2.1.8.
Originally committed to SVN as r3165.
2009-07-18 21:00:57 +00:00
Karl Blomster c6a5ff07d7 Fix a very embarrassing bug (I mixed up the track masks in r3155).
Originally committed to SVN as r3164.
2009-07-18 20:03:32 +00:00
Thomas Goyne c02f953ee0 Made the style sorting code only append each style once even when multiple styles have the same name. Closes #922.
Originally committed to SVN as r3163.
2009-07-18 04:37:43 +00:00
Thomas Goyne 0fa0d9d17e Add some parentheses for clarity.
Originally committed to SVN as r3162.
2009-07-18 03:58:22 +00:00
Thomas Goyne 6608ff47b5 Made the check for duplicate style names when creating or editing styles case insensitive. Closes $777.
Originally committed to SVN as r3161.
2009-07-18 03:45:16 +00:00
Thomas Goyne a7d0b591f8 Rewrote code for copying styles to and from storages, making it correctly replace styles of the same name that already exist in the target. Updates #922.
Originally committed to SVN as r3160.
2009-07-18 02:52:46 +00:00
Thomas Goyne c2087304fc A few minor cleanups to the new charset conversion code.
Originally committed to SVN as r3159.
2009-07-18 00:58:13 +00:00
Amar Takhar 779dcadc69 Add missing fixes for libauto3 to Makefile.am and commit the actual changes to libauto3/
Originally committed to SVN as r3158.
2009-07-17 20:58:45 +00:00
Amar Takhar e2e859b8f4 Exit with the previous commands exit status incase it failes: In this case copying the aegisub binary into the bundle.
Originally committed to SVN as r3157.
2009-07-17 19:52:08 +00:00
Amar Takhar 51c7ead1b8 s/2_1/2_2/ in Makefile.am This is required for two reasons:
* Aegisub is monolithic
 * Automakes idea of sending flags to specific files is in creading 17,000 different libraries (which beacuse of point #1.)

Originally committed to SVN as r3156.
2009-07-17 19:50:59 +00:00
Karl Blomster 58539b885d Replace FFMSTrackMask[All|None] with #defines instead. (Was causing linking problems with some compilers for some reason).
Originally committed to SVN as r3155.
2009-07-16 21:40:17 +00:00
Amar Takhar 8af125b88c Remove FFMPEG files from _SOURCES -- these shouldn't have been here in the first place. Updates #921.
Originally committed to SVN as r3154.
2009-07-16 20:03:47 +00:00
Karl Blomster 62b036ac35 Fix accidental inclusion of test code in last commit.
Originally committed to SVN as r3153.
2009-07-16 19:25:43 +00:00
Karl Blomster 8087622edd Fix an ancient bug in the ffms2 video provider that caused access violations when trying to output YV12 images. Nobody discovered this before because nobody tried to use YV12.
Originally committed to SVN as r3152.
2009-07-16 19:20:14 +00:00
Amar Takhar fb8196dcf8 Chase r3148 and r3149 and remove the FFMPEG video provider from the unix build system. Updates #921.
Originally committed to SVN as r3150.
2009-07-16 19:16:31 +00:00
Karl Blomster cdc69b847f Remove the deprecated ffmpeg providers from the MSVC2008 project file.
Originally committed to SVN as r3149.
2009-07-16 19:11:00 +00:00
Karl Blomster dfea9f9713 Remove the deprecated ffmpeg audio/video providers. They have not yet been removed from any of the build systems; verm will remove them from the Unix one and I will remove them from the MSVC project file shortly.
Originally committed to SVN as r3148.
2009-07-16 19:08:40 +00:00
Karl Blomster e589bceaa6 The caching video provider should not force RGB32. Nobody really cared about this because Aegisub always uses RGB32 unless you flip secret switches and whatnot, but it's not right and other colorspaces may be used in the future.
Originally committed to SVN as r3147.
2009-07-16 18:50:16 +00:00
Karl Blomster 491fa10ff1 Fix a regression introduced by Plorkyeran's iconv patch that caused the text file reader to throw an exception when trying to read an empty file.
Originally committed to SVN as r3146.
2009-07-16 15:10:40 +00:00
Karl Blomster c33ed91b12 Implement support for multiple tracks in the FFMS2 audio and video providers. Files with more than one audio or video track will now let the user pick which one he/she wishes to load. Closes #905.
Originally committed to SVN as r3145.
2009-07-16 14:48:47 +00:00
Karl Blomster 5cb4d1cae3 Revert r3137 for video_provider_ffmpegsource.cpp; the patch fixed an issue that had already been fixed (by using UTF8 instead of the local codepage).
Originally committed to SVN as r3144.
2009-07-15 04:02:15 +00:00
Niels Martin Hansen ece75e0652 Make version checker include current version (source SVN revision) in request for latest.txt, for statistics purposes.
Originally committed to SVN as r3140.
2009-07-14 23:23:39 +00:00
Karl Blomster b2c1eced55 Make the name of the limit to visible lines export filter translatable. Fixes #789.
Originally committed to SVN as r3139.
2009-07-14 22:29:38 +00:00
Niels Martin Hansen 24de0a249a Add missing iconv include dir to MSVC project property sheet.
Originally committed to SVN as r3138.
2009-07-14 21:57:38 +00:00
Thomas Goyne 0ea2c53c1a Replaced most wx-based charset conversions with a custom iconv-based conversion. Closes #639, #666, #837, #849 and #877.
Originally committed to SVN as r3137.
2009-07-14 21:28:49 +00:00
Amar Takhar dac40729e0 s/greg_/Grigori Goronzy/ for the libass credit updates #894.
Originally committed to SVN as r3135.
2009-07-14 19:45:43 +00:00
Amar Takhar 49a116804d Change version in version.cpp and configure.in to 2.2.0, the string freeze is officially over and all the commits we've been holding back can now go in!
Originally committed to SVN as r3134.
2009-07-14 18:15:11 +00:00
Niels Martin Hansen 26c9dd2ce6 More cleanup of local config:
* Remove option from Options dialogue, it's an install-time thing really
 * Don't try to do file associations at startup if we're portable
 * General clean up of config handling code; properly make ?user point to ?data and then everything magically follows, makes a lot of handling cleaner

Originally committed to SVN as r3131.
2009-07-14 04:51:35 +00:00
Niels Martin Hansen f1c7ed639d Properly fix "local config" option, previously it only made config.dat local and kept everything else in %APPDATA% still. Now fixed, along with a load of other problematic uses of relative paths. Still a lot more to go.
This also makes a bit of sense of the default options for various paths that previously were implicitly relative to ?user or ?data but never explicitly specified in options.

Originally committed to SVN as r3130.
2009-07-14 03:02:17 +00:00
Karl Blomster 2f65a5bb68 Remove the dangerous CopyFile function that on Unix attempted to create hard links of files instead of copying them. Replace it with wxCopyFile instead. Patch by jfs. Fixes #912.
Originally committed to SVN as r3129.
2009-07-14 02:20:40 +00:00
Niels Martin Hansen 68481215c9 Apply patch to fix #910.
Originally committed to SVN as r3128.
2009-07-14 02:00:56 +00:00
Niels Martin Hansen 543fd177d5 More minor fixes to Windows installer... we're installing VSFilter 2.39e from guliverkli2 and not one from MPC-HC, and list a couple more files for the pre-install cleanup jobs.
Originally committed to SVN as r3127.
2009-07-14 00:15:42 +00:00
Amar Takhar 0816491057 Add src/core/*.h not core/*.h to SOURCES for distfiles.
Originally committed to SVN as r3126.
2009-07-13 23:26:03 +00:00
Niels Martin Hansen b73d64959e Even more changes to Windows installer:
* Include ffms2.pdb
 * Have some files/actions depend on multiple components

Originally committed to SVN as r3125.
2009-07-13 23:09:30 +00:00
Niels Martin Hansen 7eb58e57e2 Fix include path for MSVC project to point to the new location of ffms2 sources.
Originally committed to SVN as r3124.
2009-07-13 22:43:46 +00:00
Amar Takhar c2d4884148 Update libass to 94d4104 from http://greg.geekmind.org/viewgit/.
Originally committed to SVN as r3123.
2009-07-13 22:43:25 +00:00
Niels Martin Hansen 7532387444 Remove further deprecated compiler flags causing warnings from MSVC projects.
Originally committed to SVN as r3122.
2009-07-13 22:42:17 +00:00
Amar Takhar 75bfada57e Actually fix libosxutil includes, as many times as I'd like to belive using 'diff' to transfer from a working copy to a non-working copy is the safest I always endup convincing myself that it's impossible to screw-up a _two_ line patch.
Originally committed to SVN as r3121.
2009-07-13 22:38:43 +00:00
Niels Martin Hansen 882ea814ab Remove a deprecated compiler flag causing warnings during universalcharset build on Windows.
Originally committed to SVN as r3120.
2009-07-13 22:37:19 +00:00
Amar Takhar 11bda97f9d I can't belive these snuck in, I specifically ensured they wern't there but obviously I didn't do nearly a good enough job!
Originally committed to SVN as r3119.
2009-07-13 22:35:26 +00:00
Amar Takhar 4599eec308 Wrap libosxutils headers with "extern C"
Originally committed to SVN as r3118.
2009-07-13 22:32:11 +00:00
Amar Takhar 5ad6e777d3 Build changes for the new ffms, TheFluff will be comitting the aegisub changes shortly.
Originally committed to SVN as r3117.
2009-07-13 22:30:49 +00:00
Karl Blomster a45282bfbb Update the FFMS2 audio and video providers to use the new API features.
Originally committed to SVN as r3116.
2009-07-13 22:30:48 +00:00
Amar Takhar 5dc912bf4d Update to the latest ffms (r116) from http://code.google.com/p/ffmpegsource/.
Originally committed to SVN as r3115.
2009-07-13 22:27:40 +00:00
Amar Takhar 24be06341a Rename FFmpegsource2/ to libffms/ before the update to r115 from the ffms repo. This doens't make any build changes so things will be broken in this commit.
Originally committed to SVN as r3114.
2009-07-13 22:19:44 +00:00
Niels Martin Hansen 234ee0d3dc More little changes to Windows installer:
* Don't include dictionaries and thesaurii if they don't exist on the machine building the installer
 * Sprinkle some more 'solidbreak' flags around, hoping to make compact/custom installations spend less time decompressing huge files that won't be installed

Originally committed to SVN as r3113.
2009-07-13 21:48:53 +00:00
Niels Martin Hansen d665909687 Add Russian dictionary and thesaurus files to Windows installer.
Originally committed to SVN as r3112.
2009-07-13 21:38:58 +00:00
Niels Martin Hansen 9c4407729b Some changes to file ordering, and cosmetic changes, in Windows installer script.
Originally committed to SVN as r3111.
2009-07-13 21:26:28 +00:00
Niels Martin Hansen ac64269ade Preparing for 2.1.7 release, new URLs for latest.txt.
Originally committed to SVN as r3110.
2009-07-13 18:31:43 +00:00
Karl Blomster d37e0f69fb Missed two renamings in the last commit.
Originally committed to SVN as r3109.
2009-07-13 02:48:07 +00:00
Karl Blomster 1f55f362fb Hack in some compatibility #defines in FFMS2's utils.h so it'll compile with both older and newer ffmpeg versions. Reverts r3012. Part of this change based on a patch by CharlieB. Fixes #909.
Originally committed to SVN as r3108.
2009-07-13 02:34:41 +00:00
Amar Takhar 24da41faaf * BUILD_DARWIN was a define used for libass only, change it to __APPLE__ (sigh)
* char config_path -> const char *config_path for non-MAC builds. not sure how the first version got in.

Originally committed to SVN as r3107.
2009-07-12 20:10:25 +00:00
Thomas Goyne fa3f5d11ef Made selecting a line via the visual typesetting drag mode also update the grid's selection, fixing one way of getting the edit box out of sync with the other non-time controls.
Originally committed to SVN as r3106.
2009-07-12 05:30:01 +00:00
Amar Takhar 43adde723c Fix OSX: Move our local libass patch into aegisub itself as libass now supports specifying a fontconfig config file.
Originally committed to SVN as r3105.
2009-07-11 17:28:27 +00:00
Amar Takhar e250deb10f Nuke the Windows (MSVC) support as libass will be adding their own official support, it's not like we're using it anyway..
Originally committed to SVN as r3104.
2009-07-11 15:55:52 +00:00
Amar Takhar 76c2d1bd41 Remove mputils.(c|h) as they're no longer needed.
Originally committed to SVN as r3103.
2009-07-11 15:54:38 +00:00
Amar Takhar df2b0b5b67 Update libass to 15df37.
Originally committed to SVN as r3102.
2009-07-11 15:48:50 +00:00
Amar Takhar 06259dfb1e Disable Fortran checks, thanks Greg! For whatever reason I only looked at the autoconf source, sigh.
Originally committed to SVN as r3101.
2009-07-11 03:45:03 +00:00
Karl Blomster bf2b456f0c Re-fix the fix in r3091; the issue wasn't what I thought it was, it was that memory was being freed twice. Fixes #906.
Originally committed to SVN as r3100.
2009-07-08 13:30:24 +00:00
harukalover 6779781284 Fixed a memory leak that occurred when resetting hotkey defaults
Originally committed to SVN as r3099.
2009-07-06 05:01:55 +00:00
Amar Takhar fa54e72105 Even when we don't have any audio players audio_player.cpp is still required in order to register the fact that there are no audio players.
Originally committed to SVN as r3098.
2009-07-04 15:53:52 +00:00
Thomas Goyne 349dd2cfe4 Made the edit box only retain its internal undo history for changes made since the last commit or line switch rather than every state it has had since the program was started, fixing a gradual memory leak.
Originally committed to SVN as r3097.
2009-07-04 01:46:06 +00:00
harukalover 1cb43ba5c7 Increased the default size of the time edit control on wxGTK since it was still too small on some OS's after r3094
Originally committed to SVN as r3096.
2009-07-03 23:40:26 +00:00
Thomas Goyne 7ecbbf2e5c Fixed an issue with the Set Start/End to Video and Snap to Scene hotkeys and toolbar buttons where any uncommited changes in the editbox would be reverted. They now behave the same as setting the time via the text boxes.
Originally committed to SVN as r3095.
2009-07-03 18:35:46 +00:00
harukalover 4d0f48f303 Fixed the "Overwrite-Insertion in time boxes" option on Linux and enabled it as the default mode for the time edit boxes on all OS's instead of just Windows
Originally committed to SVN as r3094.
2009-07-02 17:29:20 +00:00
harukalover bd4644d1bd Fixed an issue with the spectrum slider not updating the color spectrum in the color picker dialog on Linux
Originally committed to SVN as r3093.
2009-07-02 03:33:28 +00:00
harukalover 58a7b112e1 Fixed removal of the color dropper tool on non-Windows platforms (it was still appearing, though misaligned in the color picker). updates #861
Originally committed to SVN as r3092.
2009-07-01 03:16:47 +00:00
Karl Blomster 383d0f3149 Fix a potential crash on exiting. (An invalid memory location could under certain circumstances be assigned to in the OpenGLTextTexture destructor.)
Originally committed to SVN as r3091.
2009-06-30 20:44:38 +00:00
harukalover b3a69668bf * Fixed an issue with aegisub not trying to open the local config.dat in Windows builds, fixes #902
* Fixed an issue with aegisub failing to start if a local config.dat existed but aegisub did not have permission to write to it

Originally committed to SVN as r3090.
2009-06-30 05:55:03 +00:00
harukalover 2e86a73205 Fixed a new[]/delete mismatch
Originally committed to SVN as r3089.
2009-06-30 05:29:15 +00:00
Amar Takhar e2aa20949d Add ass_cache_template.c to EXTRA_DIST. I remember fixing it, however I forgot to commit it..
Originally committed to SVN as r3088.
2009-06-28 23:39:42 +00:00
Amar Takhar 59e6ca965f Unbreak Unix/OSX from r3085, I'll let jfs do a proper fix when he's around. Updates #884.
Originally committed to SVN as r3087.
2009-06-25 02:31:35 +00:00
Niels Martin Hansen a4573a1c72 For whatever reason, the right-click-to-play-syllable code in karaoke mode was calling the audio player directly, instead of using the usual Play function in the audio display. Fixes #598 for real.
Originally committed to SVN as r3086.
2009-06-25 00:32:33 +00:00
Niels Martin Hansen beedca2fba Fix #884, annoying wxString::Trim is destructive and there's no non-destructive variant. Adding a new function to utils.cpp to test whether a string is "blank", ie. empty or whitespace-only, as well as a function to check if a wchar_t is a whitspace character.
Trimming was used to test whether a string was blank or not, and this caused the source syllable texts to be altered when the kanji interpolation algorithm was run.

Originally committed to SVN as r3085.
2009-06-24 22:22:45 +00:00
Karl Blomster a7760db77b Adjust the way VFR is handled in VideoContext::SetVideo; should be cleaner and less prone to odd bugs now (hopefully). Doesn't try to set CFR framerates on VFR videos anymore, for one thing. Fixes #864.
Originally committed to SVN as r3084.
2009-06-24 18:16:03 +00:00
Karl Blomster 2e9439c9f5 Implement timestamp reading from the container in the ffmpeg video provider. Updates #864.
Originally committed to SVN as r3083.
2009-06-24 17:43:36 +00:00
Karl Blomster 06ff786c60 Updated Czech translation by Christof (christof a totan d cz). Fixes #900
Originally committed to SVN as r3082.
2009-06-24 15:47:51 +00:00
harukalover ee37d42618 Fixed an issue with Shift to Current Frame not updating the time edit boxes in the subs edit box, resulting in commit using the previous no longer valid times. Fixes #897
Originally committed to SVN as r3081.
2009-06-19 22:18:30 +00:00
Niels Martin Hansen b0a9c3bc8d Add iconv project to Windows tinderbox solution file, and make the Aegisub project dependent on it, in preparation of iconv patch.
Originally committed to SVN as r3079.
2009-06-17 18:24:15 +00:00
Niels Martin Hansen 16a9521b0f Put iconv.vcproj in line with the other contrib etc. vcprojs:
* Add x64 configurations
 * Add contrib-outdirs.vsprop property sheet to put output dirs in line

Originally committed to SVN as r3078.
2009-06-17 17:55:30 +00:00
Thomas Goyne 80cb69f2ef Added a stripped down version of iconv with everything but libiconv and libcharset removed and a vcproj for building in MSVC added.
Originally committed to SVN as r3077.
2009-06-17 17:48:27 +00:00
Niels Martin Hansen ce60827866 I can't spell names...
Originally committed to SVN as r3076.
2009-06-17 04:10:11 +00:00
Niels Martin Hansen e20204610f New config for Windows buildbot.
* Add ffms2 support to build
 * Make sure Avisynth and ffms2 support is only built in 32 bit builds, as they can't work in 64 bit yet.

Originally committed to SVN as r3075.
2009-06-17 03:57:03 +00:00
Niels Martin Hansen 33d1b6d7d0 Change some nicknames for real names in About box, updates #894.
Originally committed to SVN as r3074.
2009-06-17 02:42:26 +00:00
harukalover d83b19e57b Fixed a memory leak that occurred from canceling loading of audio with cache type set to RAM
Originally committed to SVN as r3073.
2009-06-17 02:04:01 +00:00
Amar Takhar 0d54078d93 Add cs (Czech) to LINGAS, anytime a language is added don't forget to add the file here!
Originally committed to SVN as r3072.
2009-06-17 01:45:13 +00:00
Niels Martin Hansen b6e83c5edb New background for DMG for Mac OS X installs. Closes #869.
Originally committed to SVN as r3071.
2009-06-17 01:43:00 +00:00
Amar Takhar e571fe0500 Remove whats probably a cut and paste-o introduced in r3069.
Originally committed to SVN as r3070.
2009-06-17 01:02:32 +00:00
Niels Martin Hansen 531831250a Update credits in About box, see #894.
Originally committed to SVN as r3069.
2009-06-17 00:49:41 +00:00
Niels Martin Hansen b90baf0ef4 Fix #885, for some reason mouse events were firing in the audio display while some internal variables were invalid. Now mouse events are skipped if the display is missing a player or provider.
Originally committed to SVN as r3068.
2009-06-16 23:44:06 +00:00
Niels Martin Hansen 8e13869510 Got all the Unicode codepoints listed in Plorkyeran's patch and listed them in an array, to avoid encoding the source file as UTF-8 or UTF-16. Updates #710, seems to fix it but someone please confirm.
Originally committed to SVN as r3067.
2009-06-16 23:29:56 +00:00
Niels Martin Hansen de5c5ea24b Add all translations to installer, comment out those that aren't up to date.
This should be all required for 2.1.7, so close #863.

Originally committed to SVN as r3066.
2009-06-16 21:23:53 +00:00
Niels Martin Hansen e0a3aeca3d Fix #892, LuaScriptReader wasn't checking if opening the file actually succeeded.
Check, and throw an exception if it fails.

Originally committed to SVN as r3065.
2009-06-16 21:21:25 +00:00
Niels Martin Hansen bab71db434 * Change version string formatting to a cleaner format.
* Non-FINAL_RELEASE builds no longer show a version number, only SVN revision.
 * FINAL_RELEASE builds show SVN revision in About box only.
 * Also change FINAL_RELEASE version number to 2.1.7.

Originally committed to SVN as r3064.
2009-06-16 19:11:08 +00:00
Niels Martin Hansen 7097b3be3e New splash screen, following theme from Windows installer splash: Faded out and cropped shield in background, logo superimposed.
Closes #858 unless someone complains loudly.

Originally committed to SVN as r3063.
2009-06-16 19:08:54 +00:00
Niels Martin Hansen 4967c9d4a5 Updates to installer, see #863.
* Add bitmaps for large fonts configurations of Windows to installer.
 * Add auto-complete support to dir entry box in installer.
Thanks to ender.

Originally committed to SVN as r3062.
2009-06-16 18:17:33 +00:00
Niels Martin Hansen 9d47842aa7 Remove unused RuntimeTestLibrary code.
Originally committed to SVN as r3061.
2009-06-16 17:34:21 +00:00
Niels Martin Hansen 45f4a16001 Updated splash image for Windows installer, updates #863.
Also includes Paint.NET source image.

Originally committed to SVN as r3060.
2009-06-16 17:33:41 +00:00
Niels Martin Hansen 66a35cad87 Update license file installed with Windows version, also see #863.
Originally committed to SVN as r3059.
2009-06-16 17:23:59 +00:00
Niels Martin Hansen 766dcf3c3f More updates to installer, updates #863.
* Use a simple but (hopefully) very reliable way of detecting whether runtimes need to be installed: Check for an uninstaller entry for the runtimes.
 * Clean up from most, hopefully all, 2.x alpha and pre-release installers we have previously put out.
 * Also clean combinations of 1.x and 2.x pre-rel versions installed on top of each other.
 * TODO: List all completed translation files for installation.

Originally committed to SVN as r3058.
2009-06-16 17:09:42 +00:00
Niels Martin Hansen 9aaa1ed903 Installer updates for 2.1.7:
* Now picks up (almost) all files from a tree in src/ under dir with the .iss file
 * Perfect (I think) upgrade from 1.x versions
 * Remove the compile defines stuff, there's only one installer version
 * Good, old-fashioned unconditional installation of MSVC runtimes
To be done:
 * Upgrades from earlier 2.x versions (need to collect samples to test against)

Originally committed to SVN as r3057.
2009-06-16 02:06:09 +00:00
harukalover 0d1ede1ed1 Fixed a memory leak that would occur when loading audio while using the hard disk cache
Originally committed to SVN as r3056.
2009-06-14 04:29:20 +00:00
Niels Martin Hansen f20d079598 Fix #890, make the output formatting for Adobe Encore format use a format string for clearness, instead of string building.
Originally committed to SVN as r3055.
2009-06-14 02:42:52 +00:00
Amar Takhar ebcfe43d7e Add -I../FFmpegSource2 to AM_CXXFLAGS. This is *definatly* not the right way to do it, it's a temp measure until I figure out the best way to handle it.. updates #883.
Originally committed to SVN as r3054.
2009-06-12 17:26:56 +00:00
Niels Martin Hansen 5f7884ab22 Add FINAL_RELEASE and WITH_STARTUPLOG defines (both commented out) in config_windows0.h base.
Originally committed to SVN as r3053.
2009-06-12 17:13:22 +00:00
Karl Blomster 956f657c8d - Moved lib/ffms2.lib to FFmpegSource2/ffms2.lib.
- Deleted the lib folder since nothing uses it anymore.
- Modifed the #include of ffms.h in ffmpegsource_common.h to make it easier to use an external ffms2 instead of the one in the repository.
- Updated vs2008 project file to reflect these changes.
- Easily claims build breaker's hat.

Originally committed to SVN as r3052.
2009-06-12 17:10:45 +00:00
Niels Martin Hansen ac18b4889b Add super secret WITH_STARTUPLOG define, if enabled it causes insane amounts of message box spam during startup. Currently only implemented on Windows and should be disabled for almost all conceivable purposes.
Originally committed to SVN as r3051.
2009-06-12 16:59:53 +00:00
harukalover 769f61eaf3 Fixed a memory leak that would occur after using any help button
Originally committed to SVN as r3050.
2009-06-12 00:04:35 +00:00
harukalover 4eeb89710d Fixed compilation support with wxWidgets 2.9.0 (seems to work correctly besides some minor gui issues)
Originally committed to SVN as r3049.
2009-06-11 23:30:33 +00:00
harukalover 41f71ca3be Update link to bug tracker in Help menu
Originally committed to SVN as r3048.
2009-06-11 18:04:48 +00:00
harukalover 5d010113f0 Oops, r3045 caused crashing issues when closing the translation assistant again. Fixed the crash without having to revert the fix for the memory leaks again.
Originally committed to SVN as r3047.
2009-06-11 08:13:54 +00:00
Amar Takhar 8cfb941a3c Remove *portaudio2.(cpp|h) from the vcproj.
Originally committed to SVN as r3046.
2009-06-11 03:00:12 +00:00
harukalover 7ac69a31b3 * Fixed an issue with the translation assistant not remembering the last position it was placed at before closing it
* Fixed some memory leaks in the translation assistant

Originally committed to SVN as r3045.
2009-06-11 02:33:21 +00:00
harukalover 9abcbe19b3 Fixed a memory leak in the auto4 ScriptFactory
Originally committed to SVN as r3044.
2009-06-11 02:17:42 +00:00
Amar Takhar 1b9f38747b Supplant the portaudio player with the portaudio2 player. This still doesn't handle some of the issues that happen on linux, that will be fixed in a later commit, updates #876.
Originally committed to SVN as r3043.
2009-06-10 04:45:57 +00:00
Amar Takhar 17f1ccac06 Completely revert r2970 as line 84 causes crashes elsewhere. While the rest may not cause any issues it's better to deal with some leaking memory than hard crashes.
Originally committed to SVN as r3042.
2009-06-10 03:49:59 +00:00
harukalover 10b8a6253b Fixed a memory leak that would occur when using the visual typesetting tools
Originally committed to SVN as r3041.
2009-06-10 03:32:18 +00:00
Amar Takhar eb27337349 Revert line 85 from r2970 as it causes aegisub to crash in very interesting ways. It's most likely not aegisubs fault entirely however removing this does fix the issue.
Originally committed to SVN as r3040.
2009-06-10 03:32:15 +00:00
Amar Takhar 5cff8b2d6a Remove support for old FFMPEG releases, if you require or want this support you are officially on your own, closes #875.
Originally committed to SVN as r3039.
2009-06-10 02:21:20 +00:00
Amar Takhar e2015ca7e9 The finance department (jfs) let me know that we don't depreciate things here, only deprecate.
Originally committed to SVN as r3038.
2009-06-10 02:15:40 +00:00
Amar Takhar 357b527249 Ensure the system 'convert' utility is actually from ImageMagick.
Originally committed to SVN as r3037.
2009-06-10 02:13:24 +00:00
Amar Takhar 08d507e40c Disable FFMPEG provider, use --with-provider-ffmpeg to enable, closes #874.
Originally committed to SVN as r3036.
2009-06-10 02:09:00 +00:00
Amar Takhar f8219e4863 Set versions for ffmpeg: avcodec 52.27.0, avformat 52.32.0, avutil 50.3.0, postproc 51.2.0 and swscale 0.7.1, all of these are from r18642 in ffmpeg.. updates #831
Originally committed to SVN as r3035.
2009-06-09 20:47:28 +00:00
Niels Martin Hansen 3c169039a6 Updated Russian translation, closes #865.
Originally committed to SVN as r3034.
2009-06-08 15:04:01 +00:00
Niels Martin Hansen 837755b349 Fix #872, make the gridlines colour be the same as the text colour in the kanji timer display.
Originally committed to SVN as r3033.
2009-06-08 03:34:09 +00:00
Niels Martin Hansen 4f3569b7d9 Mostly rewrite the kanji timer. Now using a custom control that avoids most of the problems the old implementation using text-boxes had. The new implementation unifies the pre-grouping and post-grouping display into one.
The auto-matching algorithm for Japanese was also rewritten, I think the new code works somewhat better. (For the song I used for testing, I can just hit Enter most of the way through, more than I remember being able to with the old.)
There are some slight oddities with the way the display scrolls when the input goes too close to the edge, but while it can feel confusing it should still keep everything you want to see, visible.
Fixes #847 and #708.

Originally committed to SVN as r3032.
2009-06-08 02:37:09 +00:00
Niels Martin Hansen bcd7e64bbd Extend the kana table with a bunch more specialty characters and notations, and comment the existing esoteric katakana entries.
Updates #847.

Originally committed to SVN as r3031.
2009-06-07 23:51:15 +00:00
Niels Martin Hansen eae8edcd1f The KanaTable was missing a destructor. Nobody noticed because the old kanji timer code created but never deleted KanaTable objects on the heap... yes that was a memory leak that'll also get plugged by the rewrite of the kanji timer.
Updates #847.

Originally committed to SVN as r3030.
2009-06-07 23:15:02 +00:00
harukalover 1d945b9b3d Made the styling assistant require a double click to select a style, this fixes issues with mistakenly selecting a style when the user is just trying to focus the assistant
Originally committed to SVN as r3029.
2009-06-07 03:43:12 +00:00
Niels Martin Hansen a1677d3a2c The AssEntry::Clone() function ought to have been const all the time... make it. (Ugh, I had to make a const_cast in AssStyle::Clone().)
Originally committed to SVN as r3028.
2009-06-07 00:22:36 +00:00
Niels Martin Hansen 1e4ec69f7f The AssKaraoke parser can just as well take a const AssDialogue for parameter.
Originally committed to SVN as r3027.
2009-06-07 00:20:30 +00:00
Amar Takhar 92d5324084 Fix #846, patch from pomyk, thanks!
Originally committed to SVN as r3026.
2009-06-06 21:05:31 +00:00
Niels Martin Hansen 6e2240166f A bit of const correctness for AssDialogue
Originally committed to SVN as r3025.
2009-06-06 19:32:17 +00:00
Niels Martin Hansen 51c36f2803 Close #491 (again), force the min-size of the detached video to be (1,1) after creation and layout.
Originally committed to SVN as r3024.
2009-06-06 14:36:22 +00:00
Niels Martin Hansen 6e144e6589 Fix #491: Let the detached video dialogue take a parameter indicating the initial video size.
Originally committed to SVN as r3023.
2009-06-06 02:57:42 +00:00
Niels Martin Hansen d56b5b1bf6 Fix #598, repaint the audio display upon playback to get rid of any junk on it.
Originally committed to SVN as r3022.
2009-06-06 02:32:31 +00:00
Niels Martin Hansen 0f2d39e28f Fix #787, make the Paste and Paste Over commands in the Edit menu sensitive to the current format on the clipboard and only enable them if plain text is a supported format. They will also be enabled if the clipboard fails to open, as a safety device.
Originally committed to SVN as r3021.
2009-06-06 02:16:20 +00:00
Niels Martin Hansen c0586f690c Close #861, remove colour dropper tool on non-Windows platforms for now.
Originally committed to SVN as r3020.
2009-06-06 01:59:33 +00:00
Niels Martin Hansen 4b41b4ca4a Fix #607: Have style editor save its position and size during the session, similar to how several other dialogues already do. The stored position is not persistent, it is lost when Aegisub is closed.
Originally committed to SVN as r3019.
2009-06-05 02:02:55 +00:00
Niels Martin Hansen c74a02e57d Clean up code in Style Editor a bit, remove no longer needed performance measurement code.
Originally committed to SVN as r3018.
2009-06-05 01:49:06 +00:00
Niels Martin Hansen 2feefd85fd Close #839, the Shift Times function will now only do something if shifting by a non-zero number of milliseconds, or always if shifting by a number of frames (even zero).
Originally committed to SVN as r3017.
2009-06-05 00:02:26 +00:00
Niels Martin Hansen ce015fc820 Add sample endianness info to all audio providers (except one, intentionally; see the stream provider changeset), and make the converting audio provider convert to native endian when required. Updates #725 but needs some testing. Might break compilation in some places, but shouldn't. ("Works for me.")
Originally committed to SVN as r3016.
2009-06-04 23:02:29 +00:00
Niels Martin Hansen 88a5335004 Adjust calculation of secondary colour for checkerboard pattern in dummy video provider. New calculation produces better results for dark colours, the old calculation produced very high contrast patterns for dark colours.
Originally committed to SVN as r3015.
2009-06-04 02:28:46 +00:00
Niels Martin Hansen 26ac4e65f8 Another shot at fixing wxGLCanvas woes on Mac, updates #850. This time the code is also considerably simpler!
Originally committed to SVN as r3014.
2009-06-04 02:05:11 +00:00
Niels Martin Hansen d6a8a07845 Experimental stuff trying to fix wxGLContext errors on Mac, updates #850. Untested, might break build for Mac.
Originally committed to SVN as r3013.
2009-06-04 01:35:11 +00:00
Amar Takhar 4afd28b60a Revert part of r3005, rename AV_PKT_FLAG_KEY back to PKT_FLAG_KEY, ffmpeg has added a compat define for any programs still using the old define. This is a temporary measure until we figure out how to properly handle it.
Originally committed to SVN as r3012.
2009-06-04 00:17:14 +00:00
Niels Martin Hansen 390fb2d03c Remove all traces of local configuration support ("portable application") in non-Windows builds. Closes #856.
Originally committed to SVN as r3011.
2009-06-03 23:42:47 +00:00
Niels Martin Hansen 4b986b5a53 Make the visual typesetting toolbar a bit prettier on Vista and probably also Win7, by removing themed background that didn't blend in with the surroundings.
Originally committed to SVN as r3010.
2009-06-03 23:18:40 +00:00
Niels Martin Hansen f4939c082a Really fix detached video, closes #853.
Originally committed to SVN as r3009.
2009-06-03 23:08:40 +00:00
Niels Martin Hansen 6dc3015962 Work on fixing detached video, still broken but works a little better now. Updates #853.
Originally committed to SVN as r3008.
2009-06-03 23:01:03 +00:00
harukalover 614f2ef559 Fixed a memory leak that occurred when using undo/redo, fixes #330
Originally committed to SVN as r3007.
2009-06-03 19:55:39 +00:00
harukalover 1d55e6b7b2 Add some sanity checking to SelectRow to prevent an invalid row from being selected when undoing line insertions
Originally committed to SVN as r3006.
2009-06-03 19:04:54 +00:00
Fredrik Mellbin 1c5ff247f6 FFMS2:
Flag keyframes in generated packets more properly
Requires FFmpeg r19078 to compile because of the changed define names

Originally committed to SVN as r3005.
2009-06-03 14:35:21 +00:00
Amar Takhar ccde9fd3d8 Work around ancient versions of intltool...
Originally committed to SVN as r3004.
2009-06-02 01:58:00 +00:00
Amar Takhar 7eada86cde Print the configure commandline before running it.
Originally committed to SVN as r3003.
2009-06-02 01:56:47 +00:00
Amar Takhar bde1c68018 Fix FreeBSD dist building under buildbot.
Originally committed to SVN as r3002.
2009-06-02 01:56:29 +00:00
Amar Takhar d603ceeda9 Fix osx-bundle and osx-dmg breakage after adding buildbot support, both scripts now accept spaces in the directory names.
Originally committed to SVN as r3001.
2009-06-02 00:16:45 +00:00
Niels Martin Hansen f13d23509a Fix #859, or rather work around it. There's no good way to detect problematic regexes like the example, and the regex engine lies in wx, so we'll have to do with what wx offers. Put a limit of at most 1000 replacements per line processed, that "should be enough for everyone", and avoids infinite looping.
(Also 3000 GET!)

Originally committed to SVN as r3000.
2009-06-01 15:44:59 +00:00
Niels Martin Hansen 386cc9d3cd Reword error messages introduced in r2998 to make it Aegisub's fault and not the graphics drivers'. Even if our code is technically correct, it's still our problem.
Updates #799.

Originally committed to SVN as r2999.
2009-06-01 15:29:22 +00:00
Niels Martin Hansen 60970e5f29 Add some error catching in the OpenGL code, this should make most OpenGL-related problems less fatal, though it can still cause funky UI problems I think.
At least the user should get a slightly more useful error message now.
Updates #799.

Originally committed to SVN as r2998.
2009-06-01 15:26:26 +00:00
Niels Martin Hansen da78539ab2 Make DSound2 audio player use dynamic latency trickery and only do streaming (looping buffer) playback for long playback durations. This should fix most if not all "could not lock buffer" errors and close #855.
Originally committed to SVN as r2997.
2009-06-01 14:53:18 +00:00
Niels Martin Hansen db27d770f6 Fix #599, the wrong overload for wxSpinCtrl::SetValue was used causing only the edit control part to be updated.
Originally committed to SVN as r2996.
2009-06-01 13:57:34 +00:00
Karl Blomster fa73db1bf1 Update ffms2.lib
Originally committed to SVN as r2995.
2009-06-01 13:55:06 +00:00
Fredrik Mellbin 6542dd416d FFMS2: Improve LAVF audio seeking in weird files
Originally committed to SVN as r2994.
2009-05-29 16:35:10 +00:00
Fredrik Mellbin eaecf59d91 FFMS2: beta 9 TAG!
Originally committed to SVN as r2993.
2009-05-28 20:26:18 +00:00
Fredrik Mellbin ea80b6c130 Changes required to compile because of the previous commit
Originally committed to SVN as r2992.
2009-05-28 19:34:52 +00:00
Fredrik Mellbin 841150b2b7 FFMS2:
Renamed a public api function just because I can
Less access violations (AGAIN!)
Dumping now implies indexing too
Much better logic for automatically indexing files when FFAudioSource is used in avisynth
Changed defaults for FFIndex
Now FFmpeg's internal codec lists are used for lookup from the non-lavf based parts

Originally committed to SVN as r2991.
2009-05-28 19:33:14 +00:00
harukalover dfdea0298b Revert r2965 and r2961, although they fixed the memory leaks they also caused a crash when closing either dialog under some operating systems
Originally committed to SVN as r2990.
2009-05-27 02:08:21 +00:00
Karl Blomster 379f15659a Do COM initialization more properly (I think) in the FFMS2 providers.
Originally committed to SVN as r2989.
2009-05-25 16:42:33 +00:00
Karl Blomster 200b3393f9 Another missing ifdef in ffmsindex
Originally committed to SVN as r2988.
2009-05-25 16:28:28 +00:00
Fredrik Mellbin 9cb8cb25cf FFMS2: unix ifdefs in ffmsindex
Originally committed to SVN as r2987.
2009-05-25 16:25:43 +00:00
Karl Blomster c8b125943c Update FFMS2 providers to initialize COM when running under Windows, as per the new FFMS2 init procedure.
Originally committed to SVN as r2986.
2009-05-25 15:52:42 +00:00
Karl Blomster 50069248e9 Update FFMSIndex to work with the new audio dump method.
Also update ffms2.lib (again).

Originally committed to SVN as r2985.
2009-05-25 15:50:31 +00:00
Fredrik Mellbin 9fe7b04830 FFMS2: revert the initialization mess, instead require the caller to initialize com where it's needed
Originally committed to SVN as r2984.
2009-05-25 14:05:04 +00:00
Karl Blomster ab5bc99e94 Update ffms2.lib
Originally committed to SVN as r2983.
2009-05-25 13:44:27 +00:00
Niels Martin Hansen a1a4d797e7 Turn broken hotkeys.dat file into a non-fatal error. If the file is broken (usually meaning exists but empty) the existing file will now be copied to hotkeys.bak and the defaults restored and saved as hotkeys.dat.
Originally committed to SVN as r2982.
2009-05-24 23:19:28 +00:00
Fredrik Mellbin c8768d8043 FFMS2: more initialization fun
Originally committed to SVN as r2981.
2009-05-24 23:04:11 +00:00
Karl Blomster cf03d252ca Update ffms2.lib as per usual
Originally committed to SVN as r2980.
2009-05-23 23:03:57 +00:00
Fredrik Mellbin f1fbef752c FFMS2: The usual small fixes
Originally committed to SVN as r2979.
2009-05-23 20:04:38 +00:00
Fredrik Mellbin 3220a2301a FFMS2:
Simplify the avisynth filters
Small api change => you can now list a group of desired colorspace output formats for automatic selection, less functions can return errors
Less singnedness warnings

Originally committed to SVN as r2978.
2009-05-23 14:18:51 +00:00
Fredrik Mellbin e772ad5e10 FFMS2: Use the average fps for files opened with Haali's splitters
Originally committed to SVN as r2977.
2009-05-22 23:41:37 +00:00
Fredrik Mellbin 159552f36e FFMS2:
Fix the weird crash bug
Fix *nix compilation

Originally committed to SVN as r2976.
2009-05-22 23:28:08 +00:00
Fredrik Mellbin 870f46f85e FFMS2: Missing #ifdef
Originally committed to SVN as r2975.
2009-05-22 22:12:31 +00:00
Karl Blomster a3ad037940 Fix ffms2 providers to work with latest FFMS2 API changes.
Originally committed to SVN as r2974.
2009-05-22 21:44:02 +00:00
Karl Blomster 4775179491 Update ffms2.lib to get in sync with last commit.
Originally committed to SVN as r2973.
2009-05-22 21:30:57 +00:00
Fredrik Mellbin 4165b7c963 FFMS2:
Added audio decoding using Haali's splitters
Restructuring
Big API changes
Many bug fixes

Originally committed to SVN as r2972.
2009-05-22 21:28:02 +00:00
Niels Martin Hansen 2377b1455e Increase grabbing zone for karaoke split markers from 4 to 7 pixels, makes dragging much easier, speeding up work.
Originally committed to SVN as r2971.
2009-05-22 14:30:51 +00:00
harukalover 10a11ce0cc Fixed some of the larger memory leaks in the LibassSubtitlesProvider detected by valgrind
Originally committed to SVN as r2970.
2009-05-22 04:09:09 +00:00
harukalover 17f0e664f0 Initialize a variable in the audio display that sometimes was used without any initial value being assigned to it.
Originally committed to SVN as r2969.
2009-05-22 02:27:36 +00:00
Niels Martin Hansen ef4021f757 Make error handling in DSound2 audio player more robust. When an error happened in the playback thread, the error_happened flag was set, but was never cleared when the error was detected in the main thread. Furthermore, the main thread didn't act upon the error besides showing it, it kept acting as if the playback thread was still alive and playing, causing the error to be triggered continuously requiring you to kill Aegisub to get out.
Made the error_happened event reset itself after being checked so the check only succeeds the first time. (The playback thread returns from its threadproc upon error.) Mark playback thread as dead when error is detected, such that a new thread will be created next time playback is started, effectively making errors non-fatal.
Playback still works as expected, however I haven't tested what actually happens now when an error occurs.

Originally committed to SVN as r2968.
2009-05-22 01:41:31 +00:00
harukalover bceabf4848 Fixed some mismatched new[]/deletes in the audio display detected by valgrind
Originally committed to SVN as r2967.
2009-05-22 00:05:25 +00:00
harukalover fff437ea19 Fixed a memory leak in the CSRISubtitlesProvider
Originally committed to SVN as r2966.
2009-05-21 23:02:34 +00:00
harukalover b4a5032b2e Fixed some memory leaks in the kanji timer
Originally committed to SVN as r2965.
2009-05-21 22:57:43 +00:00
harukalover ecc4b618b3 Fixed a memory leak in the style manager, the storage of catalog styles was never being cleared when closed.
Originally committed to SVN as r2964.
2009-05-21 22:24:52 +00:00
harukalover acf2f5fa40 Fixed some memory leaks in the style manager detected by valgrind
Originally committed to SVN as r2963.
2009-05-21 22:15:32 +00:00
harukalover 68d2681193 Fixed a memory leak in the dummy video provider detected by valgrind. The video frame was being allocated but never deallocated.
Originally committed to SVN as r2962.
2009-05-21 19:49:23 +00:00
harukalover 350d9e5db7 Fixed some memory leaks in the translation assistant detected by valgrind
Originally committed to SVN as r2961.
2009-05-21 18:37:36 +00:00
Fredrik Mellbin dd1c706d5c FFMS2: More ICL warning inspired fixes
Originally committed to SVN as r2960.
2009-05-21 10:39:14 +00:00
Fredrik Mellbin ccf24ae3af FFMS2: ICL compilation fix
Originally committed to SVN as r2959.
2009-05-21 10:05:53 +00:00
Niels Martin Hansen 6eb7206aa3 Remove outdated VSFilter code.
All Aegisub patches to VSFilter were ported to the "guliverkli2" fork project on SourceForge. and several new patches were applied to that project since then.

Originally committed to SVN as r2958.
2009-05-21 00:03:20 +00:00
Fredrik Mellbin cb698b5c3f FFMS2: Another small typo after all the changes
Originally committed to SVN as r2957.
2009-05-20 22:40:55 +00:00
Fredrik Mellbin 67e9033899 FFMS2: Missing #ifdef
Originally committed to SVN as r2956.
2009-05-20 19:05:42 +00:00
Fredrik Mellbin 34c50c8cd9 FFMS2:
Split indexing into a 2 step process so track numbers/types become known in advance
Big code cleanup and renaming

Originally committed to SVN as r2955.
2009-05-20 18:57:03 +00:00
harukalover 083e2ee91c Initialized a variable that was being used before it was assigned an initial value
Originally committed to SVN as r2954.
2009-05-20 18:29:01 +00:00
Niels Martin Hansen 5bdcf2f63a Update #742, attempt fixing the bug. Removing wxEXPAND from some sizers, seems to work fine on Windows. Will test Mac build when tinderbox builds it.
Originally committed to SVN as r2953.
2009-05-18 23:37:41 +00:00
harukalover 6f0c5e6489 * Fixed some more memory leaks reported by valgrind and msvc by reimplementing a couple of singleton pattern based classes
* Fixed a memory leak that occurred from never deleting a wxBitmap allocated in OpenGLTextGlyph

Originally committed to SVN as r2952.
2009-05-18 05:51:37 +00:00
harukalover 392fbdfa4d Fix a bunch of memory leaks reported by valgrind and msvc about the registered factories never being cleared.
Originally committed to SVN as r2951.
2009-05-18 05:42:54 +00:00
harukalover 9891c28977 Add a corresponding PopEventHandler call for each PushEventHandler call, this fixes a couple of memory leaks reported by valgrind and msvc.
Originally committed to SVN as r2950.
2009-05-18 05:33:49 +00:00
harukalover f1bfb947cf Call TestDestroy() to ensure we can delete the FontsCollectorThread, fixes #561
Originally committed to SVN as r2949.
2009-05-18 05:24:07 +00:00
Karl Blomster 5717f81ef2 Update FFMS2 providers to account for FFMS2 API change in last commit.
Also update ffms2.lib to corresponding version.

Originally committed to SVN as r2948.
2009-05-17 22:12:46 +00:00
Fredrik Mellbin cd8d965324 FFMS2:
Some more API cleanup
General cleanup

Originally committed to SVN as r2947.
2009-05-17 22:02:43 +00:00
Karl Blomster 8195d36ee5 Update Japanese translation.
Originally committed to SVN as r2946.
2009-05-17 15:17:52 +00:00
harukalover 008f7f3853 Prevent an out of range exception from being thrown. (was commonly being thrown when commit was used on the last row of the grid)
Originally committed to SVN as r2945.
2009-05-17 05:47:28 +00:00
Niels Martin Hansen ef407b6e68 Make FFmpegSource video and audio providers build again after FFMS2 changes last night.
Originally committed to SVN as r2944.
2009-05-16 12:47:23 +00:00
Niels Martin Hansen 7fcfaa5dc6 Updated ffms2.lib.
Originally committed to SVN as r2943.
2009-05-16 12:46:50 +00:00
Niels Martin Hansen a312985f36 Split video backend and UI into separate groups in MSVC project file.
Originally committed to SVN as r2942.
2009-05-16 12:46:22 +00:00
Amar Takhar 0b583dcd0d As required by r2940 supply -DFFMS_EXPORTS when building the library.
Originally committed to SVN as r2941.
2009-05-16 12:13:27 +00:00
Fredrik Mellbin ab8f6e6239 FFMS2:
Rename lots of things, THIS BREAKS THE AEGISUB BUILD because of changed exported type and function names.
Fixed an uninitialized memory bug that would make it crash on unindexed audio tracks in mastroska.
Made ffms.h C-friendlier.
Exports the start time of an audio track in the audio properties.
Less signedness and type conversion warnings.

Originally committed to SVN as r2940.
2009-05-15 23:11:18 +00:00
Niels Martin Hansen f6bd6df490 Hack to fix #687, if playing to end of audio, changing the selection end shouldn't affect the playback end: it should still play to end of audio.
Originally committed to SVN as r2939.
2009-05-15 15:23:34 +00:00
Niels Martin Hansen a6c7a8a724 Apply Plorkyeran's patch to close #843.
Originally committed to SVN as r2938.
2009-05-15 12:44:36 +00:00
Karl Blomster 5bb56ae5d4 Fix gcc breakage caused by last commit, and remove an unused variable while at it.
Originally committed to SVN as r2937.
2009-05-15 12:31:09 +00:00
Karl Blomster a3cd374bc0 Add a bit of sanity checking to FractionalTime.
Originally committed to SVN as r2936.
2009-05-15 12:18:33 +00:00
harukalover 1520e51dd0 Fixed Replace Next not marking the script as modified.
Originally committed to SVN as r2935.
2009-05-15 02:50:43 +00:00
Niels Martin Hansen 988df0ab81 Fix #809, properly close all SRT overrides during export and ensure overrides in recombined lines do not affect each other (per the example I gave in the report.)
Originally committed to SVN as r2934.
2009-05-15 01:34:00 +00:00
Niels Martin Hansen 44e17e9e11 Converting audio provider didn't know about channel count during bitdepth and samplerate conversion and intermixed samples from channels and more, resulting in garbage output. Fixes #726.
Originally committed to SVN as r2933.
2009-05-15 00:48:43 +00:00
Niels Martin Hansen 863d89ba4f aegisub_endian.h was missing from MSVC project.
Originally committed to SVN as r2932.
2009-05-14 23:58:24 +00:00
Niels Martin Hansen 8ca726119f Fix #825 for good, I hope. Get some sense worked into the handling of AssEntry::StartMS and AssDialogue::Start using some private members and virtual getter/setter functions.
Originally committed to SVN as r2931.
2009-05-14 23:45:20 +00:00
Niels Martin Hansen fb6280b2e7 More const correctness in AssTime, broke build because I forgot to add const keyword to implementation too.
Originally committed to SVN as r2930.
2009-05-14 23:27:38 +00:00
Niels Martin Hansen 3977fff411 Const correctness in AssTime.
Originally committed to SVN as r2929.
2009-05-14 23:09:04 +00:00
Niels Martin Hansen 4e417a6dae Change audio autoscroll behaviour:
* In karaoke mode, instead of scrolling start to end of active line into view, scroll start of selection to end of line into view. This gives sensible results when horizontal zoom is great enough that the entire line isn't visible at once and the syllable is too far from the start of the line. This fixes #677.
* If the line is too long to fit in the display, always left-align it instead of sometimes left-aligning and sometimes centering. (I think the old behaviour depended on the actual scroll position.)

Originally committed to SVN as r2928.
2009-05-14 22:12:05 +00:00
Niels Martin Hansen 84b068b53a Undo last change, code *was* used after all. Strangely my compiler didn't complain on first try...
Removing the comment about "is this even used?" as well...

Originally committed to SVN as r2927.
2009-05-14 21:44:43 +00:00
Niels Martin Hansen cab268c9bb Remove some unused code from karaoke UI.
Originally committed to SVN as r2926.
2009-05-14 21:26:39 +00:00
Niels Martin Hansen 523421300d Split audio sources in MSVC project into Backend and UI groups.
Originally committed to SVN as r2925.
2009-05-14 21:25:08 +00:00
harukalover 1cc280216c * Fixed a mismatched new[]/delete
* Fixed a memory leak that would occur when loading subtitles from a matroska file

Originally committed to SVN as r2924.
2009-05-14 18:28:57 +00:00
harukalover ce15bc55bc * Fixed the styling assistant marking the script as modified when it was unfocused and the Enable preview checkbox was unchecked even if no changes actually were made in the styling assistant.
* Removed some no longer needed code in the styling assistant.

Originally committed to SVN as r2923.
2009-05-14 17:29:07 +00:00
Niels Martin Hansen 2acf887157 Fix #845 by counting how many output lines were produced by applying a template to a line, instead of assuming that a template always gets applied, even if it's a code template.
Originally committed to SVN as r2922.
2009-05-14 15:34:37 +00:00
harukalover f4808b82a0 Made the styling assistant modeless so the user can access other controls within aegisub without having to close the styling assistant, fixes #397
Originally committed to SVN as r2921.
2009-05-14 07:02:01 +00:00
Karl Blomster ffa5a2021d - Reworked the SMPTE timecode handling with Plorkyeran's help. It does now handle dropframe timecodes as well; the ms->SMPTE handling has been tested and seems reasonably correct, while the reverse conversion remains untested and unused. The Adobe Encore export filter will now use dropframe timecodes properly (previously it would play pretend with wallclock hours/minutes/seconds and incorrect frame numbers).
- Changed the SubtitleFormat::AskForFPS dialog box; removed the "PAL/NTSC only" choice and added a "show SMPTE dropframe" parameter instead. Also added 50fps as a choice.

- While I was at it, reworked the TranStation export filter so it actually looks ahead to see if the next line will overlap with the current, and if so, move the end time of the current line backwards one frame, which fixes #767

Originally committed to SVN as r2920.
2009-05-13 20:24:21 +00:00
Karl Blomster 7215f354b9 Update ffms2.lib as per Myrsloik's last commit.
Originally committed to SVN as r2919.
2009-05-12 21:31:44 +00:00
Fredrik Mellbin 68123167fe FFMS2: api change so the logging level can be set arbitrarily, it also defaults to quiet now
Originally committed to SVN as r2918.
2009-05-12 20:50:40 +00:00
Niels Martin Hansen 3ddf48665a Apparently not all platforms agree on providing MININT and MAXINT constants. Work around it by calculating those values ourselves.
Originally committed to SVN as r2917.
2009-05-12 20:48:05 +00:00
Niels Martin Hansen 55d5b668fa Integer-edits in Auto 4 Lua config dialogues now always get spin buttons. If no min/max is specified, minint/maxint are assumed.
Originally committed to SVN as r2916.
2009-05-12 20:26:19 +00:00
Niels Martin Hansen 0b4ecb9797 Normalise case for style section names.
fixes #690 (hopefully)

Originally committed to SVN as r2915.
2009-05-12 18:10:13 +00:00
Niels Martin Hansen 425ca55698 Bump kara-templater version number.
Originally committed to SVN as r2914.
2009-05-12 16:39:53 +00:00
Niels Martin Hansen d71fa2d85c Add support for variable loops in kara-templater, and add a few more utility functions.
- Variable loops are controlled using the tenv.maxloop(newmax) function to set the loop counter max. This is a wrapper around setting tenv.maxj.
- Add tenv.relayer(newlayer) function for changing the Layer of an output line.
- Add tenv.restyle(newstyle) function for changing the Style of an output line, despite this usually breaking positioning/sizing information.
- tenv.maxloops is an alias for tenv.maxloop.
- tenv.loopctl(newj, newmaxj) controls both loop variables if anyone wants to do that.
This closes #753 but documentation still needs to be written.

Originally committed to SVN as r2913.
2009-05-12 16:36:51 +00:00
Niels Martin Hansen 277adad41f Fix a bunch of bugs with config dialogues in Auto 4 Lua:
- When default buttons were present, pushing OK caused no button code to be returned at all.
- A load of controls not handling default/initial values properly, closes #775 and #776

Originally committed to SVN as r2912.
2009-05-12 15:32:11 +00:00
Niels Martin Hansen 28d4ed7c8a Extend Auto 4 Lua config dialogues test case to cover most interesting cases of controls.
Updates #775 and #776 since they need those cases.

Originally committed to SVN as r2911.
2009-05-12 15:24:07 +00:00
Niels Martin Hansen 05e847b6d2 Make AssColor::Parse() also understand HTML colours with a bit of help from wx.
Originally committed to SVN as r2910.
2009-05-12 15:14:35 +00:00
Karl Blomster ebcdf0ce46 Move the SMPTE timecode stuff out of the AssTime class and put it in a class of its own, FractionalTime. The AssTime to SMPTE part is tested and verified to work (in fact it looks like I unintentionally fixed an overlap bug in the TranStation export filter), while the SMPTE to AssTime part is completely untested (but it's currently not used anywhere so it's not like it matters).
Originally committed to SVN as r2909.
2009-05-10 03:50:58 +00:00
Karl Blomster 61a3c5657a Fix a memleak in the FFMS2 video provider (the frame was never unallocated on video close). Patch by Harukalover, fixes #838
Originally committed to SVN as r2908.
2009-05-10 00:12:04 +00:00
Fredrik Mellbin 2c354ba64e FFMS2: beta 8
Originally committed to SVN as r2907.
2009-05-09 21:59:24 +00:00
Karl Blomster f869cd0231 Fix a minor bug that caused the add leadin/leadout buttons to not update the time edit boxes. Patch by Harukalover, fixes #836.
Originally committed to SVN as r2906.
2009-05-07 17:52:29 +00:00
Karl Blomster 732ccbbb26 The buffer length/wanted latency in the dsound2 audio player are now tweakable in config.dat; the options are called "audio dsound buffer latency" and "audio dsound buffer length" respectively. Defaults to 100/5 respectively (should work for the people who used to get buffer errors); for better responsiveness try 80/4.
Originally committed to SVN as r2905.
2009-05-07 14:47:36 +00:00
Karl Blomster 4d83215690 Fix a bug (in a somewhat questionable manner) that would cause the text file writer to occasionally think the system locale was Unicode when it wasn't (by using an uninitialized variable in a condition). Should fix the issue with the SRT export filter failing to write "1" on the first line when using "local" as the text encoding.
Originally committed to SVN as r2904.
2009-05-06 19:14:10 +00:00
Karl Blomster 1e2a031765 Add Aegisub::Script::set_undo_point() to auto4-perl. Currently not all that useful since auto4-perl currently only supports macros and nothing else, and using a macro sets an undo point after execution automatically anyway.
Originally committed to SVN as r2903.
2009-05-06 12:25:08 +00:00
Karl Blomster 7b6a8811be change how ffmsindex is linked to ffms2 (use a #pragma instead of an extra dependency in the project file)
Originally committed to SVN as r2902.
2009-05-05 21:43:49 +00:00
Niels Martin Hansen 24aa9785ae Oops, had swapped size and value parameters in a memset call.
Originally committed to SVN as r2901.
2009-05-04 19:15:57 +00:00
Amar Takhar 97427e7b46 Sigh, make gawk happy, I despise gawk someone please get rid of it forever.
Originally committed to SVN as r2900.
2009-05-04 08:06:26 +00:00
Amar Takhar 763231423b Add a note why the 'sed' hack is nessicary.
Originally committed to SVN as r2899.
2009-05-04 06:52:45 +00:00
Amar Takhar 952935cbea Add a crappy sed hack to silence gcc warnings, sigh, I wish ImageMagick would update convert already.
Originally committed to SVN as r2898.
2009-05-04 06:51:02 +00:00
Amar Takhar b88254856b s/static/const/ to silence gcc warnings.
Originally committed to SVN as r2897.
2009-05-04 06:50:37 +00:00
Amar Takhar de2ec45cea Silence a bunch of gcc 'newline' warnings.
Originally committed to SVN as r2896.
2009-05-04 06:50:12 +00:00
Amar Takhar c2267bedcc Plug a bunch of memory leaks from uau in the mplayer2 repo: http://repo.or.cz/w/mplayer.git?a=commit;h=312d9e4b104741b834aa5d71b02228d0cd988a4e
libass: Fix cache lookup problem causing memory bloat

The cache code did hash lookups by storing key values in struct fields
and then hashing and comparing the struct as a single memory block. In
at least one case such a struct contained uninitialized padding bytes
which prevented the complete memory area of the struct from matching
even though the fields did. As a result the code failed to find
existing objects in the cache and stored new versions of them, causing
gigabytes of memory use in some circumstances. Initializing the struct
memory to zero before writing the fields avoided such memory use in
tests but is not guaranteed to work if I interpret the C standard
correctly (the compiler is allowed to write garbage over padding bytes
when changing struct member values).

Change the code to use struct-specific hashing and comparison
functions that work field by field to guarantee correct behavior.
Create these by replacing the struct definition with a template that
lists the fields and can be used the generate each of struct
definition, hash function and compare function with some preprocessor
magic (otherwise every field would need to be listed separately in all
three).

Originally committed to SVN as r2895.
2009-05-04 06:48:21 +00:00
Fredrik Mellbin b55460ede5 FFMS2:
Fix an old bug that would drop the first or second video frame
Greatly improved audio decoding by adding a small internal cache

Originally committed to SVN as r2894.
2009-05-03 19:25:54 +00:00
Karl Blomster c84a79fb7f Implemented an automated cache cleaner that keeps the FFMS2 index cache at a manageable size. Cleaning is started when video is opened with the FFMS2 video provider and runs in its own thread. Removal is based on last access time, and the FFMS2 providers now explicitly touch the index files on reading to make sure access time is updated.
By default the cache is kept below 42MB and 20 files; to change the defaults change "FFmpegSource max cache size" and "FFmpegSource max cache files" in config.dat. Either or both may be set to 0, but the cleaner will not delete the last index file in the directory, regardless of cache settings and of the file's size.

Originally committed to SVN as r2893.
2009-05-03 18:05:30 +00:00
Karl Blomster 0a4190ca98 Fix compilation breakage introduced in r2891.
Originally committed to SVN as r2892.
2009-05-02 20:06:06 +00:00
Karl Blomster 04e4249219 Don't let the MKV parser crash on certain MKV's for which it cannot determine the filesize by itself. (Adaption of Myrsloik's similar fix for FFMS2.)
Originally committed to SVN as r2891.
2009-05-02 19:40:55 +00:00
Fredrik Mellbin 94cf1e4c22 FFMS2: Add a missing function the updated matroska parser expects
Originally committed to SVN as r2890.
2009-05-01 16:58:15 +00:00
Amar Takhar 35cea05304 Add an sh script to generate snap tarballs upon successful builds of UNIX platforms (excluding Darwin).
Originally committed to SVN as r2889.
2009-05-01 03:58:23 +00:00
Niels Martin Hansen 7e38ebfd82 Ensure some fields in VideoContext get initialised.
Originally committed to SVN as r2888.
2009-04-30 22:13:10 +00:00
Karl Blomster 341fc0c019 Re-update the license on Haali's matroska parser.
Originally committed to SVN as r2887.
2009-04-29 21:19:45 +00:00
Amar Takhar 68b382994b Update libass from MPlayer r29129: Don't automatically wrap lines when WrapStyle==2.
Originally committed to SVN as r2886.
2009-04-29 21:06:54 +00:00
Fredrik Mellbin 91735eb86d FFMS2: Update Haali's matroska parser
Originally committed to SVN as r2885.
2009-04-29 21:06:07 +00:00
Karl Blomster 33c31e3eee Update Haali's MatroskaParser.c/.h in the main source tree (there's a copy in the FFMS2 folder as well, which will be updated later). Should fix a crash with x264-generated MKV's.
Originally committed to SVN as r2884.
2009-04-29 21:00:08 +00:00
Niels Martin Hansen 866f9d21fc Let AudioProvider::GetAudioWithVolume() catch exceptions in AudioProvider::GetAudio() and return blank audio when that happens. Errors are not logged or otherwise handled. This fixes #800 for most cases, even if poorly.
Originally committed to SVN as r2883.
2009-04-29 19:30:02 +00:00
Niels Martin Hansen 92202a99bf Some more delayload vsprops files.
Originally committed to SVN as r2882.
2009-04-29 19:08:40 +00:00
Karl Blomster aacf2e4c19 remove duplicate variable
Originally committed to SVN as r2881.
2009-04-29 17:42:48 +00:00
Karl Blomster 1b2d26c231 Fix a few memory leaks in the FFMS2 providers. Patch by Myrsloik.
Originally committed to SVN as r2880.
2009-04-29 17:40:02 +00:00
Fredrik Mellbin 338188b184 FFMS2: Beta 7 release
Fix 3 gcc warnings

Originally committed to SVN as r2879.
2009-04-29 16:39:15 +00:00
Karl Blomster 7f44500c89 Don't fail to read subtitles from MKV's that are named .mks or .mka, both of those are reported as supported formats in the "open subtitles" dialog box.
Originally committed to SVN as r2878.
2009-04-29 14:04:23 +00:00
Amar Takhar 6eb56f60cd s/32/??/ to include 64bit builds (what was I thinking?).. it's better than using '*' which could lead to a disaster.
Originally committed to SVN as r2877.
2009-04-29 08:07:22 +00:00
Amar Takhar 56fee329a2 Use 'SetFile' instead of '/usr/bin/SetFile' when creating the .dmg, 10.5 puts it in /usr/bin, on 10.4 it's in /Developer/Tools/.
Originally committed to SVN as r2876.
2009-04-29 07:55:40 +00:00
Amar Takhar e1effd407d * Favour '/usr/bin/perl' over 'perl' to ensure the base perl is always used. (it's required)
Originally committed to SVN as r2875.
2009-04-29 06:50:08 +00:00
Amar Takhar 667f950176 * Re-format the arch detection case.
* Fix an annoying buy, I hate the loops configure gets stuck in when you do "$blah" = "$blah" vs test "$blah..

Originally committed to SVN as r2874.
2009-04-29 00:49:38 +00:00
Amar Takhar 5b3a60c506 * Add support in configure.in to detect the arch.
* Add two new targets, osx-tinderbox-(bundle|dmg) to handle tinderbox building.

Originally committed to SVN as r2873.
2009-04-28 23:25:42 +00:00
Amar Takhar 023f61bdbd Change the buildslave dist name to dist.7z so the waterfall isn't cluttered. There's a link to the archive so it won't be an issue.
Originally committed to SVN as r2872.
2009-04-28 17:59:03 +00:00
Karl Blomster 8c44d698e4 Don't try to synch audio when there is no audio player/provider present. (Could cause a crash under certain rare conditions.) Thanks Avi for report and fix.
Originally committed to SVN as r2871.
2009-04-28 10:23:20 +00:00
Amar Takhar 606abde1a3 Add a batch file to generate a distfile that can be uploaded.
Originally committed to SVN as r2870.
2009-04-28 07:04:53 +00:00
Amar Takhar f18ed0748b Remove an extra line (more testing.)
Originally committed to SVN as r2869.
2009-04-28 05:25:37 +00:00
Amar Takhar ec87d3c63a Remove some EOF whitespace (more testing.)
Originally committed to SVN as r2868.
2009-04-28 05:24:28 +00:00
Amar Takhar 5eaa033697 Remove some EOF whitespace.
Originally committed to SVN as r2867.
2009-04-28 05:21:23 +00:00
Amar Takhar d226cdf33c Add some error-checking and exit 1's.
Originally committed to SVN as r2866.
2009-04-28 05:17:33 +00:00
Amar Takhar 5de0558228 Add exit codes to various commands to ensure the script fails and doesn't proceed to the next step(s).
Originally committed to SVN as r2865.
2009-04-28 05:11:32 +00:00
Amar Takhar c12d2d7636 Testing the tinderbox (a stub commit but still useful.)
Originally committed to SVN as r2864.
2009-04-28 05:08:18 +00:00
Amar Takhar 3648f61083 Testing the tinderbox.
Originally committed to SVN as r2863.
2009-04-27 20:58:42 +00:00
Niels Martin Hansen 0100118190 Fix include file search path in CSRI project file for VC++ in x64 configurations.
Originally committed to SVN as r2862.
2009-04-26 21:01:18 +00:00
Karl Blomster 51df55edd7 Fix some more minor editbox regressions introduced in r2859. Patch by Harukalover, updates #794
Originally committed to SVN as r2861.
2009-04-26 04:31:19 +00:00
Karl Blomster eed65e8945 Fix a minor graphical glitch in the time edit boxes introduced in r2859. Patch by Harukalover. updates #794
Originally committed to SVN as r2860.
2009-04-26 01:23:01 +00:00
Karl Blomster 31aed4c1a7 Fix a number of odd quirks regarding how grid selection is moved after committing multiple lines, and how audio selection moves after committing. See #794 for full details. Patch by Harukalover.
closes #64, #420, #794

Originally committed to SVN as r2859.
2009-04-26 01:02:23 +00:00
Karl Blomster 76cec3ec29 Fix a bug that would cause a crash under certain conditions when trying to change the properties of a recently deleted line. Patch by Plorkyeran, closes #815
Originally committed to SVN as r2858.
2009-04-26 00:25:33 +00:00
Karl Blomster 32eb3a8a62 Fix a bug that would cause the program to crash if CSRI was selected as subtitle renderer but no CSRI renderer was actually installed. Patch by Plorkyeran, closes: 462
Originally committed to SVN as r2857.
2009-04-26 00:11:29 +00:00
Karl Blomster 4dafa0ff10 Use less magic numbers
Originally committed to SVN as r2856.
2009-04-25 23:08:45 +00:00
Karl Blomster 4efd1b5567 Update ffms2.lib
Originally committed to SVN as r2855.
2009-04-25 23:04:06 +00:00
Amar Takhar 72c5828bc0 Sigh, add @set before the recently added environment variables (r2847)
Originally committed to SVN as r2854.
2009-04-25 23:00:29 +00:00
Fredrik Mellbin 140dc44882 FFMS2: Another much needed set of fixes to the Haali part
Originally committed to SVN as r2853.
2009-04-25 22:09:49 +00:00
Fredrik Mellbin a41e48a159 Fix the video provider after the FFMS2 changes part2
Originally committed to SVN as r2852.
2009-04-25 10:31:39 +00:00
Fredrik Mellbin f64b10978b Fix the video provider after the FFMS2 changes
Originally committed to SVN as r2851.
2009-04-25 09:26:03 +00:00
Fredrik Mellbin 8f7930e876 FFMS2: Even less enum forward declarations
Originally committed to SVN as r2850.
2009-04-25 09:09:14 +00:00
Fredrik Mellbin 6f6d1bdf3a FFMS2: Less enum forward declaration?
Originally committed to SVN as r2849.
2009-04-25 08:55:14 +00:00
Amar Takhar f8652576c8 Add CommonProgramFiles CommonProgramFiles(x86) ProgramFiles ProgramFiles(x86) to the build environment.
Originally committed to SVN as r2847.
2009-04-25 02:04:33 +00:00
Amar Takhar 57024a2e7c vc++ needs TMP/TEMP to be set in the env in order to work correctly.
Originally committed to SVN as r2846.
2009-04-24 23:23:48 +00:00
Fredrik Mellbin 6fae2955fd FFMS2:
Remove the dependency of pixfmt.h in ffms.h
Added the alternative FFMS_GetPixFmt() for getting the different pixel format values

Originally committed to SVN as r2845.
2009-04-24 19:56:19 +00:00
Karl Blomster aaad6b4ad6 Update ffms2.lib again
Originally committed to SVN as r2844.
2009-04-24 18:41:34 +00:00
Fredrik Mellbin 83586d2b18 FFMS2:
Several bugfixes which should fix crashes in recent versions
Added a simple regression test application
Removed a few useless functions from the API
Add TheFluff's FFmpegSource 1.21 syntax compatibility script

Originally committed to SVN as r2843.
2009-04-24 17:42:21 +00:00
Amar Takhar 45d6e37ee8 Whoops, remove trunk\ from the solution path.
Originally committed to SVN as r2842.
2009-04-24 04:16:01 +00:00
Amar Takhar c2e02322cf Add a bath file to compile aegisub, these will exist _per_ buildslave. It's probably better to keep it here anyway as build environments will not be changable without a historical record being kept. (it's also easier!)
Originally committed to SVN as r2841.
2009-04-24 04:00:04 +00:00
Amar Takhar fb36f6d4af Add a solution and windows config for Windows tinderbox building. Submitted by jfs, thanks!
Originally committed to SVN as r2840.
2009-04-23 20:26:07 +00:00
Karl Blomster 4c68bb5412 Updated German translation (by Sebastian Billau).
Originally committed to SVN as r2839.
2009-04-23 10:32:00 +00:00
Karl Blomster 53bc5a034d Avisynth video provider will now use ffmpegsource2 instead of ffmpegsource when so required.
Originally committed to SVN as r2838.
2009-04-23 02:09:05 +00:00
Fredrik Mellbin e42ae2d19d FFMS2: Various fixes to haali stuff
Originally committed to SVN as r2837.
2009-04-22 18:38:28 +00:00
Amar Takhar ff7ee2e776 Add a cross-compile condition to AC_RUN_IFELSE in AC_AGI_COMPILE to make cross-compiling work.
Originally committed to SVN as r2836.
2009-04-21 22:32:07 +00:00
Amar Takhar e2d0317df3 Bunk commit to trigger the build cluster.
Originally committed to SVN as r2835.
2009-04-21 18:48:59 +00:00
Amar Takhar af68c58f56 Add a command to autogen --skip-configure to allow the autogen/configure steps
to be split for the build tinderbox.

Originally committed to SVN as r2834.
2009-04-20 02:45:35 +00:00
Amar Takhar 544c325dde Fix typo.
Originally committed to SVN as r2833.
2009-04-20 02:43:32 +00:00
Niels Martin Hansen 2ba96af5b2 Remove outdated and unused Windows installer scripts.
Originally committed to SVN as r2832.
2009-04-19 20:48:08 +00:00
Niels Martin Hansen e2a75490c9 Remove the annoyance known as Tip of the Day. Right now it's completely inaccessible, but might return in a different incarnation when we get out of strings freeze.
Originally committed to SVN as r2831.
2009-04-18 15:29:13 +00:00
Niels Martin Hansen 6ec31a3a08 Simplify code to pick mapping size in PCMWAV provider, just use sizeof(void*) to determine address space size.
Originally committed to SVN as r2830.
2009-04-18 15:16:15 +00:00
Niels Martin Hansen f5bc001e90 Move more project settings into property sheet files.
Originally committed to SVN as r2829.
2009-04-18 13:40:52 +00:00
Niels Martin Hansen a749c23e8b Rename auto3 DLL to something less ugly.
Originally committed to SVN as r2828.
2009-04-18 13:31:08 +00:00
Karl Blomster f6016573c8 revert revision 2825 since apparently it broke all of jfs' changes
Originally committed to SVN as r2827.
2009-04-18 13:02:13 +00:00
Karl Blomster 65e69a51cf "Fix" an issue that would cause the FFMS2 audio provider to crash when fed with a unicode filename/path. The solution involves getting the "short path", no idea if it works on Unix. Fixes bugtracker issues #810 and #808.
Originally committed to SVN as r2826.
2009-04-18 10:54:20 +00:00
Karl Blomster caa26103f5 add portaudio_x86.dll to the list of delay-loaded dll's in the vs2008 project file
Originally committed to SVN as r2825.
2009-04-18 09:37:54 +00:00
Karl Blomster f20737b8b2 Fix an issue where the grid font face option's font browser button wouldn't actually update the setting. Patch by Harukalover, resolves bugtracker issues #706 and (partially) #821.
Originally committed to SVN as r2824.
2009-04-18 09:12:26 +00:00
Niels Martin Hansen 909275f0df Visual Studio loves not saving property sheets unless told to VERY explicitly. Missed one for Lua 5.0.
Originally committed to SVN as r2823.
2009-04-17 22:39:43 +00:00
Niels Martin Hansen 0fe7719162 Adjust hunspell VC project to also use property sheets.
Originally committed to SVN as r2822.
2009-04-17 22:34:03 +00:00
Niels Martin Hansen fe393f82af No longer support anything for Windows-builds but Visual Studio 2008/VC9.
Remove all outdated, unmaintained project files and some unused dirs, and other stuff related to outdated build methods.

Originally committed to SVN as r2821.
2009-04-17 22:08:37 +00:00
Niels Martin Hansen 30057004f1 Some changes to property sheets went unsaved before previous commit, oops.
(This made linking in various things impossible.)

Originally committed to SVN as r2820.
2009-04-17 21:58:17 +00:00
Niels Martin Hansen 77791217a0 Refactor Visual Studio 2008 build and make libauto3 and Lua 5.0 build on VC9.
* The most important project properties (especially paths) are now stored in VSProps files in generalised ways.
* Projects share VSProps files so they place output files in same locations and thus agree on where to find them.
* Avoid inconsistencies between build configurations/platforms as has happened often before.
* Now distributable binaries (aegisub.exe and aegisub-auto3.dll) will be placed in $(SolutionDir)/bin/, static libraries under $(SolutionDir)/lib/ and object files etc. under $(SolutionDir)/build/. Note that those locations are controlled by where the solution file is placed in the file system.
* libauto3 is no longer pulled in by a #pragma in auto4_auto3.c, but must instead be pulled in by making the aegisub project depend on the auto3 project, which must in turn depend on the lua50 project.
* Final binary filenames are now somewhat different. You get aegisub32.exe, aegisub64d.exe, aegisub-auto3lib32d.dll and more.
* There's still more that can be factored out, things like optimisation flags and defines.

Originally committed to SVN as r2819.
2009-04-17 21:53:48 +00:00
Niels Martin Hansen c55df071cf The lines.n value produced by Auto3 implementation was 1 too small causing the last line in a file to be eaten by karaskel.
Originally committed to SVN as r2818.
2009-04-17 21:34:43 +00:00
Niels Martin Hansen 5a76711a19 Make callables.c error properly if it's attempted compiled separately.
Originally committed to SVN as r2817.
2009-04-17 20:55:48 +00:00
Niels Martin Hansen 8a5933385d Make libauto3 better liked by MSVC 2008.
Originally committed to SVN as r2816.
2009-04-17 20:51:58 +00:00
Niels Martin Hansen b6ae30cc6c Force use of ANSI versions of Windows API's for runtime+loading of DLL's, causing problems when building with UNICODE defined.
Originally committed to SVN as r2815.
2009-04-17 20:20:37 +00:00
Karl Blomster cc26be476e add portaudio2 player to the vs2005 project as well while I'm at it
Originally committed to SVN as r2814.
2009-04-17 19:45:33 +00:00
Karl Blomster 8a6206e5d0 add portaudio2 audio player to config/config_windows0.h and the vs2008 project file
Originally committed to SVN as r2813.
2009-04-17 19:44:07 +00:00
Karl Blomster c3afb85af4 change buffer length/wanted latency in the dsound2 audio player to 80/4 (down from 100/5); should make it a bit more responsive
Originally committed to SVN as r2812.
2009-04-17 19:40:29 +00:00
Karl Blomster 0d6454087e update ffms2.lib
Originally committed to SVN as r2811.
2009-04-17 19:38:12 +00:00
Niels Martin Hansen 7a19b273b1 Fix crash in PCM audio provider when using files larger than the mapping size (256 MB on 32 bit). The length of mappings closer than mapping-size to the end of the file, when the file was larger, would not be adjusted to not cross the end of file.
Originally committed to SVN as r2810.
2009-04-17 16:34:06 +00:00
Amar Takhar 49e3895180 Re-order the functions so they're in line with every other player: Constructor,
Destructor, Open, Close, Play, Stop..  I rue the fact that I didn't do this at
the start.

Originally committed to SVN as r2809.
2009-04-17 13:58:44 +00:00
Karl Blomster d77c119d63 Fix a bug in FFMS2 that caused it to write timecodes with scientific notation.
Originally committed to SVN as r2808.
2009-04-17 03:25:10 +00:00
Amar Takhar 6c256fd181 * Remove a short-lived hack (hours?) and replace it with a
PaStreamFinishedCallback which is called anytime a PaCallback is exited with
  anything other than 0. (normal operation)  paStreamFinishedCallback handles
  stopping the audio stream when we've run to the end of the current selection
  or the stream is stopped.
* Add framesPerBuffer to paCallback debug output in preperation for dynamic
  buffers.
* Set paPrimeOutputBuffersUsingStreamCallback in Pa_OpenStream to prime the
  output buffer using the callback rather than initing with empty space which
  is the default.
* Indent paCallback decleration another level.

Originally committed to SVN as r2807.
2009-04-17 02:14:42 +00:00
Amar Takhar 50ce42d2e9 * Fold entire callback into a single if-else block.
* Remove 'end' variable and just return 0 if we have more to play.

Originally committed to SVN as r2806.
2009-04-16 20:55:14 +00:00
Amar Takhar eb65009f66 * Remove variable 'avail'.
* Fold lenAvailable logic into a ternary operator.
* Use GetAduioWithVolume instead of applying volume ourselves.
* Remove code used to zero rest of the buffer. (not required)

Originally committed to SVN as r2805.
2009-04-16 20:49:37 +00:00
Amar Takhar c6364bf43d * Set Pa_OpenStream to use paClipOff as we don't need any clipping
* Update comment (realPlayPos has been removed).
* Return from paCallback with paAbort if there is no more audio to play.
  Also set endPos to be less than the current playPos to stop the audio
  event timer.
* Add CPU usage statistics to debug printf in paCallback.

Originally committed to SVN as r2804.
2009-04-16 19:55:52 +00:00
Amar Takhar 3e864d10c9 Make debug printf's a perm fixture wrapped with PORTAUDIO2_DEBUG.
Originally committed to SVN as r2803.
2009-04-16 14:22:46 +00:00
Niels Martin Hansen 7271a74b54 Forgot to put license on VideoSink.h as well.
Originally committed to SVN as r2802.
2009-04-16 13:01:05 +00:00
Niels Martin Hansen 4da7a70608 Clarify license for VideoSink.cpp.
<jfs> hmm Haali, the VideoSink.cpp you have contributed to aegisub doesn't have a license attached... I see you put MatroskaParser.c into 3-clause BSD like the rest of aegisub though, what about VideoSink ?
<Haali> jfs: BSD license is ok for that file

Originally committed to SVN as r2801.
2009-04-16 12:15:57 +00:00
Amar Takhar 50214a2a6a Move the comment for the PortAudio library to setup.cpp.
Requested by: TheFluff

Originally committed to SVN as r2800.
2009-04-15 20:16:54 +00:00
Amar Takhar 50b7f33117 Don't initalise favorite to 0 (it's a a wxString).
Originally committed to SVN as r2799.
2009-04-15 20:11:53 +00:00
Amar Takhar 918945e03b Don't set the current position via the PortAudio callback, instead set
GetCurrentPosition() to return the correct value using Pa_GetStreamTime().  Not
only does it not work on every platform, there is no point in setting it during
the callback as GetCurrentPosition() isn't called very often (in comparison)
when updating the play bar.  Eventually this should be changed to update the
playbar via a callback to get a position that's a lot more accurate.

Originally committed to SVN as r2798.
2009-04-15 17:50:16 +00:00
Amar Takhar b63c2ea27c Add hidden option 'Audio PortAudio Device' to set the default portaudio output device.
Originally committed to SVN as r2797.
2009-04-15 11:26:43 +00:00
Amar Takhar aa85b2eb01 * Fix paCallback decleration
* Switch from PaOpenDefaultStream to Pa_OpenStream.
* Add Debug output
* Add GetOutputDevices which returns a list of available devices (unused)

Originally committed to SVN as r2796.
2009-04-15 10:26:22 +00:00
Niels Martin Hansen 558be555e2 Make the default ALSA device default.
(It should be "default", not "default:0" as the old default was.)

Originally committed to SVN as r2795.
2009-04-13 17:08:13 +00:00
Amar Takhar 2d6ba0cb22 Move FOUND_AUDIO_PLAYER above the rest of the audio players to preserve
link ordering.  Also add libaudio_player.a to the final link.

Originally committed to SVN as r2794.
2009-04-12 10:52:40 +00:00
Amar Takhar dc34db7f62 Early morning code-o, setting AM_CONDITIONAL _after_ the Makefiles are
generated isn't going to work very well.

Originally committed to SVN as r2793.
2009-04-12 10:48:20 +00:00
Amar Takhar 733814793e * Update comment
* Include audio_player_portaudio2.h instead of audio_player_portaudio.h.

Originally committed to SVN as r2792.
2009-04-12 10:30:38 +00:00
Amar Takhar 8dab71e974 Split audio_player.cpp into it's own convenience to avoid sending audio library
CFLAGS to every source file.

Originally committed to SVN as r2791.
2009-04-12 10:30:07 +00:00
Amar Takhar 95e9ccaf79 Add support for ALSA_(LD|C)FLAGS.
Originally committed to SVN as r2790.
2009-04-12 10:28:42 +00:00
Amar Takhar 21460ec589 Add block for WITH_PORTAUDIO2.
Originally committed to SVN as r2789.
2009-04-12 10:08:59 +00:00
Amar Takhar d71cbda47b * s/$found_audio/$found_audio_player/ for clarity.
* Add AM_CONDITIONAL for FOUND_AUDIO_PLAYER and FOUND_VIDEO_PROVIDER.

Originally committed to SVN as r2788.
2009-04-12 10:08:28 +00:00
Amar Takhar 579b46f097 Update PortAudio v19 support.
Originally committed to SVN as r2787.
2009-04-12 10:04:10 +00:00
Amar Takhar b89ec65c43 Move the PortAudio v19 check above the v18 check.
Originally committed to SVN as r2786.
2009-04-11 23:40:15 +00:00
Amar Takhar 97c857a94f Add 'PortAudio2' as an audio player.
Originally committed to SVN as r2785.
2009-04-11 23:23:30 +00:00
Amar Takhar 3247ad6c6c Change WITH_PORTAUDIO -> WITH_PORTAUDIO2
Originally committed to SVN as r2784.
2009-04-11 23:18:04 +00:00
Amar Takhar e61d0b77ac Update audio_player_portaudio2.* for PortAudio v19.
Originally committed to SVN as r2783.
2009-04-11 23:16:58 +00:00
Amar Takhar 23eea68fdd Verbatium copy of audio_player_portaudio.* -> audio_player_portaudio2.*
Originally committed to SVN as r2782.
2009-04-11 23:15:45 +00:00
Fredrik Mellbin d39d308d0d FFMS2 GCC compilation fix
Originally committed to SVN as r2781.
2009-04-11 19:43:18 +00:00
Fredrik Mellbin 6878e5884a FFMS2 beta 6 (the real commit)
Requires a recent FFmpeg
Changes the HAALITS define into HAALISOURCE

Originally committed to SVN as r2780.
2009-04-11 18:45:40 +00:00
Amar Takhar 5f5960ef00 * Fix check for libavutil/pixfmt.h
* Add detection for PortAudio2 (v19)

Originally committed to SVN as r2779.
2009-04-11 18:06:23 +00:00
Amar Takhar 26e427e838 Add a check for libavutil/pixfmt.h as a low-brow check for FFMPEG r18129+, this
needs to be fixed to check exact versions of the library.  For now this should
work.

Originally committed to SVN as r2778.
2009-04-11 08:13:09 +00:00
Amar Takhar d642bb37ab Fix an error message to be clearer.
Originally committed to SVN as r2777.
2009-04-11 07:51:50 +00:00
Amar Takhar d0b1ad983e Update libass to r29169 of MPlayer.
Originally committed to SVN as r2776.
2009-04-11 07:42:48 +00:00
Karl Blomster e00fae15d6 Add a -v option to ffmsindex.
Originally committed to SVN as r2775.
2009-04-07 01:12:12 +00:00
Karl Blomster 2960b0298c Fix ffms2 video provider to work with new ffms2 version (b6)
Originally committed to SVN as r2774.
2009-04-06 20:53:01 +00:00
Karl Blomster 245c91a271 Updated ffms2.lib
Originally committed to SVN as r2773.
2009-04-06 20:19:33 +00:00
Karl Blomster 1e47a9d3e5 FFMS2 compile fix for ffmpeg revisions >18129. Probably breaks backwards compatibility so it doesn't compile with older revisions anymore, have fun.
Originally committed to SVN as r2772.
2009-04-06 20:15:49 +00:00
Karl Blomster 036da35fe8 Rename a few internal utility functions (FloatToString, IntegerToString, StringToInt, StringToFix) to Aegi* so they do not conflict with identically named wxWidgets functions. Fixes bugtracker issue #819.
Originally committed to SVN as r2771.
2009-04-06 20:01:42 +00:00
Karl Blomster 0e299f9146 FFmpegSource2 beta 6, see ffms2.html for change details
Originally committed to SVN as r2770.
2009-04-06 19:14:55 +00:00
Karl Blomster 1d69da533c Add new (VSFilter 2.39) override tags to call tips and fix a typo. Patch by Harukalover.
Originally committed to SVN as r2769.
2009-03-30 22:10:24 +00:00
Karl Blomster 9bbf4c4281 FFmpegSource2 beta 5.
Fixes a bug with timecode writing, adds some additional documentation and resolves the issue with reading ffmsindex's progress reporting from another program.

Originally committed to SVN as r2768.
2009-03-30 22:09:33 +00:00
Rodrigo Braz Monteiro 6106546f74 Fixed windows project.
Originally committed to SVN as r2766.
2009-03-14 20:52:01 +00:00
Amar Takhar 01d522b344 * Add a (small) hack for scripts/osx-bundle.sh to handle libtools weirdness.
* Update path to reflect new repo changes.

Originally committed to SVN as r2765.
2009-03-13 04:27:24 +00:00
Amar Takhar 2cf7d9c80b Fix auto3 build after repo change.
Originally committed to SVN as r2764.
2009-03-13 04:13:11 +00:00
Amar Takhar b5ab061f02 Fix libass on OSX after the repo changes.
Originally committed to SVN as r2763.
2009-03-13 04:12:45 +00:00
Amar Takhar b2bcb09943 Fix vs2008 build (Patch from Haruka)
Originally committed to SVN as r2762.
2009-03-12 05:56:02 +00:00
Amar Takhar 8b21bd2b9f Sync libass with r28935 from MPlayer.
Originally committed to SVN as r2761.
2009-03-12 03:46:44 +00:00
Amar Takhar a9180cfcf7 Missed patch: Fix build for auto3 it moved from ./auto3 -> src/libauto3.
Originally committed to SVN as r2760.
2009-03-09 05:48:13 +00:00
Amar Takhar 7740439efd Remove dummy.txt it was used ages ago for testing the svn repository.
Originally committed to SVN as r2759.
2009-03-09 01:15:01 +00:00
Amar Takhar 689e353c90 Update the build system for the new repository layout.
Originally committed to SVN as r2757.
2009-03-09 00:58:38 +00:00
Amar Takhar 6c9013e2c9 SVN Transition Step 7/7
1. svn mv specs art-sources docs

* See r2749 for full description.

Originally committed to SVN as r2756.
2009-03-08 08:32:10 +00:00
Amar Takhar 792225317e SVN Transition Step 6/7
1. svn mv OverLua SSATool athenasub avisynth_prs kanamemo \
     motiontracker prs traydict unit_test vsfilter devel/

* See r2749 for full description.

Originally committed to SVN as r2755.
2009-03-08 08:31:54 +00:00
Amar Takhar 391219ea54 SVN Transition Step 5/7
1. svn mv assdraw csri hunspell lua51 contrib

* See r2749 for full description.

Originally committed to SVN as r2754.
2009-03-08 08:31:41 +00:00
Amar Takhar 99d2711245 SVN Transition Step 4/7
1. svn mv auto3 aegisub/src/libauto3
   1. svn mv installer aegisub/packages/win_installer

* See r2749 for full description.

Originally committed to SVN as r2753.
2009-03-08 08:31:28 +00:00
Amar Takhar 91d73ec8ea SVN Transition Step 3/7
1. cd aegisub/
  2. svn mv *cpp *h src/
  3. svn mv Makefile.am MatroskaParser.c auto4_perldata.inc bitmaps boost \
     changelog.txt config gl include libosxutil libresrc md5.c msvc mythes.cxx \
     mythes.hxx res.rc src/
  4. cd ..
  5. svn mv FFmpegSource2/ INSTALL Makefile.am README  acinclude.m4 \
     autogen.sh automation/ bin build configure.in desktop dummy.txt lib \
     libass/ m4macros/ packages/ po/ scripts/ universalchardet/ aegisub/
  6. mkdir -p docs/wiki_convert
  7. svn add docs/wiki_convert
  8. cd docs
  9. svn mv aegisub_convert_docs.pl convert.bat output wiki_convert/

* See r2749 for full description.

Originally committed to SVN as r2752.
2009-03-08 08:30:39 +00:00
Amar Takhar 5043e0d1fd SVN Transition Step 2/7
1. svn mv auto3/lua contrib/lua50

* See r2749 for full description.

Originally committed to SVN as r2751.
2009-03-08 08:20:07 +00:00
Niels Martin Hansen 9e69b413dd Updated cleantags script from ai-chan.
Originally committed to SVN as r2748.
2009-02-28 17:52:06 +00:00
Amar Takhar 6218649912 Move *all* AC_SUBST* out of any conditional blocks, also set them below
AM_CONDITIONAL where applicable.

Originally committed to SVN as r2747.
2009-02-22 22:04:21 +00:00
Amar Takhar bf730cf96e * Rework the debugging flags to set the variables conditionally on either being
enabled.
* Fix some cut-and-paste-o's (dunno how I managed these)
* Move AC_SUBST* outside of the conditionally enabled blocks
* Fix typo.

Originally committed to SVN as r2746.
2009-02-22 22:01:14 +00:00
Amar Takhar 4960863be2 Add --enable-gcov, --enable-efence and --enable-ccmalloc for gcov, Electric
Fence and ccmalloc support.  gcov support won't work without manual
intervention (for now) but some hooks will be added later to automate it.

Originally committed to SVN as r2745.
2009-02-22 05:38:46 +00:00
Amar Takhar 87cee933ed Updates from greg:
* Scale shadow displacement and blur size like border
  * Correctly re-initialize glyph_info_t.
  * When using pan-and-scan, use correct positions.
  * patch cleanups

Originally committed to SVN as r2744.
2009-02-22 05:17:47 +00:00
Amar Takhar 761f044526 Return NULL if n < 0 on line 886, for whatever reason on FreeBSD this falls
through exception handling and causes and abort().

Originally committed to SVN as r2743.
2009-02-19 23:58:06 +00:00
Niels Martin Hansen 1426f4f67b New Russian translation, thanks to z0rc.
Originally committed to SVN as r2742.
2009-02-18 20:05:29 +00:00
Amar Takhar 20a42c0752 Use $DICT_DIR to find diciontary files for copying inside the bundle.
The default is ~/dict.

Originally committed to SVN as r2741.
2009-02-18 06:00:17 +00:00
Amar Takhar 6ea67c624d Only enable -D_DEBUG if there is a debug version of wxWidgets installed.
Originally committed to SVN as r2740.
2009-02-17 09:08:27 +00:00
Amar Takhar 0eaa08c405 Add audio_provider_dummy.cpp to the build which is required when _DEBUG is used.
Originally committed to SVN as r2739.
2009-02-17 08:12:19 +00:00
Amar Takhar a2a793e344 On OS X affix -debug to the bundle name when --enable-debug is used.
Originally committed to SVN as r2738.
2009-02-17 06:37:39 +00:00
Amar Takhar 28b8c45b54 Add -D_DEBUG when --enable-debug is used, this can't be turned off as
anyone making a debug build should use any features to help out with
debugging.

Originally committed to SVN as r2737.
2009-02-17 02:27:31 +00:00
Amar Takhar 8dc0f77fa1 Substitute the FontConfig Cache dir in fonts.conf to use the proper (versioned)
path: ~/Library/Application Data/Aegisub-<AEGISUB_VERSION_DATA>

Originally committed to SVN as r2736.
2009-02-16 01:57:19 +00:00
Amar Takhar 8ba90af9cd Add missing files from aegisub/libosxutil/, packages/, and scripts/.
All of the missing files were related to OS X.

Originally committed to SVN as r2735.
2009-02-16 00:27:52 +00:00
Amar Takhar 5731efc46a Apply a fix from greg:
* 'Correctly' handle font aspect ratio in the case of PlayRes(X|Y) not matching
   the video aspect ratio. (to match vsfilter)

Originally committed to SVN as r2734.
2009-02-15 05:44:06 +00:00
Amar Takhar 2c2f85a93d Add changes from
http://greg.geekmind.org/mplayer/libass-snapshot-20090214.tar.gz

* \be filter with [1,2,1] kernel (like vsfilter)
* "decimal point" support, e.g. numbers with fractional parts are dealt with
  correctly
* shadow without border
* "compromise" fix for transparency + aa
* misc fixes: \be and \blur radius and a memory leak
* proper compositing of overlapping translucent outlines

Originally committed to SVN as r2733.
2009-02-14 19:19:35 +00:00
Amar Takhar 1f47e17d66 Add -pipe for C/C++.
Originally committed to SVN as r2732.
2009-02-14 19:08:44 +00:00
Amar Takhar 6495831ed0 Really disable -O2 when --enable-debug is used.
Originally committed to SVN as r2731.
2009-02-14 19:05:40 +00:00
Amar Takhar 88dc740d90 Add some more comments for clarity.
Originally committed to SVN as r2730.
2009-02-12 00:39:53 +00:00
Amar Takhar 5ce4e24f57 Disable -O2 when --enable-debug is used, it can/does do odd things.
Originally committed to SVN as r2729.
2009-02-11 16:50:16 +00:00
Amar Takhar a7da892c62 Add a few comments for clarity.
Originally committed to SVN as r2728.
2009-02-10 21:25:32 +00:00
Amar Takhar 90c6172db9 Add a new flag: --disable-compiler-flags which disables *all* default
compiler flags.

Originally committed to SVN as r2727.
2009-02-10 20:50:28 +00:00
Niels Martin Hansen 82f91ce1fc Oops, had a C++-style line comment in a C source file
Originally committed to SVN as r2726.
2009-02-09 18:10:16 +00:00
Niels Martin Hansen 2bd0ce3055 Updated version of stdint.h for MSVC
Originally committed to SVN as r2725.
2009-02-09 18:08:14 +00:00
http://greg.geekmind.org/mplayer/mplayer-libass-fixes.txt 372a5c6a1f Impliment changes from http://greg.geekmind.org/mplayer/mplayer-libass-fixes.patch
from: http://greg.geekmind.org/mplayer/mplayer-libass-fixes.txt
 * adds stubs for most features introduced in vsfilter 2.39
 * implements \blur and \be > 1
 * corrects fix_outline_and_shadow for transparency + aa
 * first-tag-wins for \pos and \move

Originally committed to SVN as r2724.
2009-02-06 05:58:22 +00:00
Karl Blomster f85ad3c81f Fix the jumpto dialog again. Now sets the max possible number of digits to input based on how many digits are in the final frame number. Patch by Harukalover, solves bugtracker issue #804.
Originally committed to SVN as r2723.
2009-02-05 14:48:19 +00:00
Karl Blomster f530b4c0da Modified Harukalover's patch from yesterday so the frame number is sanitized after entry, not during.
Originally committed to SVN as r2722.
2009-02-04 23:22:10 +00:00
Karl Blomster 6a765528e1 Fix a bunch of edge cases in the VFR code. Patch by Plorkyeran, solves bugtracker issue #773.
Originally committed to SVN as r2721.
2009-02-04 23:11:56 +00:00
Karl Blomster d9d0eddfde Minor cosmetic fixes to the goto frame/time dialog box. Patch by Harukalover.
Originally committed to SVN as r2720.
2009-02-04 01:45:43 +00:00
Amar Takhar ff7776233a Remove a stray EOL ','.
Originally committed to SVN as r2719.
2009-02-03 05:28:39 +00:00
Amar Takhar 9c6780a33e * Add DEBUG_FLAGS / PROFILE_FLAGS to LDFLAGS for aegisub binary linking.
* Move assigned variables used by AC_SUBST below AC_INIT(), they won't work
  otherwise.

Originally committed to SVN as r2718.
2009-01-29 21:32:39 +00:00
Amar Takhar 287639df1e Print CXXFLAGS at the end.
Originally committed to SVN as r2717.
2009-01-29 20:47:49 +00:00
Amar Takhar 318313f17e Sigh, fix _3_ (yes, 3) typos, this is what I get for committing without
testing first while on the phone.

Originally committed to SVN as r2716.
2009-01-29 20:46:05 +00:00
Amar Takhar 2857277a55 Add --enable-profile and PROFILE_FLAGS to enable profiling, also fix
s/--enable debug/--enable-debug/ in DEBUG_FLAGS comment.

Originally committed to SVN as r2715.
2009-01-29 20:39:40 +00:00
Amar Takhar f876084c51 Format FreeType detection to be the same as others.
Originally committed to SVN as r2714.
2009-01-29 04:15:25 +00:00
Amar Takhar 6bbb5cafaf There really is no point in having --enable-build-dist, anyone building a dist
will have a .svn dir which triggers svnversion to run in order to define
BUILD_SVN_REVISION.  After that it's a simple echo to generate svn_revision
rather than running svnversion _twice_ when --enable-build-dist is used.

Originally committed to SVN as r2713.
2009-01-29 03:56:23 +00:00
Amar Takhar 61cce1260d * Remove duplicate version entries (how did that happen?!)
* Re-order some lines to follow previous conventions.
* Add some comments for clarity.

Originally committed to SVN as r2712.
2009-01-29 03:52:47 +00:00
Amar Takhar 4e645821d6 Only enable perlconsle if perl is detected.
Originally committed to SVN as r2711.
2009-01-29 03:18:30 +00:00
Amar Takhar 594d44f594 avutil is required on unix/dawrin, not just darwin.
Originally committed to SVN as r2710.
2009-01-28 23:34:17 +00:00
Amar Takhar 9b57c7807f ?= doesn't work on Darwin sh.
Originally committed to SVN as r2709.
2009-01-28 23:33:51 +00:00
Amar Takhar 79ee6c4337 Fix enabling/disabling of FFMPEG based on --without-ffmpeg / AC_AGI_COMPILE.
Originally committed to SVN as r2708.
2009-01-28 23:17:02 +00:00
Amar Takhar 1a398b79a0 * Fix disabling of a few libraries, they were being defined in acconf.h when
--without-* was being supplied.

Originally committed to SVN as r2707.
2009-01-28 21:58:53 +00:00
Amar Takhar f1525231c5 * The new FFMPEG requires libavutil.
* Fix detection of FFMPEG based on AC_AGI_COMPILE.

Originally committed to SVN as r2706.
2009-01-28 18:22:01 +00:00
Amar Takhar 9a6265afb6 * Switch FFMPEG detection to use pkg-config.
* Add an FFMPEG compile check from TheFluff, thanks! (modified)
* Add a libpostproc check from Myrsloik, thanks!. (reqired by ffms)
* Rework how ffms / FFMPEG providers are enabled/disabled.
* Fix PulseAudio check to use pulseaudio_required_version.

Originally committed to SVN as r2705.
2009-01-28 03:19:53 +00:00
Karl Blomster fe2ec42a45 Fix a really dumb bug in the caching video provider that caused crashes when seeking in the video.
Originally committed to SVN as r2704.
2009-01-24 23:00:35 +00:00
Amar Takhar 8ac8982870 Add an SVG of the aegisub logo.
Originally committed to SVN as r2703.
2009-01-24 19:30:44 +00:00
Amar Takhar bd78a5c60e Instead of generating wxicon_xpm.xpm from icon.ico (which is very low-res)
supply a 48x48 xpm to be included as the application icon.  There's probably a
better way to do this, like figuring out what the typical application icon size
is and supplying different sizes.

Originally committed to SVN as r2702.
2009-01-24 15:58:38 +00:00
Niels Martin Hansen 300d71d7d2 Japanese translation completed.
Originally committed to SVN as r2701.
2009-01-22 11:21:02 +00:00
Niels Martin Hansen 4ddc90f027 Simple subtitle formats weren't being split-recombined correctly in some cases after modifications, because AssEntrty::StartMS didn't match AssDialogue::Start, which caused sorting to fail.
Make a hacky fix that involves setting StartMS to Start.GetMS() when Clone()ing an AssDialogue.

Originally committed to SVN as r2700.
2009-01-20 20:08:34 +00:00
Amar Takhar 1fc063f759 * Swap with*=1|0 to with*=yes|no in wx-config check.
* Fix misnamed variable which disabled the wx opengl test.

Originally committed to SVN as r2698.
2009-01-15 01:14:41 +00:00
Amar Takhar a196f1efbb Only substitude RUBY_(C|LD)FLAGS and PERL_(C|LD)FLAGS if either are actually
detected as working.

Originally committed to SVN as r2697.
2009-01-15 01:06:21 +00:00
Amar Takhar dafcf9badd * Cleanup Hunspell block (remove legacy code)
* Fix disabling of hunspell if compile test fails.

Originally committed to SVN as r2696.
2009-01-15 01:04:55 +00:00
Amar Takhar 0035436eff Fix ALSA block (remove legacy code)
Originally committed to SVN as r2695.
2009-01-15 01:02:57 +00:00
Amar Takhar c37e33e29c Move PKG_CHECK_MODULES(ASA.. within the $with_csri block, also check for
detection of CSRI _and_ ASA before enabling CSRI.

Originally committed to SVN as r2694.
2009-01-14 06:10:03 +00:00
Amar Takhar fa240bc665 Really disable libass if --disable-libass is provided.
Originally committed to SVN as r2693.
2009-01-14 06:06:37 +00:00
Amar Takhar b6661ec3a4 Re-format PulseAudio detection block. (legacy)
Originally committed to SVN as r2692.
2009-01-14 04:58:35 +00:00
Amar Takhar 57bdedbaa7 Fix pulseaudio/portaudio detection.
Originally committed to SVN as r2691.
2009-01-13 09:43:24 +00:00
No Author a194575488 Originally committed to SVN as r2690. 2009-01-13 00:43:26 +00:00
Amar Takhar fb557ddf6e Fix restarting aegisub on osx, this uses scripts/osx-bundle-restart-helper.c
(written by jfs) to restart aegisub when it actually quites using KQUEUE to
monitor the process until it dies then executing /usr/bin/open <bundle_path>

Originally committed to SVN as r2689.
2009-01-12 22:54:58 +00:00
Amar Takhar fcf671da96 Use 'aegisub' as the locale file name(s) versus 'aegisub21' on unix.
Originally committed to SVN as r2688.
2009-01-12 22:52:52 +00:00
Amar Takhar dc83532e02 Fix restarting after lang/options change (RestartAegisub()).
(this is unix only)

Originally committed to SVN as r2687.
2009-01-12 21:26:44 +00:00
Amar Takhar a6858fe54a Add ja and sort the file.
Originally committed to SVN as r2686.
2009-01-12 21:21:16 +00:00
Amar Takhar 439a2c547e * Only list languages if they're actually installed (checking for the existence
of the actual .mo file)
* Add ja to the list of possbile translations.

Originally committed to SVN as r2685.
2009-01-12 21:20:53 +00:00
Amar Takhar c476b7b883 Add PORTAUDIO_CFLAGS to portaudio static library compile.
Originally committed to SVN as r2684.
2009-01-12 00:21:17 +00:00
Amar Takhar 2e4d751407 Cleanup portaudio detection.
Originally committed to SVN as r2683.
2009-01-12 00:20:47 +00:00
Karl Blomster 5e6253831a Fix a bug (introduced when support for w64 was added) that caused the PCM provider to never get used.
Originally committed to SVN as r2682.
2009-01-10 05:41:56 +00:00
Amar Takhar 811505ee83 Fix perl compile test, char **env was missing from main, it doesn't fail
on gcc 4.2.1 but it does with 4.3.2 (which may or not be the issues) in
any case it's correct to pass it.

Originally committed to SVN as r2681.
2009-01-08 17:01:24 +00:00
Amar Takhar 9dff0f15d1 Add svn_revision to DISTFILES.
Originally committed to SVN as r2680.
2009-01-08 16:47:44 +00:00
Amar Takhar 5549f71511 Add intl-* to DISTCLEANFILES.
Originally committed to SVN as r2679.
2009-01-08 16:16:20 +00:00
Amar Takhar 4dc6d0eca8 Fix a duplicate _cv_ entry for ruby/perl that was stopping the AGI macro
from detecting proper support.

Originally committed to SVN as r2678.
2009-01-08 09:34:17 +00:00
Amar Takhar 1468be9860 Remove a commented line, r2676 had the Darwin paths fix for automation
snuck in (svn drives me mad sometimes!)

Originally committed to SVN as r2677.
2009-01-08 08:48:29 +00:00
Amar Takhar 852ceef55d On OS X shared librarys end with .dylib not .so, this fixes the (lame) workaround
for auto3 linking.

Originally committed to SVN as r2676.
2009-01-08 08:46:10 +00:00
Amar Takhar 81a168d625 Add a workaround for dependency_libs in auto3/, libtool brings in libraries
automatically which causes link errors due to auto4 (lua 5.1).

Originally committed to SVN as r2675.
2009-01-08 08:22:53 +00:00
Rodrigo Braz Monteiro 9021ddfef8 Added Hiroshi's Japanese translation.
Originally committed to SVN as r2674.
2009-01-07 23:58:19 +00:00
Amar Takhar 24d52e10c9 Forgot to append /AEGISUB_VERSION_DATA to GetDataDir.
Originally committed to SVN as r2673.
2009-01-07 10:40:33 +00:00
Amar Takhar 40f4fc8eb7 Copy automation/* into SharedSupport/automation and SharedSupport/doc.
(not sure if these paths are correct yet)

Originally committed to SVN as r2672.
2009-01-07 10:30:14 +00:00
Amar Takhar 6c41f69443 * AC_SUBST(AEGISUB_VERSION_DATA) configure.in
* Add second argument to osx-bundle.sh ($AEGISUB_VERSION_DATA)
* Modify osx-bundle.sh to copy correct binary name.

Originally committed to SVN as r2671.
2009-01-07 08:48:33 +00:00
Amar Takhar 302f12b472 Add extern "C" around libosxutil.h.
Originally committed to SVN as r2670.
2009-01-07 07:35:28 +00:00
Amar Takhar 9a5ec0d574 A simple stats.sh script to get the # of strings and % translated from
the current translation files.

Originally committed to SVN as r2669.
2009-01-07 06:58:58 +00:00
Amar Takhar 954e93f638 Add desktop support as specified in http://freedesktop.org/wiki/Specifications/desktop-entry-spec .
Originally committed to SVN as r2668.
2009-01-07 05:27:16 +00:00
Amar Takhar c2104858c0 Remove incorrect LDFLAGS setting, not required.
Originally committed to SVN as r2667.
2009-01-07 05:00:01 +00:00
Amar Takhar ab55433c02 Add libres.cpp to EXTRA_DIST for now until I figure out why it's not working
as it should.

Originally committed to SVN as r2666.
2009-01-06 14:21:15 +00:00
Amar Takhar d5f5e66e33 * Split HAVE_FFMPEG into HAVE_FFMPEG / HAVE_PROVIDER_FFMPEG
* s/HAVE_FFMPEGSOURCE/HAVE_PROVIDER_FFMPEGSOURCE/
* Add FFMPEG_CFLAGS / FFMPEG_LDFLAGS as configure env vars for FFMPEG
  detection.

Originally committed to SVN as r2664.
2009-01-06 13:59:15 +00:00
Amar Takhar 90062363f3 Really do the aegisub->aegisub-2.1 binary rename.
Originally committed to SVN as r2663.
2009-01-06 13:58:21 +00:00
Amar Takhar 6443fa34fe Add FFMPEG_CFLAGS / FFMPEG_LDFLAGS.
Originally committed to SVN as r2662.
2009-01-06 13:36:08 +00:00
Amar Takhar bbe33f2b91 Set bin_PROGRAMS to aegisub-2.1
Originally committed to SVN as r2661.
2009-01-06 12:35:57 +00:00
Amar Takhar 7e764f2ab1 Remove old legacy code: don't set LUA_CFLAGS and LUA50_CFLAGS to $CPPFLAGS.
Originally committed to SVN as r2660.
2009-01-06 11:20:56 +00:00
Amar Takhar 675c4caa09 Add multiple version support, everything is now suffixed with MAJOR.MINOR, this
will allow users on unix to install and operate different versions of aegisub a$
the same time.  Note: auto3 linking is broken it will be fixed in the next
commit as it's unrelated to these changes.

Originally committed to SVN as r2659.
2009-01-06 10:44:49 +00:00
Amar Takhar eba8f8fa3c Re-enable glib-gettextize, it _was_ disabled to handle localisations in a different
way.. it's safe to use it now.

Originally committed to SVN as r2658.
2009-01-06 09:39:58 +00:00
Amar Takhar 8d25a378c3 mkinstalldirs is no longer required for gettext.
Originally committed to SVN as r2657.
2009-01-06 09:38:17 +00:00
Amar Takhar d9f9206b40 Update POTFILES.in.
Originally committed to SVN as r2656.
2009-01-06 05:37:58 +00:00
Amar Takhar 6d172232c6 Comments start with a '#' not '*'.
Originally committed to SVN as r2655.
2009-01-06 03:48:36 +00:00
Amar Takhar 9e29094af2 * Add CFBundleLocalizations which will allow users to set the language via the
System language setting.
* Rename the binary from aegisub to Aegisub so it shows up properly in the title
  bar. (I have no idea why it uses this when using CFBundleLocalizations)

Originally committed to SVN as r2653.
2009-01-05 12:16:35 +00:00
Amar Takhar 0d84a87098 Don't traverse m4macros/ and add the files to EXTRA_DIST in ./Makefile.am for speed.
Originally committed to SVN as r2652.
2009-01-05 11:51:56 +00:00
Amar Takhar 2ded1e69db Remove unused files, add config/*.h
Originally committed to SVN as r2651.
2009-01-05 11:51:34 +00:00
Amar Takhar 0c6abb553e Remove a cut-and-past-o
Originally committed to SVN as r2650.
2009-01-05 11:51:13 +00:00
Amar Takhar 15239a8409 That's '! test' not '!test'.
Originally committed to SVN as r2649.
2009-01-05 11:40:52 +00:00
Amar Takhar 25ca1497ab * Add support for setting the default A/V provider and audio player using
--with-provider-(video|audio) and --with-player-audio.
* Cleanup --help alignment
* Print default values at the end of configure
* Remove :'s in end status section headings in configure.

Originally committed to SVN as r2648.
2009-01-05 11:07:14 +00:00
Amar Takhar a501846057 Remove a single line of debug code that slipped in r2638. This commit
is dedicated to the pains of cross-platform development.

Originally committed to SVN as r2647.
2009-01-05 05:14:44 +00:00
Amar Takhar 37b395310b Add a cheap 'make bundledirs-test' target.
Originally committed to SVN as r2645.
2009-01-04 13:07:57 +00:00
Niels Martin Hansen 79b79d737f Add RestartAegisub() function with obvious purpose.
Replace existing code that restarts Aegisub with a call to that function.

Originally committed to SVN as r2644.
2009-01-04 11:45:06 +00:00
Niels Martin Hansen c98c5b10b9 Add (untested) test program for libosxutil, to display what the different locations map to.
There is no makefile support for it (yet).

Originally committed to SVN as r2643.
2009-01-04 11:10:51 +00:00
Niels Martin Hansen 00d15ee4db Add OSX_GetBundlePath() to libosxutil
Originally committed to SVN as r2642.
2009-01-04 11:09:53 +00:00
Amar Takhar c29a1c71f9 Add an empty 'en.lproj' directory so Aqua knows aegisub supports english.
(stupid thing.)

Originally committed to SVN as r2641.
2009-01-04 10:53:54 +00:00
Amar Takhar 548a9b6499 Remove auto3/readme.txt.
Originally committed to SVN as r2640.
2009-01-04 10:53:27 +00:00
Amar Takhar 732970fe56 Set default locale to en_US and disable tooltips on startup, for whatever
reason both of these break when loading (to be fixed later).

Originally committed to SVN as r2639.
2009-01-04 10:26:14 +00:00
Amar Takhar 7463ef058f s/libres.h/libresrc.h/
Originally committed to SVN as r2638.
2009-01-04 10:13:05 +00:00
Amar Takhar 4e536f2a10 Copy locale files into the bundle.
Originally committed to SVN as r2637.
2009-01-04 10:04:32 +00:00
Amar Takhar f165d6987c Install docs into share/docs/aegisub rather than share/aegisub
Originally committed to SVN as r2636.
2009-01-04 09:56:31 +00:00
Niels Martin Hansen 376de4b019 Update Windows installer to pick Automation files from changed locations.
Originally committed to SVN as r2635.
2009-01-04 09:26:28 +00:00
Niels Martin Hansen a4abc2e3de Move some Automation demos to autoload to match the Windows installation layout.
Remove two unused readme.txt files.

Originally committed to SVN as r2634.
2009-01-04 09:24:56 +00:00
Amar Takhar c2d33f2e77 No files from tests/ should be installed.
Originally committed to SVN as r2633.
2009-01-04 09:20:45 +00:00
Amar Takhar f9eb36ea67 Remove the 'touch aegisub/posix/config.h' kludge which is no longer required.
Originally committed to SVN as r2632.
2009-01-04 09:03:50 +00:00
Amar Takhar bf09c76081 Remove posix dir and 'libposix' and create 'libresrc' which includes
resources from res.rc and and future resources required.

Originally committed to SVN as r2631.
2009-01-04 09:01:49 +00:00
Amar Takhar bf671135e9 Add fseeko/ftello defines that got missed during the first-pass.
Originally committed to SVN as r2628.
2009-01-04 07:23:06 +00:00
Amar Takhar d5fe9e331f Add -DHAVE_STRLCPY and remove @WX_CPPFLAGS@ from AM_CPPFLAGS.
Originally committed to SVN as r2627.
2009-01-04 07:05:54 +00:00
Amar Takhar 348d017ed0 Add -D__UNIX__ to AM_CPPFLAGS.
Originally committed to SVN as r2626.
2009-01-04 07:04:32 +00:00
Amar Takhar e66eed8126 Remove -include posix/defines.h
Originally committed to SVN as r2625.
2009-01-04 07:02:28 +00:00
Amar Takhar 7e9f898c34 * Add -I../aegisub to libass/Makefile.am
* Remove res.h from config/config_unix.h
* Add posix/res.h to config.h (temp)

Originally committed to SVN as r2624.
2009-01-04 07:01:20 +00:00
Amar Takhar 9238c1b992 Remove WITH_FFMPEGSOURCE as the defines have been self-contained to FFmpegSource2.
Originally committed to SVN as r2623.
2009-01-04 06:56:20 +00:00
Rodrigo Braz Monteiro 7b552282ff Fixed config for MSVC
Originally committed to SVN as r2622.
2009-01-04 06:42:49 +00:00
Amar Takhar 0763541848 Change how configuration works.
* move win32/config0.h -> config/config_windows0.h
  * move win32/stdint.h -> msvc/stdint.h
  * move posix/defines.h -> config/config_unix.h
  * add config.h - brings in config_(windows|unix).h as required
  * add config.h to *.cpp
  * Self-contain FFmpegSource2 with required function defines wrapped with
    __UNIX__ instead of the now removed defines.h.
  * Edit aegisub_vs2008.vcproj to remove explicit inclusion of config.h, also
    change VCPreBuildEventTool to create windows_config.h from
    windows_config0.h.  Add msvc to include path.
  * Change configure to create ./acconf.h instead of posix/acconf.h

This will allow us to create a more standard and platform agnostic way of
configuration aegsisub during build time.

Originally committed to SVN as r2621.
2009-01-04 06:31:48 +00:00
Amar Takhar eb328262c3 Print some useful messages at the end of configure: Install prefix, SVN
Revision, Debug (yes+flags/no), CPPFLAGS, LDFLAGS.  Hopefully this will stop
any wonky settings from sliding in without being noticed.

Originally committed to SVN as r2620.
2009-01-04 04:48:55 +00:00
Amar Takhar c5ccada420 if $prefix = "NONE" then set $prefix to $ac_default_prefix. I didn't realise
at the time $prefix isn't populated unless --prefix is provided.  This broke
paths for any situation where --prefix wasn't provided.  On Linux wx can figure
out the install prefix automatically at the moment we use SetInstallPrefix in w
to set the prefix which was being set to 'NONE' if --prefix wasn't used.
(broken locale on linux reported by tomman)

Originally committed to SVN as r2619.
2009-01-04 04:38:32 +00:00
Fredrik Mellbin bb61298853 Delete the obsolete FFmpegSource
Originally committed to SVN as r2618.
2009-01-03 15:28:02 +00:00
Fredrik Mellbin 54c721cc49 FFMS2 Add NoLog to the API
Originally committed to SVN as r2617.
2009-01-03 15:17:53 +00:00
No Author 7ddddeda65 Jeroi
Originally committed to SVN as r2616.
2009-01-02 23:08:36 +00:00
Amar Takhar da9e5f0cc1 Remove a single debug printf that is no longer required.
Originally committed to SVN as r2615.
2009-01-02 09:30:32 +00:00
Amar Takhar 478b3b6996 Add BUILD_CREDIT support using --with-build-credit which shows up in the
titlebar (I didn't want to add this but it keeps coming up.)  I also hope it is
not abused by setting usernames during package builds for distributions.  It
should only be used for personal builds only or shared builds by individuals.

Originally committed to SVN as r2614.
2009-01-02 09:13:22 +00:00
Amar Takhar 0c7e784d71 Activate locale support on !__WINDOWS__, using SetInstallPrefix in
standard_paths.cpp allows the program to find the locale files now.

Originally committed to SVN as r2613.
2009-01-02 08:49:43 +00:00
Amar Takhar 9cd72c21c9 Set BUILD_SVN_REVISION which fixes saving config.dat between instances. This
uses 'svnversion $srcdir' for svn builds, and the file svn_revision which is
supplied with tarballs.

Originally committed to SVN as r2612.
2009-01-02 08:48:13 +00:00
Niels Martin Hansen bd5ecab6ed Remove some linebreaks from tooltips in Hungarian translation, they aren't really allowed to be there.
Originally committed to SVN as r2611.
2009-01-02 06:54:22 +00:00
Amar Takhar fa5e257ead Sigh, why does 'svn commit .' only work sometimes?: Revert aegisublocale.cpp
back to r2595.  r2609 (svn:ignore commit) included debuggin code which is
harmless but not required.

Originally committed to SVN as r2610.
2009-01-02 02:15:32 +00:00
Amar Takhar 3419b99790 Set svn:ignore svn_revision.
Originally committed to SVN as r2609.
2009-01-02 02:13:15 +00:00
Amar Takhar 5523314bb2 Change #ifdef __UNIX__ to #if defined(__UNIX__) && !defined(__APPLE__) as
__UNIX__ is triggered on OS X as well which breaks things when setting
SetInstallPrefix.

Originally committed to SVN as r2608.
2009-01-01 14:01:45 +00:00
Niels Martin Hansen 31be1e68a2 Just don't show BUILD_CREDIT if it isn't defined, and use an ugly workaround in About box (to avoid clobbering the translateable messages.)
Originally committed to SVN as r2607.
2009-01-01 13:16:42 +00:00
Amar Takhar 5b17133fee Use StandardPaths::SetInstallPrefix to set the prefix using INSTALL_PREFIX
which is taken from configure (either default or with --prefix).  This is the
beginings of proper relocation support on UNIX. (thanks jfs!)

Originally committed to SVN as r2606.
2009-01-01 13:10:51 +00:00
Amar Takhar d935c3fdd3 Add INSTALL_PREFIX to config.h, this will be used to add proper relocation
support in UNIX.  Windows and OS X are done differently.

Originally committed to SVN as r2605.
2009-01-01 12:58:47 +00:00
Amar Takhar 85e91c8a98 Fix --help message alignment (annoying)
Originally committed to SVN as r2604.
2009-01-01 12:47:20 +00:00
Amar Takhar 8a778ffd82 Fix --disable-check-wx-opengl --disable-check-wx-stc which forces opengl/stc
support on.  These two checks take a long time, before you use this know what
you are doing!

Originally committed to SVN as r2603.
2009-01-01 12:43:17 +00:00
Amar Takhar 1f19d5fc8b Move AC_ARG_ENABLE(debug.. to the very end, adding it before slows down
configure immensly.  If anyone wants to use it during configure they should add
-g to their CXXFLAGS.

Originally committed to SVN as r2602.
2009-01-01 12:32:58 +00:00
Amar Takhar 5ba0f587d8 Remove a couple commented lines that are not needed anymore.
Originally committed to SVN as r2601.
2009-01-01 12:30:00 +00:00
Niels Martin Hansen ea2431ed4c Remove some failed stuff that shouldn't have been committed in the first place...
Originally committed to SVN as r2600.
2009-01-01 11:11:47 +00:00
Amar Takhar ebc21524cf I'm not sure how long this bug has been around, probably several months if not
from around r2140. An artifact from the very  first commit of the new build
system was wiping CPPFLAGS, which removed -g if --enable-debug was used.  I
didn't notice it locally as I was setting the flag differently.  I wonder how
it went on this long without anyone noticing, next: useful crashdumps for all.

Originally committed to SVN as r2599.
2009-01-01 10:34:00 +00:00
Amar Takhar 47bd9666c5 Fix scripts/osx-bundle.sh to copy the fontconfig config files.
Originally committed to SVN as r2598.
2009-01-01 05:59:41 +00:00
Amar Takhar 946acb99dd The check for enable_check_wx_stc should be = 'no' no != 'no'
Originally committed to SVN as r2597.
2009-01-01 05:48:49 +00:00
Amar Takhar cab9ba86b0 Fix StyledTextCtrl detection support, no idea how long this has been broken for.
Originally committed to SVN as r2596.
2009-01-01 05:41:07 +00:00
Rodrigo Braz Monteiro cd9faac6b0 Possible fix for crash on aegisublocale.cpp
Originally committed to SVN as r2595.
2009-01-01 05:37:47 +00:00
Amar Takhar a107de7d44 add etc/fonts for fontconfig now that we have bundle-local fontconfig
working.

Originally committed to SVN as r2594.
2009-01-01 04:47:34 +00:00
Rodrigo Braz Monteiro 77095bab39 UNTESTED - Per verm's request, changed listing of locales for non-Windows to use a hardcoded list. Change this to use a proper txt list later.
Originally committed to SVN as r2593.
2009-01-01 02:16:09 +00:00
Fredrik Mellbin 91b205e7bd FFMS2 Forgot debug code that made seeking slow
Originally committed to SVN as r2592.
2008-12-31 13:46:09 +00:00
Amar Takhar cf4524603c * Add code for grabbing fonts.conf from within a bundle (thanks jfs!)
* Set BUILD_DARWIN on libass when building on Darwin.

Originally committed to SVN as r2589.
2008-12-31 11:47:16 +00:00
Niels Martin Hansen 1cce8b4ac7 License headers, documentation comments and changed name of a few functions. (The names were inconsistent.)
Originally committed to SVN as r2588.
2008-12-31 09:40:07 +00:00
Amar Takhar 610a6c11cf Sigh, s/Framwork/Framework/
Originally committed to SVN as r2587.
2008-12-31 09:25:11 +00:00
Amar Takhar 1fd3ffc313 Add 'libosxutil' which gives us functions to locate paths within bundles, for
now this is used by libass to load fontconfig's fonts.conf.

Originally committed to SVN as r2585.
2008-12-31 09:20:50 +00:00
Amar Takhar b262b3016b Check for Mac::Finder::DSStore in scripts/osx-dmg.sh and spit
out a warning + url if it does not exist.

Originally committed to SVN as r2584.
2008-12-31 08:49:36 +00:00
Amar Takhar faa58f80f2 Add SharedSupport/dictionarties to the bundle which will hold spelling
dictionaries.

Originally committed to SVN as r2583.
2008-12-31 08:32:43 +00:00
Niels Martin Hansen 9c04724e13 Fix conversion to multibyte strings from widechar strings in FFmpegSource providers. (tomman)
Originally committed to SVN as r2582.
2008-12-31 07:22:24 +00:00
Amar Takhar 93002cf4a8 * s/SVN_VERSION/SVN_REVISION/ in configure.in
* Prefix PLIST_ to swappable variables in Plist.info
* Add scripts/osx-bundle.sed.in which swaps the variables in Info.plist
* Split AC_OUTPUT into AC_CONFIG_FILES for Makefiles/config scripts
  (osx-bundle.sed.in) and add AC_OUTPUT below.
* svn:ignore property on . and scripts/
* Fix bug in Info.plist (---> to --> for ending XML comment)

Originally committed to SVN as r2581.
2008-12-31 05:52:52 +00:00
Niels Martin Hansen 5de82eb98a Incomplete Danish translation
Originally committed to SVN as r2580.
2008-12-31 05:22:05 +00:00
Niels Martin Hansen 234ab505bb Use FINAL_RELEASE define to determine whether to display beta version number or stable version number. (Currently 2.1.6 vs. 2.2.0.)
Originally committed to SVN as r2579.
2008-12-31 05:19:24 +00:00
Amar Takhar c03b3f4069 * Get SVN_VERSION properly.
* Add BUILD_DATE

Originally committed to SVN as r2578.
2008-12-31 05:07:58 +00:00
Amar Takhar 6d6e68ad5c Cleanup version entries.
Originally committed to SVN as r2577.
2008-12-31 04:12:39 +00:00
Amar Takhar 51a2a8ba98 Update Info.plist, this has some variables that need swapping.
Originally committed to SVN as r2576.
2008-12-31 03:40:31 +00:00
Amar Takhar 82f6bdcc41 Move CFBundleDocumentTypes below standard settings in preperation for major changes.
Originally committed to SVN as r2575.
2008-12-31 02:56:31 +00:00
Amar Takhar 84bda88a9d dammit! remove debug code that slipped in during my r2568 commit, I
knew if I left it around it would slip in, sigh. thanks murphy.

Originally committed to SVN as r2574.
2008-12-31 00:23:17 +00:00
Karl Blomster ba4144d25e update ffms2.lib
Originally committed to SVN as r2573.
2008-12-31 00:10:20 +00:00
Fredrik Mellbin e1dfb76c1e FFMS2 Add all required HAALITS ifdefs
Originally committed to SVN as r2572.
2008-12-31 00:06:57 +00:00
Fredrik Mellbin ff8d019d58 FFMS2 beta 4
This commit breaks the shit out of linux

Originally committed to SVN as r2571.
2008-12-30 23:57:22 +00:00
Karl Blomster 8a4e4efff3 add finnish translation
Originally committed to SVN as r2570.
2008-12-30 17:16:19 +00:00
Karl Blomster 7aa52df35e update czech translation
Originally committed to SVN as r2569.
2008-12-30 13:42:20 +00:00
Amar Takhar c4e8dd0dfb * Remove DS_Store, it is now custom generated using
http://freehg.org/u/wiml/dsstore/.  This allows us to have versions in our
  folder names without requiring manual intervention!  It requires dsstore to b$
  installed and runs a modified scripts/osx-dmg-dsstore.pl to generate the
  DS_Store file.

Originally committed to SVN as r2568.
2008-12-30 11:38:08 +00:00
Amar Takhar 00c134e1c9 Use @SHELL@ instead of /bin/sh, this allows $SHELL to be changed.
Originally committed to SVN as r2567.
2008-12-30 06:49:05 +00:00
Amar Takhar ba4d82d1fe Rename genxpm.awk -> unix-gen-xpm.awk and genres.awk -> unix-gen-res.awk
to follow current naming conventions.

Originally committed to SVN as r2566.
2008-12-30 06:46:28 +00:00
Amar Takhar 4459cbf3e8 Instead of removing the old bundle, print a notice that
it is being re-used this makes development much easier.

Originally committed to SVN as r2565.
2008-12-30 06:44:04 +00:00
Amar Takhar 12ba64ffb2 Remove the old dmg before trying to make a new one.
Originally committed to SVN as r2564.
2008-12-30 06:42:06 +00:00
Amar Takhar 489405da98 Fix the silly 'echo -n' problem on Darwin.
Originally committed to SVN as r2563.
2008-12-30 04:13:33 +00:00
Amar Takhar 2aaad558ed Add 'Drag to install!' text, I'm sure there will be _someone_ out
there that won't see the big blue arrow pointing downwards to the
'Applications' symlink.

Originally committed to SVN as r2562.
2008-12-29 23:46:24 +00:00
Amar Takhar edc3d7c75a Set the folder icon for the mounted .dmg file.
Originally committed to SVN as r2561.
2008-12-29 11:05:30 +00:00
Amar Takhar da6d05d79e Add an rm -rf ${TMP_DMG} before mkdir.
Originally committed to SVN as r2560.
2008-12-29 10:53:17 +00:00
Amar Takhar 44d1465db0 * Add 'make osx-dmg' target
* Fix scripts/osx-dmg.sh to check for ${PKG_DIR}.app before making a dmg.

Originally committed to SVN as r2559.
2008-12-29 10:36:21 +00:00
Amar Takhar 461002bfad Add the 'default' DS_Store file, not sure if this will work the way we
want it to but for now I'll add it.

Originally committed to SVN as r2558.
2008-12-29 10:09:29 +00:00
Amar Takhar 1b2cde71a1 Update position data.
Originally committed to SVN as r2557.
2008-12-29 09:29:52 +00:00
Amar Takhar 1e309debfd Move the blue arrow down a little.
Originally committed to SVN as r2556.
2008-12-29 09:28:34 +00:00
Amar Takhar b7d279364a Add an arrow for the folder background.
Originally committed to SVN as r2555.
2008-12-29 08:22:37 +00:00
Amar Takhar 4908e68f61 First pass at osx-dmg.sh to create a dmg image.
Originally committed to SVN as r2554.
2008-12-29 08:07:06 +00:00
Amar Takhar 02252a440f s/Inkscape/@PKG_NAME@/ which will be replaced using sed.
Originally committed to SVN as r2552.
2008-12-29 07:11:44 +00:00
Amar Takhar 691b85697e Applescript used to set DMG settings, used from the Inkscape project.
Originally committed to SVN as r2551.
2008-12-29 07:11:11 +00:00
Amar Takhar d3645364e5 Add packages/osx_dmg, with a dmg_background.png this is a verbatium
conversion of installer/welcome.bmp.

Originally committed to SVN as r2550.
2008-12-29 05:42:05 +00:00
Amar Takhar 841a152044 Add an osx-bundle target: 'make osx-bundle'
Originally committed to SVN as r2548.
2008-12-29 04:49:19 +00:00
Amar Takhar 88f7515ec4 s|/bin/bash|/bin/sh|
Originally committed to SVN as r2547.
2008-12-29 04:43:17 +00:00
Amar Takhar a41e1279b4 * Fix sh script to use new paths.
* Change osx-fix-libs.py to print system libraries used

Originally committed to SVN as r2546.
2008-12-29 04:41:00 +00:00
Amar Takhar 954d7282aa * Create packages/osx_bundle which is a skel of OS X bundles.
* Move aegisub/macosx/*.icns to packages/osx_bundle/Contents/Resources
* Move aegisub/macosx/Info.plist to packages/osx_bundle/Contents/
* Remove aegisub/macosx as it's no longer required.

Originally committed to SVN as r2545.
2008-12-29 03:22:04 +00:00
Amar Takhar b0296ebcbd No idea why it copies aegisub/aegisub the binary is in aegisub/.libs/aegisub.
Originally committed to SVN as r2544.
2008-12-29 03:18:12 +00:00
Amar Takhar c30992fbbc Rename macosx/bevelButton* to ./osx_bevelButton*, the macosx/ dir is going away.
Originally committed to SVN as r2543.
2008-12-29 02:57:41 +00:00
Amar Takhar 2c4de1fb21 set gettextize to $GETTEXTIZE and intltoolize to $INLTOOLIZE which is required
for OSX as they're being used in non-standard locations.

Originally committed to SVN as r2542.
2008-12-29 02:37:16 +00:00
Amar Takhar b4175fbd75 * Copy make-app-bundle.sh to osx-fix-libs.py which is the python script.
* Rename make-app-bundle.sh to osx-bundle.sh which is the sh script.

Originally committed to SVN as r2541.
2008-12-29 01:13:55 +00:00
Amar Takhar 1279b910ad Update to libass r28085.
Originally committed to SVN as r2539.
2008-12-28 08:09:59 +00:00
Rodrigo Braz Monteiro b17fb34659 Testing new bot message.
Originally committed to SVN as r2538.
2008-12-28 03:52:37 +00:00
Amar Takhar 179fd4caa7 Fix mac build, add c_str() to filename and include aegisub.h.
Originally committed to SVN as r2537.
2008-12-28 03:07:40 +00:00
Amar Takhar f838d6172d Set with_provider_ffmpegsource="no" if libpostproc is not detected.
Originally committed to SVN as r2536.
2008-12-27 11:45:38 +00:00
Amar Takhar 85f0e5e7f0 Add --enable-perl-console, enabled by default (untested)
Originally committed to SVN as r2535.
2008-12-27 11:42:12 +00:00
Amar Takhar e7f057a2b1 Instead of checking if (perl|ruby)_disabled exists, check with_(perl|ruby) =
"no".  This is probably expected behaviour as the --with-XXX=BLAH flags will
pass along BLAH.  Most of the time if users want it turned on they'll set it to
something else other than no. (they shouldn't though)

Originally committed to SVN as r2534.
2008-12-27 10:03:37 +00:00
Amar Takhar c0374c55d4 Set with_cv_(perl|ruby) = no if --without-(perl|ruby) is set.
Originally committed to SVN as r2533.
2008-12-27 09:42:31 +00:00
Amar Takhar bdbf8f4fe0 Finally use (fontconfig|freetype|perl|pkgconfig|ruby)_required_version to check
against required versions.  lua|portaudio|pulseaudio|ffmpeg are not used yet as
they require compile tests.

Originally committed to SVN as r2532.
2008-12-27 09:32:47 +00:00
Amar Takhar 9f8c45bf65 Set convert to BIN_CONVERT in Makefile.bitmaps.
Originally committed to SVN as r2531.
2008-12-27 08:06:29 +00:00
Amar Takhar b7e5b367d2 s/awk/BIN_AWK/
Originally committed to SVN as r2530.
2008-12-27 07:23:37 +00:00
Amar Takhar 400be89f48 Allow BIN_CONVERT and BIN_AWK to be set on the commandline when
autogen.sh is run.

Originally committed to SVN as r2529.
2008-12-27 07:21:04 +00:00
Amar Takhar ef1eeb6fe2 Fix unterminated string.
Originally committed to SVN as r2528.
2008-12-27 07:16:01 +00:00
Amar Takhar 1209081b97 Fix cut-and-paste-o (s/convert/awk/)
Originally committed to SVN as r2527.
2008-12-27 07:09:22 +00:00
Amar Takhar de6a89c4ed move aegisub/bitmaps/genxpm.awk to scripts/ and edit autogen.sh.
Originally committed to SVN as r2526.
2008-12-27 04:50:53 +00:00
Amar Takhar c3ca0396cb MOve make-app-bundle.sh from . to scripts/
Originally committed to SVN as r2525.
2008-12-27 04:49:28 +00:00
Karl Blomster db2c5da7a0 add oneliner version of unicodereplace.pl to the script itself so I don't forget about it
Originally committed to SVN as r2524.
2008-12-26 23:36:39 +00:00
Amar Takhar b94357e8db Add genres.awk for res.h/res.cpp generation, not in use currently. The
scripts/ dir will hold build generation scripts.

Originally committed to SVN as r2523.
2008-12-26 04:07:45 +00:00
Rodrigo Braz Monteiro 845c13ca14 Testing fix for "1 files"
Originally committed to SVN as r2522.
2008-12-26 04:06:39 +00:00
Amar Takhar 35f5d241dc * Remove stray Makefile.in.
* Set svn:ignore properties.

Originally committed to SVN as r2521.
2008-12-26 04:06:12 +00:00
Amar Takhar 2f85454bce Remove Makefile.in's comitted by accident in r2177. (doh!)
Originally committed to SVN as r2520.
2008-12-26 04:00:08 +00:00
Rodrigo Braz Monteiro 28a875ff1c Updated Spanish translation (thanks to tomman)
Originally committed to SVN as r2519.
2008-12-26 03:34:52 +00:00
Rodrigo Braz Monteiro 3ca16bce4e Final test of Aegi-tan.
If you can read this, then everything worked. Woot.

Originally committed to SVN as r2518.
2008-12-25 16:51:39 +00:00
Rodrigo Braz Monteiro 4f0ab61783 Hay thar, testing bot.
Originally committed to SVN as r2517.
2008-12-25 16:11:57 +00:00
Amar Takhar 943e87f1d1 Add aditional notices, remove 'the' at the bottom.
Originally committed to SVN as r2516.
2008-12-25 07:20:35 +00:00
Rodrigo Braz Monteiro ebc99e1400 sgfasd
Originally committed to SVN as r2515.
2008-12-25 07:17:43 +00:00
Rodrigo Braz Monteiro 0d07d670e3 test
Originally committed to SVN as r2514.
2008-12-25 07:16:33 +00:00
Amar Takhar da01bc37d0 Remove ancient comments and add stubs: "To be written"
Originally committed to SVN as r2513.
2008-12-23 09:31:29 +00:00
Fredrik Mellbin a44ae80700 Test commit
Originally committed to SVN as r2512.
2008-12-21 18:12:16 +00:00
Rodrigo Braz Monteiro c3b9c3ac82 testing https
Originally committed to SVN as r2511.
2008-12-21 18:05:37 +00:00
Rodrigo Braz Monteiro 73c66cc585 OpenAL support in installer.
Originally committed to SVN as r2509.
2008-12-20 00:17:32 +00:00
Rodrigo Braz Monteiro a614dd57ea Added .stats to keyframe files.
Originally committed to SVN as r2508.
2008-12-20 00:17:17 +00:00
Karl Blomster 6ad406446b Changed how the lavc audio decoder handles non-decodable audio packets. Previously, if decoding failed at any point in the audio stream, it would throw an exception that didn't get caught anywhere and hence crashed the program. Now, it'll just silently skip the broken packet and go on to next one, meaning that if the audio stream is actually corrupted and not just some weird stream with null packets you'll either get desyncs from the missing samples, or if the entire stream is non-decodable you'll just silence.
tl;dr: Fixed loading of AAC files with the ffmpeg provider.

Originally committed to SVN as r2507.
2008-12-17 06:22:05 +00:00
Amar Takhar 04047e8f95 Add detection for universalchardet config detection. This isn't used or hooked
up at the moment but will be eventually.

Originally committed to SVN as r2506.
2008-12-17 03:52:33 +00:00
Amar Takhar 7c920b80b5 fr -> fr_FR.
Originally committed to SVN as r2505.
2008-12-16 04:25:44 +00:00
Amar Takhar bcb5258d7a Fix FFMPEG/Provider support (PART 2)
Originally committed to SVN as r2504.
2008-12-16 03:18:02 +00:00
Amar Takhar 07b2eeeb42 Fix versioning and add in a 'revision' version (set to 6)
Originally committed to SVN as r2503.
2008-12-16 02:17:29 +00:00
Amar Takhar 42b57fb526 * Fix those annoying _cv_ cache warning messages.
Originally committed to SVN as r2502.
2008-12-16 02:03:01 +00:00
Amar Takhar f36986a072 * Seperate FFMPEG support and FFMPEG/FFmpegSource Provider detection. (PART 1)
* Fix CSRI detection.
* Fix capitalisation on ending support status.
* s/ANCIENT/OLD/ tag for older FFMPEG headers.
* Fix --enable-old-ffmpeg to work as advertised.

Originally committed to SVN as r2501.
2008-12-16 01:59:38 +00:00
Rodrigo Braz Monteiro 615b791ad1 Updated german translation.
Originally committed to SVN as r2500.
2008-12-09 21:37:45 +00:00
Rodrigo Braz Monteiro 5916c9f1a8 Updated installer.
Originally committed to SVN as r2499.
2008-12-05 20:53:04 +00:00
Rodrigo Braz Monteiro 1a872ddb64 Updated something, I guess.
Originally committed to SVN as r2498.
2008-12-05 20:52:48 +00:00
Rodrigo Braz Monteiro aa071a1293 Added french translation.
Originally committed to SVN as r2497.
2008-12-05 20:52:39 +00:00
Niels Martin Hansen 735ce2385e More complete error checking in new DSound player, shouldn't crash/die on errors now.
Originally committed to SVN as r2496.
2008-11-27 20:39:36 +00:00
Niels Martin Hansen a6c169a4b2 Complete rewrite of the DirectSound audio player, this time doing threading and synchronisation better, and following the COM apartment model strictly too. It replaces the old player by default, but the old is still available in the runtime configuration.
Originally committed to SVN as r2495.
2008-11-27 18:35:26 +00:00
Rodrigo Braz Monteiro bfb3f48cba Raised version number.
Originally committed to SVN as r2494.
2008-11-26 02:25:35 +00:00
Rodrigo Braz Monteiro 329d8ef9bf Fixed jfs's borkage. (wouldn't compile on VC++)
Originally committed to SVN as r2493.
2008-11-26 02:24:37 +00:00
Niels Martin Hansen 42dd599579 Make ffmpeg and ffms video providers endianness-aware and always get the video in pixel format expected by the video display.
Originally committed to SVN as r2492.
2008-11-26 02:03:53 +00:00
Rodrigo Braz Monteiro e802fa3c84 Some more uninitialized variables.
Originally committed to SVN as r2491.
2008-11-25 02:07:07 +00:00
Rodrigo Braz Monteiro 6dba041df6 Fixed uninitialized variable (not that it matters)
Originally committed to SVN as r2490.
2008-11-25 01:52:35 +00:00
Rodrigo Braz Monteiro 0c6f4484a0 Updated installer.
Originally committed to SVN as r2489.
2008-11-25 01:50:13 +00:00
Rodrigo Braz Monteiro 07bc0a91b0 Fixed audio display's slowness.
Originally committed to SVN as r2488.
2008-11-25 01:49:17 +00:00
Niels Martin Hansen f77a4ccd22 Completed script to make OS X app bundles, seems to pack up correctly my PPC build without ffmpeg, assuming it'll do anything else correctly too
Originally committed to SVN as r2487.
2008-11-25 01:10:28 +00:00
Niels Martin Hansen 802fd34d54 Shell script to create OS X application bundles from a build tree, probably only works for in-tree builds
Originally committed to SVN as r2486.
2008-11-24 20:29:47 +00:00
Niels Martin Hansen 0bd7341cfe Updated plist suitable for directly copying into OS X app bundles
Originally committed to SVN as r2485.
2008-11-24 20:25:25 +00:00
Niels Martin Hansen ce99076e80 Get rid of that outdated XCode project, it just causes confusion.
Originally committed to SVN as r2484.
2008-11-24 20:07:30 +00:00
Niels Martin Hansen df4aa2be60 Add a small arrow next to the vertical spectrum (third dimension) in the colour picker, to make it easier to find the cursor in some cases.
Originally committed to SVN as r2483.
2008-11-24 14:05:46 +00:00
Karl Blomster 4cb12eb087 Add Japanese translation, by Shiori.
Originally committed to SVN as r2482.
2008-11-23 20:56:06 +00:00
Rodrigo Braz Monteiro 69d38ba1d6 Updated version to 2.1.5.
Originally committed to SVN as r2481.
2008-11-23 02:40:00 +00:00
Rodrigo Braz Monteiro 747ffe9025 Refactoring and better file format detection. Also added a unit test for that.
Originally committed to SVN as r2480.
2008-11-23 02:39:00 +00:00
Rodrigo Braz Monteiro 9c815d3042 Fixed crashing on loading malformed font files.
Originally committed to SVN as r2479.
2008-11-23 02:37:25 +00:00
Rodrigo Braz Monteiro f22cfa177e More interface cleanup.
Originally committed to SVN as r2478.
2008-11-22 19:56:41 +00:00
Rodrigo Braz Monteiro c7f8ba6ca8 Some interface clean up.
Originally committed to SVN as r2477.
2008-11-22 19:52:38 +00:00
Niels Martin Hansen f279bc2a14 Crash Aegisub by holding Ctrl or Ctrl+Shift while selecting Bug Tracker from the Help menu. (Cmd instead of Ctrl on Mac.)
Originally committed to SVN as r2476.
2008-11-22 19:28:16 +00:00
Niels Martin Hansen 560ea054e9 Fix last-minute test for wx GL support to be compiled it. Thanks to sneshko.
Originally committed to SVN as r2475.
2008-11-22 19:07:56 +00:00
Rodrigo Braz Monteiro 56e0bea8d9 Improved detection of ASS-family formats.
Originally committed to SVN as r2474.
2008-11-22 00:35:10 +00:00
Rodrigo Braz Monteiro 2a0f9b7447 Fixed file/format refactoring.
Originally committed to SVN as r2473.
2008-11-22 00:14:39 +00:00
Rodrigo Braz Monteiro 248dbddfdf Some MORE refactoring of Athenasub (-_-), which includes breaking loading of files.
Originally committed to SVN as r2472.
2008-11-21 04:13:33 +00:00
Rodrigo Braz Monteiro ad4a9daf75 Made Athenasub::Exception print a stack trace.
Originally committed to SVN as r2471.
2008-11-21 02:42:00 +00:00
Rodrigo Braz Monteiro ac9bd6e0db Blah athenasub blah.
Originally committed to SVN as r2470.
2008-11-21 02:14:15 +00:00
Rodrigo Braz Monteiro 8692fe4220 Fixed the typesetting toolbar to fill the whole height of video.
Originally committed to SVN as r2469.
2008-11-21 01:49:48 +00:00
Niels Martin Hansen e924197c48 Make the libass fonts_dir something sensible so it doesn't search the entire homedir (or whereever) through for fonts on init, causing huge delays.
(?user/libass_fonts/ is used now, it's created if it doesn't exist.)

Originally committed to SVN as r2468.
2008-11-20 22:08:34 +00:00
Karl Blomster 95bccb4e1e use slightly different method for updating progress display in ffmsindex.exe, might make some GUI makers happy
Originally committed to SVN as r2467.
2008-11-20 19:31:22 +00:00
Rodrigo Braz Monteiro 671a788abc Originally committed to SVN as r2466. 2008-11-20 04:05:05 +00:00
Rodrigo Braz Monteiro 6f94248289 Some refactoring of file I/O.
Originally committed to SVN as r2465.
2008-11-20 03:21:00 +00:00
Rodrigo Braz Monteiro e255222316 Fixed some stuff.
Originally committed to SVN as r2464.
2008-11-17 03:09:27 +00:00
Rodrigo Braz Monteiro dae123d225 Fixed audio spectrum bug.
Originally committed to SVN as r2463.
2008-11-17 00:06:31 +00:00
Rodrigo Braz Monteiro fbf55bacaa Guess!
Originally committed to SVN as r2462.
2008-11-16 01:22:20 +00:00
Rodrigo Braz Monteiro 1f1261c997 A little more athenasub refactoring.
Originally committed to SVN as r2461.
2008-11-16 01:02:34 +00:00
Rodrigo Braz Monteiro 9280b56e34 Some refactoring of Athenasub, mostly related to const correctness.
Originally committed to SVN as r2460.
2008-11-16 00:58:08 +00:00
Rodrigo Braz Monteiro 07a7576547 Test, fixes, etc.
Originally committed to SVN as r2459.
2008-11-15 04:33:22 +00:00
Rodrigo Braz Monteiro 86500452ae Set SVN properties
Originally committed to SVN as r2458.
2008-11-15 04:00:26 +00:00
Rodrigo Braz Monteiro 4e00a692be Fixes for Athenasub and new tests.
Originally committed to SVN as r2457.
2008-11-15 03:55:58 +00:00
Rodrigo Braz Monteiro 99513b7c27 2.1.4 installer.
Originally committed to SVN as r2456.
2008-11-15 03:55:07 +00:00
Rodrigo Braz Monteiro af8d6c6250 Changed version number.
Originally committed to SVN as r2455.
2008-11-14 01:37:55 +00:00
Rodrigo Braz Monteiro 00383d8094 Apparently I changed the project or something.
Originally committed to SVN as r2454.
2008-11-14 01:22:23 +00:00
Rodrigo Braz Monteiro e11bd3f659 Optimized the audio display redraw.
Originally committed to SVN as r2453.
2008-11-14 01:21:17 +00:00
Rodrigo Braz Monteiro b310869224 Optimized file reading.
Originally committed to SVN as r2452.
2008-11-13 02:23:46 +00:00
Rodrigo Braz Monteiro 445452e6d3 Optimizations, fixes, yadda yadda
Originally committed to SVN as r2451.
2008-11-13 02:13:48 +00:00
Rodrigo Braz Monteiro 7a9c85d577 Originally committed to SVN as r2450. 2008-11-11 04:10:20 +00:00
Rodrigo Braz Monteiro d8a85d0118 Lots of fixes to athenasub, and more test cases.
Originally committed to SVN as r2449.
2008-11-11 03:54:20 +00:00
Rodrigo Braz Monteiro 5eb31ebae0 More unit tests.
Originally committed to SVN as r2448.
2008-11-10 03:37:15 +00:00
Rodrigo Braz Monteiro a00c676787 More fixes and test cases for Athenasub::Time
Originally committed to SVN as r2447.
2008-11-10 02:34:16 +00:00
Rodrigo Braz Monteiro c242064d36 Fixed athenatime's parse and updated test cases.
Originally committed to SVN as r2446.
2008-11-10 02:02:43 +00:00
Rodrigo Braz Monteiro c029e5aac8 Tweaking time class.
Originally committed to SVN as r2445.
2008-11-10 01:57:33 +00:00
Rodrigo Braz Monteiro 5812315d85 Cleaning up Athenasub.
Originally committed to SVN as r2444.
2008-11-10 01:26:25 +00:00
Rodrigo Braz Monteiro b03c247b60 Moved aegilib to athenasub
Originally committed to SVN as r2443.
2008-11-10 01:24:30 +00:00
Rodrigo Braz Monteiro 0788a45b3e Originally committed to SVN as r2442. 2008-11-10 01:23:45 +00:00
Rodrigo Braz Monteiro 33583d3aaa Moved time-related methods to athenatime.cpp
Originally committed to SVN as r2441.
2008-11-10 01:06:47 +00:00
Rodrigo Braz Monteiro 410acd74ef Added some early test cases.
Originally committed to SVN as r2440.
2008-11-10 00:47:24 +00:00
Rodrigo Braz Monteiro 79c101648c Added unit testing folder.
Originally committed to SVN as r2439.
2008-11-09 23:44:39 +00:00
Rodrigo Braz Monteiro 5ead3d4230 Fixed a bug related to resizing the audio display, that caused the video display to stretch, ruining its aspect ratio.
Originally committed to SVN as r2438.
2008-11-09 23:08:44 +00:00
Rodrigo Braz Monteiro 3496022b15 More fixes for athenasub.
Originally committed to SVN as r2437.
2008-11-09 23:08:22 +00:00
Rodrigo Braz Monteiro b81c534aab Finished basic implementation of Athenasub::String.
Originally committed to SVN as r2436.
2008-11-09 18:48:37 +00:00
Rodrigo Braz Monteiro 8a31cdfa07 Updated installer.
Originally committed to SVN as r2435.
2008-11-09 01:19:46 +00:00
Rodrigo Braz Monteiro e86af6f7f7 Originally committed to SVN as r2434. 2008-11-09 01:19:17 +00:00
Rodrigo Braz Monteiro 780e3b566c Fixed fonts collector and translation dialogue syntax highlighting.
Originally committed to SVN as r2433.
2008-11-09 01:18:15 +00:00
Rodrigo Braz Monteiro db121de7b6 Originally committed to SVN as r2432. 2008-11-08 22:07:23 +00:00
Karl Blomster 2b21082a1f updated hungarian translation by Yuri
Originally committed to SVN as r2431.
2008-10-31 17:35:05 +00:00
Rodrigo Braz Monteiro ab62ccf652 Updated installer for 2.1.3.
Originally committed to SVN as r2430.
2008-10-29 00:53:10 +00:00
Rodrigo Braz Monteiro f46200a3b6 A few more tweaks to progress dialog.
Originally committed to SVN as r2429.
2008-10-29 00:18:13 +00:00
Rodrigo Braz Monteiro acfb815484 Semi-fix for ffms2
Originally committed to SVN as r2428.
2008-10-28 04:39:10 +00:00
Rodrigo Braz Monteiro 453f3ad816 Originally committed to SVN as r2427. 2008-10-28 04:24:45 +00:00
Rodrigo Braz Monteiro 61dc57d0e1 Fixed progress dialog and ffmpegsource providers.
Originally committed to SVN as r2426.
2008-10-28 04:03:29 +00:00
Amar Takhar 2b13dfbb43 Add support for FFmpegSource2, it's enabled by default if libpostproc is there.
Originally committed to SVN as r2425.
2008-10-28 02:18:14 +00:00
Karl Blomster 94975c6869 ignore error if the ffms index file can't be written
Originally committed to SVN as r2424.
2008-10-28 01:39:42 +00:00
Rodrigo Braz Monteiro fec27a1c6c Updated installer
Originally committed to SVN as r2423.
2008-10-28 01:06:51 +00:00
Rodrigo Braz Monteiro 81a921ba33 Catalan and spanish translations updated with new template.
Originally committed to SVN as r2422.
2008-10-28 00:54:25 +00:00
Rodrigo Braz Monteiro ff90f0ea18 Updated translation template and pt_BR.
Originally committed to SVN as r2421.
2008-10-28 00:46:16 +00:00
Rodrigo Braz Monteiro fdc7d2fd93 Updated about dialog and options.
Originally committed to SVN as r2420.
2008-10-28 00:08:52 +00:00
Rodrigo Braz Monteiro 213d68ec2e Updated VC2008 project.
Originally committed to SVN as r2418.
2008-10-27 22:34:53 +00:00
Rodrigo Braz Monteiro 4815c6fd34 Updated version number.
Originally committed to SVN as r2417.
2008-10-27 22:34:36 +00:00
Rodrigo Braz Monteiro 8ccb37d3db Removed distinction between normal and recommended video formats.
Originally committed to SVN as r2416.
2008-10-26 19:18:52 +00:00
Niels Martin Hansen d291871460 Revert r2210 and r2201 because those fixes to DSound player seemed to just make things more unstable.
A complete rewrite of the DSound player might follow later.

Originally committed to SVN as r2415.
2008-10-22 22:31:43 +00:00
Karl Blomster fd9f2d5465 update ffms2.lib again
Originally committed to SVN as r2414.
2008-10-12 18:56:46 +00:00
Karl Blomster 6dd79d7441 fix an oddness with the "insert before" function. patch by Harukalover.
Originally committed to SVN as r2413.
2008-10-11 13:28:29 +00:00
Karl Blomster 2d49a1e833 we don't need to #include lavc_file.h twice
Originally committed to SVN as r2412.
2008-10-10 15:30:28 +00:00
Niels Martin Hansen 904ef6b07e Fix bug with $x/$lx/$sx and others definition time.
Originally committed to SVN as r2411.
2008-10-06 00:46:34 +00:00
Fredrik Mellbin 7720092e79 FFmpegSource2: beta 3 mockumentation update
Originally committed to SVN as r2410.
2008-10-02 18:17:11 +00:00
Fredrik Mellbin 443d57e5c2 FFmpegSource2: fix indexing memory leak
Originally committed to SVN as r2409.
2008-10-02 18:04:22 +00:00
Karl Blomster fd8a7750c7 Update ffms2 providers to work with latest ffms2 API. Also fixes a few error messages.
Originally committed to SVN as r2408.
2008-10-01 22:08:28 +00:00
Karl Blomster 4a17de2233 update ffms2.lib after latest API changes
Originally committed to SVN as r2407.
2008-10-01 22:07:00 +00:00
Karl Blomster dc0b6dd9fa ffms2: fix CFR->VFR conversion bug
Originally committed to SVN as r2406.
2008-10-01 21:17:06 +00:00
Fredrik Mellbin 6c571dfe17 todo stuff
Originally committed to SVN as r2405.
2008-10-01 19:29:42 +00:00
Fredrik Mellbin 4683c5a9d0 FFmpegSource2: crash less
Originally committed to SVN as r2404.
2008-10-01 19:07:59 +00:00
Fredrik Mellbin b0137363f6 FFmpegSource2: semi vfr fix
Originally committed to SVN as r2403.
2008-10-01 18:13:12 +00:00
Karl Blomster 965cc7bfe2 updated catalan translation by Ereza.
Originally committed to SVN as r2402.
2008-09-28 21:34:15 +00:00
Karl Blomster d1d52192bf updated spanish translation. by tomman.
Originally committed to SVN as r2401.
2008-09-28 21:18:10 +00:00
Karl Blomster 7c970aa91b whoops, bogus description of define in last commit. also r2400 GET.
Originally committed to SVN as r2400.
2008-09-28 13:06:15 +00:00
Karl Blomster aa539a5e9e add --enable-old-ffmpeg switch to configure; using it changes the includes to use ffmpeg headers from the old locations (ffmpeg/libav*.h).
Originally committed to SVN as r2399.
2008-09-28 13:04:57 +00:00
Karl Blomster 00265d6ec4 change the ffmpeg includes to libav*/*.h for good this time, but you can still define WITH_OLD_FFMPEG to get the old includes.
Originally committed to SVN as r2398.
2008-09-28 13:02:25 +00:00
Karl Blomster dde0214246 change __stdcall to FFMS_CC, should improve portability
Originally committed to SVN as r2397.
2008-09-28 00:52:19 +00:00
Karl Blomster 87b91ea3ec rename ffmpegsource2.lib to ffms2.lib (also updated with latest API changes)
Originally committed to SVN as r2396.
2008-09-28 00:41:45 +00:00
Karl Blomster e247cc290e update ffms2 providers to account for latest API breakage and rename ffmpegsource2.lib to ffms2.lib in setup.cpp
Originally committed to SVN as r2395.
2008-09-28 00:40:37 +00:00
Fredrik Mellbin e99fc62382 FFmpegSource2: forgot some changes
Originally committed to SVN as r2394.
2008-09-27 19:47:39 +00:00
Fredrik Mellbin 19f50659b6 FFmpegSource2: change the api a bit more
Originally committed to SVN as r2393.
2008-09-27 19:05:10 +00:00
Fredrik Mellbin fc878f0027 FFmpegSource2: more audio sourcing
Originally committed to SVN as r2392.
2008-09-27 01:21:57 +00:00
Fredrik Mellbin 7d75796ee1 FFmpegSource2: mockumentation
Originally committed to SVN as r2391.
2008-09-24 16:34:22 +00:00
Karl Blomster a1e144cbfe update ffmsindex with new API functionality
Originally committed to SVN as r2390.
2008-09-24 16:01:03 +00:00
Fredrik Mellbin 770e581ca7 FFmpegSource2: more portability
Originally committed to SVN as r2389.
2008-09-24 14:11:45 +00:00
Karl Blomster a2c5b5778c eol-style native on new files, also add said new files to Makefile.am
Originally committed to SVN as r2388.
2008-09-24 11:27:42 +00:00
Karl Blomster 8ecedcbc2d Update ffms providers to use new and improved FFMS API functionality.
Also moved the indexing function to ffmpegsource_common.cpp.

Originally committed to SVN as r2387.
2008-09-23 23:30:27 +00:00
Karl Blomster 666e250265 update ffms2 loader lib again
Originally committed to SVN as r2386.
2008-09-23 23:29:06 +00:00
Fredrik Mellbin 403fc0dd38 FFmpegSource2: audio indexing bug
Originally committed to SVN as r2385.
2008-09-23 23:08:07 +00:00
Fredrik Mellbin 950c88cf77 FFmpegSource2: more api stuff
Originally committed to SVN as r2384.
2008-09-23 22:00:22 +00:00
Fredrik Mellbin 82810de584 api fixup
Originally committed to SVN as r2383.
2008-09-23 21:56:30 +00:00
Karl Blomster fabcd033b0 ffms2 providers: better error messages
Originally committed to SVN as r2382.
2008-09-23 21:06:11 +00:00
Fredrik Mellbin 328cb5806e FFmpegSource2: fix w64 headers
Originally committed to SVN as r2381.
2008-09-23 20:54:22 +00:00
Karl Blomster 4a94fa334d use wxConvFile for filenames in the ffms providers
Originally committed to SVN as r2380.
2008-09-23 20:28:57 +00:00
Karl Blomster 8107d0c1a9 Add new ffms2 audio provider. Only works with matroska so far, also probably buggy.
Originally committed to SVN as r2379.
2008-09-23 20:02:21 +00:00
Karl Blomster eab0784d77 A few bugfixes to the FFMS2 video provider, also moved some common functions to ffmpegsource_common.cpp/.h in preparation for the FFMS2 audio provider.
Originally committed to SVN as r2378.
2008-09-23 20:01:11 +00:00
Karl Blomster e4177a6d7b update ffms2 loader library
Originally committed to SVN as r2377.
2008-09-23 19:59:49 +00:00
Fredrik Mellbin 3ef79404f2 FFmpegSource2: no more error errors
Originally committed to SVN as r2376.
2008-09-23 19:51:19 +00:00
Fredrik Mellbin 6898afabac FFmpegSource2: no more exceptions
Originally committed to SVN as r2375.
2008-09-23 19:25:34 +00:00
Fredrik Mellbin b013a92923 FFmpegSource2: small fixes
Originally committed to SVN as r2374.
2008-09-23 14:58:39 +00:00
Karl Blomster 9b4f389fb2 ffmpegsource video provider now cleans up after itself properly even if loading the video file failed
Originally committed to SVN as r2373.
2008-09-23 01:19:31 +00:00
Rodrigo Braz Monteiro cc85096bbd Fixed the undo stack.
Originally committed to SVN as r2372.
2008-09-20 21:21:28 +00:00
Fredrik Mellbin c0aa50f958 FFmpegSource2: 64bit fixing
Originally committed to SVN as r2371.
2008-09-20 11:43:29 +00:00
Rodrigo Braz Monteiro cbc6260786 More optimizations!
Originally committed to SVN as r2370.
2008-09-20 06:10:59 +00:00
Rodrigo Braz Monteiro 70e138bbf1 More optimizations.
Originally committed to SVN as r2369.
2008-09-20 03:29:41 +00:00
Rodrigo Braz Monteiro 2baf7bd2c4 Changed how time is dealt with in Athenasub.
Originally committed to SVN as r2368.
2008-09-20 03:04:21 +00:00
Rodrigo Braz Monteiro 1397871e45 More fixes and optimizations.
Originally committed to SVN as r2367.
2008-09-20 01:46:24 +00:00
Fredrik Mellbin bf9f2b50b7 FFmpegSource2: matroska as audio source, first try
Originally committed to SVN as r2366.
2008-09-19 21:35:46 +00:00
Rodrigo Braz Monteiro 5b8ce78d40 Athenasub is operational again, although it now has memory leaks due to cyclical references.
Originally committed to SVN as r2365.
2008-09-19 03:11:23 +00:00
Karl Blomster 743527eeb8 fix a bug in the OpenAL audio player where it would crash if you tried to stop playback by moving the line end marker to before the playback cursor. credits to jfs.
Originally committed to SVN as r2364.
2008-09-18 23:14:12 +00:00
Karl Blomster 0dc49108c4 fixes for building on unix
Originally committed to SVN as r2363.
2008-09-15 19:27:12 +00:00
Fredrik Mellbin 6aea170a2e FFmpegSource2: more portability
Originally committed to SVN as r2362.
2008-09-15 18:50:07 +00:00
Fredrik Mellbin 5c32afddc8 FFmpegSource2: more portability
Originally committed to SVN as r2361.
2008-09-14 21:11:04 +00:00
Fredrik Mellbin b740812951 FFmpegSource2: more portability
Originally committed to SVN as r2360.
2008-09-14 21:01:28 +00:00
Fredrik Mellbin 27bdad5355 FFmpegSource2: more portability
Originally committed to SVN as r2359.
2008-09-14 20:14:59 +00:00
Fredrik Mellbin 791df9275d FFmpegSource2: more portability
Originally committed to SVN as r2358.
2008-09-14 19:53:54 +00:00
Fredrik Mellbin a594e92817 FFmpegSource2: more portability
Originally committed to SVN as r2357.
2008-09-14 19:51:55 +00:00
Fredrik Mellbin 58df7f8a75 FFmpegSource2: more portability
Originally committed to SVN as r2356.
2008-09-14 18:23:04 +00:00
Fredrik Mellbin 78d4c92a89 FFmpegSource2: more portability
Originally committed to SVN as r2355.
2008-09-14 18:21:59 +00:00
Fredrik Mellbin 811483bc7a FFmpegSource2: more portability
Originally committed to SVN as r2354.
2008-09-14 17:45:11 +00:00
Rodrigo Braz Monteiro 14037b8a64 Fixed last patch and updated project.
Originally committed to SVN as r2353.
2008-09-14 15:20:15 +00:00
Rodrigo Braz Monteiro d8c5da67d8 Added support for drawing of \iclip on visual tools, but no button to invert it yet.
Originally committed to SVN as r2352.
2008-09-14 15:17:14 +00:00
Fredrik Mellbin 2cb713baef FFmpegSource2: more portability
Originally committed to SVN as r2351.
2008-09-12 20:41:29 +00:00
Fredrik Mellbin f5e18443de FFmpegSource2: remove pointless includes
Originally committed to SVN as r2350.
2008-09-12 19:40:10 +00:00
Karl Blomster ecfc2b96c3 remove unnecessary ffmsindex.cpp
Originally committed to SVN as r2349.
2008-09-12 17:40:58 +00:00
Karl Blomster eb38d1820f ffms2 indexer: now with less OO
Originally committed to SVN as r2348.
2008-09-12 16:50:21 +00:00
Karl Blomster e13576a2e2 ffms2 indexer: make sure all exceptions are caught
Originally committed to SVN as r2347.
2008-09-12 16:17:56 +00:00
Karl Blomster 5b3cf56687 ffms2 indexer: fix a dumb display bug in the progress updating
Originally committed to SVN as r2346.
2008-09-12 16:15:49 +00:00
Karl Blomster 0838d3afe4 redesign of the ffms2 indexing app
Originally committed to SVN as r2345.
2008-09-12 16:06:57 +00:00
Karl Blomster 28fa817737 wrong include and remember to destroy the index
Originally committed to SVN as r2344.
2008-09-11 23:52:55 +00:00
Karl Blomster c64777e08e FFmpegSource2 indexing commandline application
Originally committed to SVN as r2343.
2008-09-11 23:39:59 +00:00
Niels Martin Hansen e7ed19e55a Add some basic support for Sony's Wave64 format.
Originally committed to SVN as r2342.
2008-09-10 23:02:40 +00:00
Rodrigo Braz Monteiro df3a25129e Fixed project and other stuff for ffmpegsource support.
Originally committed to SVN as r2341.
2008-09-10 22:01:35 +00:00
Karl Blomster 0026ba38ec Fix ffmpegsource video provider to no longer depend on ffmpeg directly, everything is now done by API calls to the ffmpegsource DLL.
Originally committed to SVN as r2340.
2008-09-10 21:05:54 +00:00
Niels Martin Hansen d92efd1f54 Work around bug #772, v1 timecodes files with overlapping or out of order ranges caused weird behaviour. Now those files are simply rejected.
Originally committed to SVN as r2339.
2008-09-10 20:52:51 +00:00
Fredrik Mellbin a631b76684 FFmpegSource2: change the api because of an odd ffmpeg bug
Originally committed to SVN as r2338.
2008-09-10 20:49:05 +00:00
Niels Martin Hansen e737471043 Implement aegisub.video_size() function in Automation 4 Lua. Returns nil if no video is loaded, otherwise returns xres,yres,ar,artype.
Originally committed to SVN as r2337.
2008-09-10 16:53:23 +00:00
Niels Martin Hansen 30a0b7e82b Add support for new override tags: \iclip \fax \fay \xshad \yshad \xbord \ybord \blur
Support redefined override tags: \move (float-pos) \pos (float-pos) \be (variable)
Make visual typesetting understand inverse clips and edit them correctly.
Make vector clip visual tool able to convert a rectangular clip to a vector clip.
What's missing: Proper rendering of inverse vector clips in visual tool overlay.

Originally committed to SVN as r2336.
2008-09-10 16:13:54 +00:00
Niels Martin Hansen aca234ebcc Fix bugs #775 and #776, missing initialisation of controls in Auto4 Lua dialogues. (Untested.)
Originally committed to SVN as r2335.
2008-09-10 14:56:29 +00:00
Niels Martin Hansen f89b9d6c43 Fix incorrect type for Windows x64 builds.
Originally committed to SVN as r2334.
2008-09-10 14:45:46 +00:00
Fredrik Mellbin 9bc1f9b4d7 FFmpegSource2: the mandatory fixing
Originally committed to SVN as r2333.
2008-09-09 22:03:42 +00:00
Fredrik Mellbin 3338b6471b FFmpegSource2: set output cs and resolution
Originally committed to SVN as r2332.
2008-09-09 20:49:59 +00:00
Fredrik Mellbin 54dd632542 FFmpegSource2: apply dewindowsification patches
Originally committed to SVN as r2331.
2008-09-08 16:11:09 +00:00
Karl Blomster e702d9edca fixed the ffmpegsource indexing progress dialog to work with files larger than 4gb.
Originally committed to SVN as r2330.
2008-09-07 19:15:12 +00:00
Karl Blomster ff6876b412 Fix a crash when using detached video and pressing the up/down arrows with the video slider selected. Patch by ai-chan.
Originally committed to SVN as r2329.
2008-09-07 03:22:35 +00:00
Fredrik Mellbin 3d0855e619 FFmpegSource2: fix the last memory leaks
Originally committed to SVN as r2328.
2008-09-06 20:05:29 +00:00
Karl Blomster 91e1fb7f06 Fix a crash when importing styles with names identical to ones existing on the script but with different case (they are now overwritten properly). Special thanks to ai-chan.
Originally committed to SVN as r2327.
2008-09-06 11:35:36 +00:00
Karl Blomster dafc9dfe73 fix a crash when saving screenshots with a non-english locale set. patch by Manta.
Originally committed to SVN as r2326.
2008-09-06 09:33:14 +00:00
Karl Blomster 02ce1e72df missed one line when removing the useless stuff
Originally committed to SVN as r2325.
2008-09-06 02:57:09 +00:00
Karl Blomster c72cb5f505 kill another useless cast
Originally committed to SVN as r2324.
2008-09-06 02:54:22 +00:00
Karl Blomster 0add56bfa0 remove some useless casts
Originally committed to SVN as r2323.
2008-09-06 02:50:20 +00:00
Karl Blomster 728b0d0a93 cleanup of unused and useless code in video_provider_lavc.cpp
Originally committed to SVN as r2322.
2008-09-06 02:49:58 +00:00
Karl Blomster df3512e8eb add video_provider_ffmpegsource.cpp to Makefile.am
Originally committed to SVN as r2321.
2008-09-05 19:07:31 +00:00
Karl Blomster 82059cbfe2 add some support for sample formats other than 16-bit int to the lavc audio provider. untested and will probably break spectacularly.
Originally committed to SVN as r2320.
2008-09-05 12:55:45 +00:00
Karl Blomster c28b96b502 add decoding threads option for the ffmpegsource video provider
Originally committed to SVN as r2319.
2008-09-05 12:53:57 +00:00
Karl Blomster 1655f97a59 add a progress dialog to the ffmpegsource video provider's indexing process
Originally committed to SVN as r2318.
2008-09-04 22:17:34 +00:00
Fredrik Mellbin 7fb0d975bd FFmpegSource2: fix the progress callback
Originally committed to SVN as r2317.
2008-09-04 21:40:57 +00:00
Karl Blomster 5acd3b2534 revert back to including ffmpeg/libav*.h
Originally committed to SVN as r2316.
2008-09-04 18:26:15 +00:00
Fredrik Mellbin 19f9172d64 FFmpegSource2: fix lots of memory leaks, improve the api, add a progress callback
Originally committed to SVN as r2315.
2008-09-03 22:26:27 +00:00
Karl Blomster b2153dd6cf add option for ffmpegsource thread count and seek mode
Originally committed to SVN as r2314.
2008-09-03 21:22:33 +00:00
Karl Blomster 3e13ef206f fix vfr handling for the ffmpegsource video provider, entire thing should be considered working now
Originally committed to SVN as r2313.
2008-09-03 21:03:18 +00:00
Karl Blomster 98341f62be add vfr handling (broken) and keyframe reading (works) to the ffmpegsource video provider
Originally committed to SVN as r2312.
2008-09-03 20:27:50 +00:00
Fredrik Mellbin 1ffa0a95a1 FFmpegSource2: add a missing fourcc & fix a matroska access violation
Originally committed to SVN as r2311.
2008-09-03 19:22:34 +00:00
Karl Blomster d8c8d47e4c new video provider: ffmpegsource
Originally committed to SVN as r2310.
2008-09-03 17:03:20 +00:00
Fredrik Mellbin 6e6d85df7c FFmpegSource2: add missing api parts
Originally committed to SVN as r2309.
2008-09-02 19:48:22 +00:00
Fredrik Mellbin 93b13387f2 FFmpegSource2: fix ffmpeg init some more
Originally committed to SVN as r2308.
2008-09-01 23:20:28 +00:00
Fredrik Mellbin 8f663c2336 FFmpegSource2: fix ffmpeg init
Originally committed to SVN as r2307.
2008-09-01 23:18:50 +00:00
Fredrik Mellbin c4af6ea13d FFmpegSource2
Originally committed to SVN as r2306.
2008-09-01 21:16:13 +00:00
Fredrik Mellbin 287c316b49 FFmpegSource 1.21
Originally committed to SVN as r2305.
2008-08-21 17:09:42 +00:00
Karl Blomster bf931df635 fix retarded breakage in previous commit.
Originally committed to SVN as r2304.
2008-08-14 23:49:11 +00:00
Karl Blomster d1c62c1324 Fix crash on playing video without audio loaded when using the ffmpeg providers. Patch by Manta with minor modifications by me.
Originally committed to SVN as r2303.
2008-08-14 16:10:31 +00:00
Karl Blomster 620cf44c46 sourced some error messages in the lavc video provider
Originally committed to SVN as r2302.
2008-08-14 16:06:04 +00:00
Niels Martin Hansen 8129285630 Fix #759, correctly merge lines with identical text when exporting to simple subtitle formats.
Originally committed to SVN as r2301.
2008-08-11 00:02:36 +00:00
Niels Martin Hansen 2928449ecc Add some missing files to VC 2005 project.
Originally committed to SVN as r2300.
2008-08-11 00:00:34 +00:00
Rodrigo Braz Monteiro 6ca9ac3f3a Originally committed to SVN as r2299. 2008-08-09 23:01:39 +00:00
Rodrigo Braz Monteiro b828b4a6ae Originally committed to SVN as r2298. 2008-08-09 20:43:27 +00:00
Karl Blomster 5b38a17529 replace a bunch of magic numbers (2) with bytes_per_sample
Originally committed to SVN as r2297.
2008-08-04 08:17:35 +00:00
Karl Blomster 217c228738 misc small fixes in the ffmpeg audio provider, preparation for support of other sample formats than just 16-bit int
Originally committed to SVN as r2296.
2008-08-04 07:13:41 +00:00
Amar Takhar 9826d5bd58 Set GETTEXT_PACKAGE to 'aegisub' from 'aegisub21', I want to handle this
a better way but for now the old way is just fine.  Bug #761

Originally committed to SVN as r2295.
2008-08-04 03:05:07 +00:00
Karl Blomster bc675ea7dd explicitly tell swscaler which scaling method to use (required by newer ffmpeg versions; no actual scaling is done, only colorspace conversion)
Originally committed to SVN as r2294.
2008-08-03 16:52:54 +00:00
Rodrigo Braz Monteiro f0f1f7fb72 Completely broke Athenasub (WIP)
Originally committed to SVN as r2293.
2008-08-03 16:17:35 +00:00
Rodrigo Braz Monteiro 29ed35de5c Updated projects to include /MP, and some changes to Athenasub.
Originally committed to SVN as r2292.
2008-07-27 21:24:38 +00:00
Rodrigo Braz Monteiro e019c333d9 Changed Athenasub's API (WIP) and updated projects.
Originally committed to SVN as r2291.
2008-07-27 18:26:36 +00:00
Rodrigo Braz Monteiro 15369e7545 Updated MSVC project files.
Originally committed to SVN as r2290.
2008-07-27 04:28:15 +00:00
Karl Blomster ba4533c89e updated the aegisub.pot file. very few changes, three or four new strings and a few that changed places.
Originally committed to SVN as r2289.
2008-07-26 13:45:39 +00:00
Niels Martin Hansen 65990cc0eb Update patch files as far as possible. Not everything is properly included.
csriapi.cpp is removed since the version a one dir up is the correct one, this one wasn't maintained.
These patch files were used as base for porting the patches to guliverkli2.

Originally committed to SVN as r2288.
2008-07-25 19:33:55 +00:00
Niels Martin Hansen b5144d09a1 Add vector clip support to \iclip()
Originally committed to SVN as r2287.
2008-07-25 02:29:29 +00:00
Niels Martin Hansen 0e6dd47bf0 Implement \iclip (inverse rectangular clip)
Originally committed to SVN as r2286.
2008-07-25 01:33:32 +00:00
Niels Martin Hansen 94d3185170 Somewhat better workaround for \fad uglyness bug.
No more seams between border and fill when fill alpha is zero, though they still appear when fill alpha is nonzero.
It's either seams or ugly fades.

Originally committed to SVN as r2285.
2008-07-25 00:37:06 +00:00
Niels Martin Hansen ea79951788 Added \blur tag for real gaussian blur. Blurs the same things as \be, except in a prettier way.
It is possible to combine the two, although it'd be mostly pointless.

Originally committed to SVN as r2284.
2008-07-24 02:41:53 +00:00
Niels Martin Hansen 316f1afb6e Optimise safe_subtract to avoid conditionals.
Originally committed to SVN as r2283.
2008-07-24 00:10:43 +00:00
Niels Martin Hansen 582dd39cbd Ensure Rasterizer::mWideBorder is initialized such that memory allocation in Rasterizer::Rasterize() doesn't go crazy. Also fix brainfart causing \xbord0\ybord<nonzero> to draw no border.
Originally committed to SVN as r2282.
2008-07-23 21:33:03 +00:00
Niels Martin Hansen 4e456b1abb Changes to CSRI API and project file to ease debugging.
Originally committed to SVN as r2281.
2008-07-23 20:25:52 +00:00
Niels Martin Hansen 7342c2b617 Fix search/replace deleting part of line following the last match on that line. Also a minor optimisation.
Originally committed to SVN as r2280.
2008-07-23 16:09:27 +00:00
Niels Martin Hansen 5d3b1fe8c2 Enable variable strength 'blur edges' effect, using other values than 1 to \be, like \be20. Also allow putting \be inside \t for animating the blur effect.
The parameter is the number of passes of blur to perform.

Originally committed to SVN as r2279.
2008-07-22 23:38:22 +00:00
Niels Martin Hansen 13654219c2 Implemented four new tags: \xbord \ybord \xshad \yshad
Allows setting the border in X and Y direction separately, and the shadow displacement in X and Y direction separately.
The \xshad and \yshad tags also allow negative shadow displacement values. Negative shadow is still not allowed in any of the traditional locations.

Originally committed to SVN as r2278.
2008-07-22 21:42:36 +00:00
Niels Martin Hansen c3c29518d4 Untested patch: Remove all traces of the update checker from non-Windows builds, since it causes more problems than it solves on those.
Originally committed to SVN as r2277.
2008-07-22 20:55:24 +00:00
Niels Martin Hansen c54cf755ac Fix "ugly fades" bug. The border colour was rendered behind the fill colour unless both primary and secondary alpha were non-zero. The \fad and \fade tags both set \alpha rather than \1a \2a \3a \4a, and \alpha is a wholly separate alpha value which wasn't considered at all in this case.
Making it never draw the fill in border colour fixes this and doesn't seem to have any adverse effects.

Originally committed to SVN as r2276.
2008-07-22 18:49:20 +00:00
Niels Martin Hansen e504c61065 Fix rendering bug exposed with \be1, \bord smaller than 1.5 and non-zero fill alpha, causing "stray dots" to appear.
The problem was caused by an integer underflow, the fix involves spending a few more instructions per pixel to avoid that.

Originally committed to SVN as r2275.
2008-07-22 16:21:26 +00:00
Niels Martin Hansen 741476c96d Correct spelling error
Originally committed to SVN as r2274.
2008-07-22 00:33:25 +00:00
Niels Martin Hansen 1a89e75243 Updated logo image for Aegisub blog.
Originally committed to SVN as r2273.
2008-07-21 23:29:28 +00:00
Niels Martin Hansen bdff6d4b67 Adding graphics used for the Aegisub Dev blog header
Originally committed to SVN as r2272.
2008-07-20 23:05:39 +00:00
Niels Martin Hansen 7b110725d1 Oops, r2270 broke the build, missing a backslash in a string.
Originally committed to SVN as r2271.
2008-07-20 13:45:10 +00:00
Niels Martin Hansen 30a9bdc17c Implement/fix #751 and update changelog a bit.
Originally committed to SVN as r2270.
2008-07-20 13:34:42 +00:00
Niels Martin Hansen eb5e8ea8a1 Corrections for TranStation export support. Format written was incorrect (a space placed on the wrong side of a bracket). Also added full support for alignments, and subtracting one frame from end times to avoid overlaps
Originally committed to SVN as r2269.
2008-07-18 21:10:48 +00:00
Niels Martin Hansen 94011adf93 Fix SMPTE timecode formatting, never round frame up to avoid things like frame 30 in a second in a 30 fps movie, where frame numbers go from 0 to 29.
Originally committed to SVN as r2268.
2008-07-18 20:43:07 +00:00
Niels Martin Hansen 270ca4f876 Rewrite recombining of overlapping lines for export to simple subtitle formats, and reorganisation of other functions also used in those exports
Originally committed to SVN as r2267.
2008-07-18 15:39:34 +00:00
Rodrigo Braz Monteiro 2d7b2527a7 OMFG AMZ IS ALIVE! Partial TranStation export support (SMPTE drop-frames seem to be broken, and line merging isn't working)
Originally committed to SVN as r2266.
2008-07-18 01:36:20 +00:00
Karl Blomster 0badb4059f Restructured audio providing a bit. If a provider cannot provide 16-bit mono audio with a sample rate higher than 32kHz, an intermediate converting provider will be inserted to fix it. Made the lavc audio provider rely on this for downmixing instead of doing it with libavcodec (used to fail on audio with >2 channels).
Originally committed to SVN as r2265.
2008-07-16 13:22:06 +00:00
Niels Martin Hansen 2bd33541c1 Fix #745 by explicitly setting the font name combo box value after filling it
Originally committed to SVN as r2264.
2008-07-16 12:10:00 +00:00
Niels Martin Hansen 624eb825a7 Fix #746, style editor now shows initial values in spin controls
Originally committed to SVN as r2263.
2008-07-16 11:30:53 +00:00
Niels Martin Hansen dfa3e548a0 Fix colour picker buttons in style editor by making AssColor::GetWXColor() aware that alpha has the opposite meaning in wxColour and ASS
Originally committed to SVN as r2262.
2008-07-16 01:41:33 +00:00
Niels Martin Hansen 27e35e9434 Fix current colour display in colour picker dialogue
Originally committed to SVN as r2261.
2008-07-16 01:36:38 +00:00
Niels Martin Hansen 9c51d15a99 Fix recent colours box in colour picker on Mac
Originally committed to SVN as r2260.
2008-07-16 01:29:36 +00:00
Karl Blomster e8dffb60ec add audio_provider_downmix.cpp to Makefile.am
Originally committed to SVN as r2259.
2008-07-15 22:49:02 +00:00
Karl Blomster 6bec0322e4 split out the downmixing audio provider into its own .h/.cpp, in preparation for using it in the ffmpeg audio provider.
Originally committed to SVN as r2257.
2008-07-15 21:31:09 +00:00
Niels Martin Hansen d120a4758b Fix bug #742 and possibly also #465. Needs testing on non-Mac platforms to see if there's visual glitches with video visual typesetting toolbar.
Originally committed to SVN as r2256.
2008-07-15 17:49:15 +00:00
Karl Blomster a836b89476 cosmetics and cleanup of unused code in video_provider_lavc.cpp
Originally committed to SVN as r2255.
2008-07-15 14:35:22 +00:00
Karl Blomster 904873f0d9 added option to allow potentially unsafe seeking with the ffmpeg video provider. named "ffmpeg allow unsafe seeking" and defaults to false.
Originally committed to SVN as r2254.
2008-07-15 14:24:00 +00:00
Karl Blomster cdb2227024 unbroke compilation of the directshow video provider, broke with last commit. Patch by Harukalover.
Originally committed to SVN as r2253.
2008-07-15 12:44:53 +00:00
Karl Blomster 893ff2f78a Major rewrite of the video providing system. Hilights:
- It is now the responsibility of each video provider to provide a list of keyframe positions and (if it can) timecodes.
- The ffmpeg video provider now indexes files before opening them and does no longer rely on stream->duration to determine the number of frames. Fixes opening of MKV files, but it does not (currently) open timecodes automatically and reported keyframe positions seem way off. Status of frame-accuracy with MKV files unknown but it may very well work.
- Modified the way the ffmpeg video provider seeks (inspired by code from Myrsloik's ffmpegsource). Should no longer lose the first frame and should also no longer be frame-inaccurate, at least not with AVI.
- DirectShow video provider may or may not be completely broken, not tested.

Originally committed to SVN as r2252.
2008-07-15 00:08:05 +00:00
Karl Blomster 7e2b6afdf1 typo fix (patch by Harukalover)
Originally committed to SVN as r2251.
2008-07-14 22:56:49 +00:00
Karl Blomster 51ee9dfdf9 add a few files to the VS2008 project file (patch by Harukalover)
Originally committed to SVN as r2250.
2008-07-14 22:44:10 +00:00
Karl Blomster 11f316c180 cosmetics and minor adjustments to ffmpeg keyframe reader
Originally committed to SVN as r2249.
2008-07-14 00:07:21 +00:00
Karl Blomster 32f7a53a68 vastly improved keyframe reading with ffmpeg, should be much faster and more reliable.
Originally committed to SVN as r2248.
2008-07-13 23:45:42 +00:00
Amar Takhar ab0d5377e8 Add wxGLContext to the wxWdiget OpenGL 'check'.
Originally committed to SVN as r2247.
2008-07-13 18:42:48 +00:00
Niels Martin Hansen 32cc996ce6 Harukalover's patch for bug #740
Originally committed to SVN as r2246.
2008-07-13 15:06:29 +00:00
Niels Martin Hansen d1d2fe5e99 Documentation on how I imagine the fonts interface for OverLua can work. No code yet.
Originally committed to SVN as r2245.
2008-07-11 02:00:04 +00:00
Karl Blomster 46a6924531 added support for DivX (6.x and possibly 5.x) and x264 2-pass stats file to keyframe reader.
patch by Harukalover, see bugtracker issue #736.

Originally committed to SVN as r2244.
2008-07-09 16:48:19 +00:00
Amar Takhar 25ece3ab55 sigh, swap || for &&.
Originally committed to SVN as r2243.
2008-07-05 18:51:30 +00:00
Amar Takhar ef481e8045 GLU is included with -framework OpenGL, avoid the failure message if
$build_darwin is set.

Originally committed to SVN as r2242.
2008-07-05 18:48:29 +00:00
Karl Blomster c4285b87fd revert r2240 changes to configure.in
Originally committed to SVN as r2241.
2008-07-05 13:01:39 +00:00
Niels Martin Hansen 923b347356 Some more checking in PCM provider. Had apparently missed a way EnsureRangeAceesibleble() could fail. This means of failure should no longer be possible.
Originally committed to SVN as r2240.
2008-07-05 12:50:49 +00:00
Karl Blomster 51c9856160 clarified downmixing error in ffmpeg audio provider
Originally committed to SVN as r2239.
2008-07-05 11:29:42 +00:00
Niels Martin Hansen 484a179798 Forgot to change the include guard when renaming the file, so <endian.h> defined _ENDIAN_H on some systems and thus aegisub_endian.h had no effect.
Originally committed to SVN as r2238.
2008-07-04 12:36:10 +00:00
Niels Martin Hansen 3d13fcfe5f Fix some minor warnings when building on GCC.
Originally committed to SVN as r2237.
2008-07-04 12:34:02 +00:00
Karl Blomster e26b9fe0d5 overhaul of audio_provider_lavc.cpp. should fix the infamous skewing issue, tested and works on windows at least.
Originally committed to SVN as r2236.
2008-07-04 12:04:10 +00:00
Niels Martin Hansen d01b4ec3e9 Yet some more sanity/error checking, although it should never be triggered.
Originally committed to SVN as r2235.
2008-07-04 11:59:28 +00:00
Niels Martin Hansen 0d56463aa4 A bit additional commenting and sanity checking in PCM provider.
Originally committed to SVN as r2234.
2008-07-04 11:37:45 +00:00
Karl Blomster a1574d0a5f milisecond -> millisecond (patch by harukalover)
Originally committed to SVN as r2233.
2008-07-04 03:40:57 +00:00
Niels Martin Hansen 155388b456 Add secret option to disable use of the PCM provider, mainly intended for debugging: "Audio Disable PCM Provider" (default is false ie. PCM provider enabled)
Originally committed to SVN as r2232.
2008-07-04 03:24:25 +00:00
Niels Martin Hansen 2c7da25e91 Avoid strncmp() for checking fourCC codes and use a handcrafted function for it instead. Also add some assertions for null pointer checks.
Originally committed to SVN as r2231.
2008-07-04 03:06:55 +00:00
Niels Martin Hansen a4fc3e8b13 Use compiler-specific defines when building universal for OS X to detect correct endianness and avoid using dynamic endian code for no reason.
Originally committed to SVN as r2230.
2008-07-04 01:05:16 +00:00
Amar Takhar d14d6b4b36 use the AC_C_BIGENDIAN macro to set HAVE_BIG_ENDIAN, HAVE_LITTLE_ENDIAN,
HAVE_DYNAMIC_ENDIAN and HAVE_UNIVERSAL_ENDIAN (universal binaries for the mac).$
The default is to use HAVE_DYNAMIC_ENDIAN in the code if it is not BIG or
LITTLE, HAVE_UNIVERSAL_ENDIAN is added only for clarity in config.h.

Originally committed to SVN as r2229.
2008-07-04 00:41:28 +00:00
Karl Blomster 075bc5ec75 revert r2216 (changes to the libav* includes)
Originally committed to SVN as r2228.
2008-07-04 00:20:14 +00:00
Niels Martin Hansen 5c2e749421 Forgot to inline the dynamic endian code.
Originally committed to SVN as r2227.
2008-07-03 23:38:44 +00:00
Karl Blomster 910ff2e34e the "impossible" audio error is now really impossible
Originally committed to SVN as r2226.
2008-07-03 23:27:06 +00:00
Niels Martin Hansen 0fbe0a001f Don't use uint32_t in functions working on uint64_t, shifting uint32_t by 56 bits causes evil compiler warnings. On some compilers!
Originally committed to SVN as r2225.
2008-07-03 23:24:47 +00:00
Karl Blomster d6ada6f0bd black magic for building with ffmpeg on windows
Originally committed to SVN as r2224.
2008-07-03 15:22:25 +00:00
Niels Martin Hansen d1b8355ff2 Rename endian.h to aegisub_endian.h to avoid clash with system headers on some systems.
Originally committed to SVN as r2223.
2008-07-03 13:35:23 +00:00
Niels Martin Hansen a7b64fe694 Make PCM WAV reading (almost) machine endian neutral. The actual sample data read are still assumed to be in machine endian, which will produce garbage output on big endian archs.
Originally committed to SVN as r2222.
2008-07-03 02:22:18 +00:00
Niels Martin Hansen 8384e83e71 Add functions to address endianness problems.
The configure.in script should be adjusted to define appropriate preprocessor tokens. Windows developers should update their config.h.

Originally committed to SVN as r2221.
2008-07-03 01:56:26 +00:00
Niels Martin Hansen 67bfd70f82 Add a function to remove items from MRU lists, in preparation for a fix for #717. Also a bit of prettyfication of the MRU handling code.
Originally committed to SVN as r2220.
2008-07-03 01:53:22 +00:00
Niels Martin Hansen 5a2e91c00a Updated Windows icon to re-made version. The 256x256 version is left uncompressed to be compatible with older RC.exe versions.
Originally committed to SVN as r2219.
2008-07-03 00:04:51 +00:00
Niels Martin Hansen 59b5007b98 Source and pre-rendered of new icon
Originally committed to SVN as r2218.
2008-07-02 16:56:12 +00:00
Niels Martin Hansen c7ab7c8104 Updated OS X icon, now also with 512x512 size
Originally committed to SVN as r2217.
2008-07-02 16:52:25 +00:00
Karl Blomster 40c709da72 change of #includes: <ffmpeg/*> to <libavstuff/*>
Originally committed to SVN as r2216.
2008-07-02 16:31:06 +00:00
Niels Martin Hansen 3599e6edd1 Further fixing on-crash message: s/We have tried/I have tried/
Originally committed to SVN as r2215.
2008-07-02 13:50:18 +00:00
Niels Martin Hansen 8217f202e7 Rewritten on-crash messages, hopefully easier to understand and act on now.
Untested, because I can't find a reliable way to crash Aegisub currently.

Originally committed to SVN as r2214.
2008-07-02 13:42:34 +00:00
Niels Martin Hansen ddaf85f650 s/Audio Providers/Audio Players/
Originally committed to SVN as r2213.
2008-06-29 18:56:46 +00:00
Niels Martin Hansen f5ded43d51 Applied Harukalover's patch for remembering last subtitle open directory also for files opened from commandline or drag/drop, bug #722.
Originally committed to SVN as r2212.
2008-06-24 20:31:23 +00:00
Alysson Souza 79cb1f1bd9 Applied Harukalover's patch - Added an effect field to find and search and replace dialogs
Originally committed to SVN as r2211.
2008-06-24 03:22:46 +00:00
Niels Martin Hansen 5330c541ca Possible fix for #719
Originally committed to SVN as r2210.
2008-06-21 21:13:00 +00:00
Niels Martin Hansen 36f19a9d42 Fix #688 by moving the time display one line down when in karaoke mode.
Originally committed to SVN as r2209.
2008-06-21 18:34:57 +00:00
Niels Martin Hansen 025869468b Fix #704 with a slightly dirty hack.
Originally committed to SVN as r2208.
2008-06-21 17:25:00 +00:00
Amar Takhar f1c89cb4bc Add a check for OpenGLU. bug #720
Originally committed to SVN as r2207.
2008-06-21 16:14:13 +00:00
Amar Takhar a7e8d0e535 Fix the lua(50|51)_disabled variables so it shows up properly in the
configure status block.

Originally committed to SVN as r2206.
2008-06-16 04:50:48 +00:00
Amar Takhar 62f6d8a4c7 Don't install any files from automation/* if no automation support is
available.

Originally committed to SVN as r2205.
2008-06-16 04:45:59 +00:00
Niels Martin Hansen 59a5e8f3b3 Fix #684, I hope. Redid the case-insensitive Replace All algorithm to replace from a Right side into a Left side, also avoiding use of wx 1.x compatibility functions and doing proper case-insensitive compares rather than searching a lowercased string for a lowercased substring.
Originally committed to SVN as r2204.
2008-06-15 17:56:05 +00:00
Amar Takhar b9d8f72838 Remove '2.1' from automationdir, it's a legacy artifact.
Originally committed to SVN as r2203.
2008-06-15 13:36:30 +00:00
Niels Martin Hansen ff081c0ae9 Fix #701, make sure plain-text lines pasted from clipboard are always blank-timed, ie. start and end time are zero.
Originally committed to SVN as r2202.
2008-06-15 13:18:28 +00:00
Niels Martin Hansen 51a16f823e Yet another attempt to fix #521, 'Cannot wait for thread termination' in rare cases with the DirectSound audio player.
Make the playback thread detached so it will kill itself when it has run to end, instead of having to wait for it. This way it is never required to wait for the thread. When the thread has been signalled to stop it is simply abandoned and left to die for itself.

Originally committed to SVN as r2201.
2008-06-15 12:59:49 +00:00
Niels Martin Hansen 324ce7dbff Be explicit about some type conversions in OpenAL audio player to avoid warnings. Fixes #651.
Originally committed to SVN as r2200.
2008-06-15 12:43:56 +00:00
Niels Martin Hansen 1c60d35d16 Fix #695, close Translation Assistant when there are no more lines to translate.
Originally committed to SVN as r2199.
2008-06-15 12:20:51 +00:00
Niels Martin Hansen 6f23c635be Left-dragging the selection start marker in the audio display now only restarts the selection after a threshold defined by the Audio Start Drag Sensitivity option. A commented-out editbox for this value is added to the Options dialogue, it is commented out due to the feature freeze towards 2.2.0.
This should fix #703.

Originally committed to SVN as r2198.
2008-06-15 12:11:04 +00:00
Niels Martin Hansen f3fe600714 Improved error reporting in AVIFile keyframe reading code (#715).
Originally committed to SVN as r2197.
2008-06-14 22:07:48 +00:00
pstatic 5942928b45 fix bug #595, with spell check
Originally committed to SVN as r2196.
2008-06-01 03:44:41 +00:00
Fredrik Mellbin e091763052 FFmpegSource 1.19
Originally committed to SVN as r2195.
2008-05-31 09:16:05 +00:00
pstatic d65b697e12 Add workaround for what looks like a ffmpeg bug
Originally committed to SVN as r2194.
2008-05-21 20:03:39 +00:00
Amar Takhar 74913197fb Set AM_CONDITIONAL(HAVE_FFMPEG) to test for ffmpeg = yes versus ffmpeg != 'no'
which can be touchy.  This really needs a run-through to make sure it's
consistent in the entire script.

Originally committed to SVN as r2193.
2008-05-15 03:06:44 +00:00
Amar Takhar b9e9ab7906 The swscale check was enabling ffmpeg without checking if ffmpeg had been
detected or not.  This reworks how ffmpeg is detected and it is now _disabled_
if swscale does not exist.  Also fix some nearby style issues.

Originally committed to SVN as r2192.
2008-05-14 15:15:52 +00:00
Alysson Souza 4e334cb1d1 oops, forgot to commit hotkeys.cpp
Originally committed to SVN as r2191.
2008-05-09 05:03:40 +00:00
Alysson Souza baf52a3430 Applied Harukalover's patch #2 - Added play audio/video buttons to Styling Assistant
Originally committed to SVN as r2190.
2008-05-09 04:27:10 +00:00
Alysson Souza 0de8190b21 Applied Harukalover's patch #1 - Added play audio/video buttons to Translation Assistant
Originally committed to SVN as r2189.
2008-05-09 03:43:47 +00:00
Amar Takhar 37a50cd97d Fix hunspell run-check, NULL,NULL used to work fine for the aff/dic path in
<1.2 but it segfaults in >1.2.  They've been changed to ".","." which works
fine.

Originally committed to SVN as r2188.
2008-04-25 20:47:13 +00:00
Amar Takhar 86d02ede5e Make hunspell 1.2.0 the default, no sense in supporting the old version.
Originally committed to SVN as r2187.
2008-04-25 04:39:49 +00:00
Amar Takhar ecf30d37d7 Make --without-hunspell work correctly.
Originally committed to SVN as r2186.
2008-04-25 02:28:05 +00:00
Rodrigo Braz Monteiro 8918fb6296 Added a little very specific hacked up tool that isn't enabled unless you modify config.dat.
Originally committed to SVN as r2185.
2008-04-21 16:41:46 +00:00
Amar Takhar 8fa30c8f15 libass update r26303: Case insensitive parsing of SSA/ASS section headers.
Originally committed to SVN as r2184.
2008-04-21 05:47:09 +00:00
Amar Takhar fa125abc3a s/.../../ and s/.././ where required for consistency.
Originally committed to SVN as r2183.
2008-04-20 14:53:59 +00:00
Amar Takhar 03953062c2 Add missing AC_DEFINE for WITH_HUNSPELL, without this hunspell was not being
activated.  I've just verified that it works fine.

Originally committed to SVN as r2182.
2008-04-20 14:52:09 +00:00
Amar Takhar d0de1fe366 s/return;/return 0;/ for the Freetype run-check, bug #700, thank you!
Originally committed to SVN as r2181.
2008-04-14 20:47:22 +00:00
Amar Takhar b012a3149c Freetype/Fontconfig were pushed under two conditionals beacuse on Darwin we use
Freetype to list fonts (it uses native features).  When support for glibc iconv
was added the case broke and set $build_linux, the conditional for the
fontconfig font lister was $build_default which no longer got triggered.  Puts
the font listers under FONTLISTER_(FONTCONFIG|FREETYPE) conditional upon
$build_darwin being no/yes.

Originally committed to SVN as r2180.
2008-04-13 17:44:54 +00:00
Amar Takhar 806ba1eb5a Fix with_csri test, I typoed it without spaces which test requires. This was
forcing CSRI on in every condition.

Originally committed to SVN as r2179.
2008-04-13 17:00:23 +00:00
Amar Takhar dc404a954e Add UNIX (and with luck, OS X) support to assdraw. This (unfortunatly)
includes propgrid, the build system for propgrid is brutal rather than fend of
users trying to build it themselves it's worth it to just include it with
assdraw for now.

Originally committed to SVN as r2177.
2008-04-13 06:57:09 +00:00
Amar Takhar 4966c21cc8 Fix alignment of --help messages.
Originally committed to SVN as r2176.
2008-04-13 05:55:40 +00:00
Amar Takhar 870b2cf2e7 Fix --enable-wx-styledtextctrl,--enable-wx-opengl and rename them to
--disable-check-wx-stc / --disable-check-wx-opengl which makes more sense.

Originally committed to SVN as r2175.
2008-04-13 05:52:24 +00:00
Amar Takhar aa7cc5a2dc Add support for CSRI (ASA), this has been tested and confirmed as working.
Compiling libass/asa in at the same time is OK.

Originally committed to SVN as r2174.
2008-04-13 05:10:27 +00:00
Amar Takhar 0734c81d9e Whoops, re-add nuked } after 'extern "C" {' that got removed when the __WINDOWS__ wrap
was removed.

Originally committed to SVN as r2173.
2008-04-13 04:47:33 +00:00
Amar Takhar a2d584c115 Add missing 'test' before iconv linux check.
Originally committed to SVN as r2172.
2008-04-11 16:13:08 +00:00
Amar Takhar b19daec0ae Move iconv out of the libass check block and under 'program features' (in
preperation for asa support which requires iconv as well.)

Originally committed to SVN as r2171.
2008-04-11 15:17:00 +00:00
Amar Takhar 041820e259 Remove -liconv from the default LDFLAGS if we're building on linux, since iconv
support is built-in.  If this ever causes an issue between glibc and iconv
support I'll add a warning.

Originally committed to SVN as r2170.
2008-04-10 16:15:26 +00:00
Amar Takhar 0607976605 Remove the __WINDOWS__ around 'include "../libass/ass.h"', I didn't notice this
on my system since I have ass/ass.h in /usr/local/include.  The header hasn't
changed so no damage done, unless you don't have libass installed.

Originally committed to SVN as r2169.
2008-04-06 15:08:43 +00:00
Amar Takhar 016dbfca80 add a missing } in the hunspell run-check (reported by sl1pkn07 via IRC)
Originally committed to SVN as r2168.
2008-04-06 03:12:35 +00:00
Fredrik Mellbin 975c85be7c FFmpegSource 1.18
Originally committed to SVN as r2167.
2008-04-05 09:33:35 +00:00
Fredrik Mellbin f72e6794a3 FFmpegSource 1.17
Originally committed to SVN as r2166.
2008-04-04 22:43:33 +00:00
Amar Takhar c03fc5b447 Switch iconv support to use AC_AGI_COMPILE.
Originally committed to SVN as r2165.
2008-04-01 18:49:01 +00:00
Amar Takhar b38e6582c2 Fix Lua 5.0 (auto3) and Lua 5.1 (auto4) detection to use AC_AGI_COMPILE, Lua 5.1
requires LIBS= to be set to pull the Lua symbols in properly, this is a temp
solution until we move to modules.

Originally committed to SVN as r2164.
2008-04-01 01:56:49 +00:00
Amar Takhar bc0811d4f3 Fix a cut-and-paste-o. (s/LUA50/LUA/)
Originally committed to SVN as r2163.
2008-03-31 19:28:56 +00:00
Niels Martin Hansen 58788ea5ce Change default ALSA output device to something more sensible, namely 'default:0'.
Originally committed to SVN as r2162.
2008-03-31 17:55:21 +00:00
Fredrik Mellbin 0e01a74fb5 fix for h264 with b-frame pyramid stuff
Originally committed to SVN as r2161.
2008-03-30 15:39:02 +00:00
Amar Takhar aaa6d081d3 Fix typo in help message, alignment.
Originally committed to SVN as r2160.
2008-03-30 15:37:12 +00:00
Amar Takhar 7746efa54e * Fix ICONV_CFLAGS / ICONV_LDFLAGS so they're properly propogated during the
build.
* s/ICONV_LIBS/ICONV_LDFLAGS/ to fix the addtion of ICONV_LDFLAGS during final
  linking.

Originally committed to SVN as r2159.
2008-03-30 08:08:43 +00:00
Amar Takhar 0cf6fce7de Add -L/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries to
aegisub_LDFLAGS, for now we don't do any GL link checks so there is no point in
adding it to configure.

Originally committed to SVN as r2158.
2008-03-30 06:35:00 +00:00
Amar Takhar cfa2003553 Sigh, really fix the typo(s).
Originally committed to SVN as r2157.
2008-03-30 06:17:08 +00:00
Amar Takhar cc25285ddd Fix typo that slipped into previous commit.
Originally committed to SVN as r2156.
2008-03-30 06:13:36 +00:00
Amar Takhar ad63c0fbac Add a check for avutil, conditional on BUILD_DARWIN which is required on OSX.
Originally committed to SVN as r2155.
2008-03-30 06:11:45 +00:00
Amar Takhar 8b7ddf12aa Allow PERL_(CFLAGS|LDFLAGS) and RUBY_(CFLAGS|LDFLAGS) to be set, which overrides
using the perl and ruby binaries to get them.

Originally committed to SVN as r2154.
2008-03-29 23:56:44 +00:00
Amar Takhar 0f196ca1f9 Add missing $ to ICONV_CFLAGS/ICONV_LDFLAGS, also change CFLAGS tp CPPCFLAGS for
the header check. (this fixes the libass build)

Originally committed to SVN as r2153.
2008-03-29 23:09:55 +00:00
Amar Takhar 0fb1fee1a8 * Add target platform detection, at the moment this only uses OS info.
* Fix font_file_lister to use fontconfig for unix, freetype for OS X
* Set bevelbutton to be conditional for Darwin only. (this fixes the header
  missing header as well)

Originally committed to SVN as r2152.
2008-03-29 22:30:30 +00:00
Fredrik Mellbin d6e76cee4f FFmpegSource 1.16 + minor fix
Originally committed to SVN as r2151.
2008-03-28 21:14:06 +00:00
Amar Takhar b7af0a06d5 * Add a detection for platform/arch.
* Add a new condtitional BUILD_DARWIN for fontconfig/freetype font listing
  support.

Originally committed to SVN as r2150.
2008-03-26 23:58:39 +00:00
Niels Martin Hansen abeaf06776 Possible fix for bevelButton problem
Originally committed to SVN as r2149.
2008-03-26 23:28:12 +00:00
Amar Takhar d47ee5f164 s/libass_aegisub_a_CPPFLAGS/AM_CPPFLAGS/, it's only 1 library a general case is OK.
Originally committed to SVN as r2148.
2008-03-26 00:03:14 +00:00
Amar Takhar 3cd825e98b c_str() on _filename.
Originally committed to SVN as r2147.
2008-03-25 23:51:54 +00:00
Amar Takhar 91c641789f Remove #ifdef __APPLE__ glue, this will be the same as UNIX, eventually.
Originally committed to SVN as r2146.
2008-03-25 23:43:28 +00:00
Amar Takhar ffaac724e1 Remove a !defined(__APPLE__) around #include "lavc_keyframes.h", also add a c_str().
Originally committed to SVN as r2145.
2008-03-25 23:42:39 +00:00
Amar Takhar 5ad19a2558 More .cstr().
Originally committed to SVN as r2144.
2008-03-25 23:08:28 +00:00
Amar Takhar f0f0d541b6 Add a .c_str(); to _filename (line 83)
Originally committed to SVN as r2143.
2008-03-25 23:01:29 +00:00
Amar Takhar bd836309be Make ICONV_CFLAGS/ICONV_LDFLAGS override the default flags like everything else.
(required for OS X)

Originally committed to SVN as r2142.
2008-03-25 20:03:26 +00:00
Amar Takhar 84de9ed34e Update remove (remove notice about no auto3 support), this will be filled in
soon.

Originally committed to SVN as r2141.
2008-03-25 03:44:36 +00:00
Amar Takhar d82bf5ec6f Change the WX tests for OpenGL and StyledTextControl to use AC_AGI_LINK, which
is similar to AC_AGI_COMPILE, instead it checks for a header + links the library
in seperate tests.

Originally committed to SVN as r2140.
2008-03-25 00:24:39 +00:00
Karl Blomster cd177995d2 added same flag to win64 config0.h.
Originally committed to SVN as r2139.
2008-03-24 12:21:44 +00:00
Karl Blomster 4e3529930d added new config.h define, WITH_STATIC_FFMPEG, to make it possible to link ffmpeg as a static library instead of dynamic.
Originally committed to SVN as r2138.
2008-03-24 12:19:17 +00:00
Karl Blomster 7be56fbcd4 cast some lavc context variables to int (avoids warning treated as error when compiling WITH_FFMPEG on msvc)
Originally committed to SVN as r2137.
2008-03-24 11:30:35 +00:00
Amar Takhar 1b6fa7c9a6 Add run-check for Ruby.
Originally committed to SVN as r2136.
2008-03-24 04:17:25 +00:00
Amar Takhar 1deae83222 Move AC_DEFINE conditional outside side of the Perl-check block.
Originally committed to SVN as r2135.
2008-03-24 03:45:49 +00:00
Amar Takhar f7288d0e95 Switch Ruby support check to use AC_CACHE_CHECK.
Originally committed to SVN as r2134.
2008-03-24 03:43:53 +00:00
Amar Takhar faff96d0f6 Add a run check for Perl support.
Originally committed to SVN as r2133.
2008-03-24 03:04:29 +00:00
Amar Takhar 5c66e27c9b Change PERL to use AC_CACHE_CHECK.
Originally committed to SVN as r2132.
2008-03-24 02:55:10 +00:00
pstatic cbf7143b85 typo in audio_provider_pcm
Originally committed to SVN as r2131.
2008-03-24 02:44:45 +00:00
Niels Martin Hansen 08910b5a9d Make PCM audio provider access the file memory mapped instead of through regular file access, per bug #686. Tested to work on Windows.
I've also added a POSIX implementation but it's untested and might not even build.
The implementation is not actually thread safe, but this shouldn't be a problem in most cases, yet. It should still be fixed at some point.

Originally committed to SVN as r2130.
2008-03-24 00:10:09 +00:00
Amar Takhar 3fb93565f5 Remove extra '$CFLAGS', PulseAudio is managed by pkg-config so it's not
nessicary (user should set LIBPULSE_CFLAGS.)

Originally committed to SVN as r2129.
2008-03-23 23:39:01 +00:00
Amar Takhar 6f54aa0e38 Add a run-test for OpenAL.
Originally committed to SVN as r2128.
2008-03-23 23:37:57 +00:00
Amar Takhar 732cbbb223 typo fix: s/wether/whether/
Originally committed to SVN as r2127.
2008-03-23 23:08:41 +00:00
Amar Takhar f8600b921d Add a run test for PulseAudio.
Originally committed to SVN as r2126.
2008-03-23 23:07:47 +00:00
Amar Takhar e4d77f6474 Completely remove support for an external libass:
* The internal libass will always be newer than external packages.
  * aegisub requires fontconfig _and_ iconv support, some systems have
    either/or but rarely both.
  * There's zero benifit to supporting an external version.

In the future I might add some flags to allow it, if there is a compelling
reason to.

Originally committed to SVN as r2125.
2008-03-23 22:56:21 +00:00
Amar Takhar 7a423e02b3 Add a run test for PortAudio
Originally committed to SVN as r2124.
2008-03-23 22:23:59 +00:00
Amar Takhar 1a68069ee2 If the Hunspell test fails, then hunspell should be disabled, I'll do this for
all the tests eventually.

Originally committed to SVN as r2123.
2008-03-23 22:12:25 +00:00
Amar Takhar 0bb2c0733e Only print a warning if hunspell is detected, but the test program fails to
compile or work.

Originally committed to SVN as r2122.
2008-03-23 15:56:50 +00:00
Amar Takhar d9ea5d272c s/LUA/Lua/ per jfs.
Originally committed to SVN as r2121.
2008-03-23 15:55:15 +00:00
Amar Takhar 1f5e67b9fc Add a program check for Hunspell.
Originally committed to SVN as r2120.
2008-03-23 15:54:33 +00:00
Karl Blomster 2c495b5d80 casting
Originally committed to SVN as r2119.
2008-03-23 12:36:16 +00:00
Amar Takhar 9b2bb18a92 Add a run check for Fontconfig.
Originally committed to SVN as r2118.
2008-03-23 00:36:36 +00:00
Amar Takhar 7a87d3a2ee Change AC_AGI_COMPILE to use AC_RUN_IFELSE instead of AC_COMPILE_IFELSE which
only checks if the program links correctly, this way we can make functional
programs to check for library sanity.  Also disable the GL check until amz
writes us a slice that uses gl.h/glext.h.

Originally committed to SVN as r2117.
2008-03-22 23:10:55 +00:00
Karl Blomster b6d8b403d6 fix catastrophic failure in last commit
Originally committed to SVN as r2116.
2008-03-22 22:48:59 +00:00
Karl Blomster e61d333297 warn the user if audio skew is likely
Originally committed to SVN as r2115.
2008-03-22 22:45:46 +00:00
Karl Blomster 76469421e4 minor tweaks to the lavc audio provider.
Originally committed to SVN as r2114.
2008-03-22 22:18:43 +00:00
Amar Takhar 28a6ceab78 Add a new (custom) macro AC_AGI_COMPILE to help with writing tests that use the
headers+libraries into runnable programs.  Hopefully this will solve all the
-dev package situations on Linux.

Originally committed to SVN as r2113.
2008-03-22 19:43:23 +00:00
Amar Takhar a8cf14b714 set with_libass and with_internal_libass to no when --without-libass is
supplied.

Originally committed to SVN as r2112.
2008-03-22 11:46:18 +00:00
Amar Takhar 375ffbe0e7 Cosmetic changes.
Originally committed to SVN as r2111.
2008-03-22 11:08:34 +00:00
Amar Takhar 3cf8200710 Update aegisub.pot, some new messages mosty source line changes.
Originally committed to SVN as r2110.
2008-03-22 11:07:59 +00:00
Amar Takhar 62f428c71c Fix typo, (remove stray L)
Originally committed to SVN as r2108.
2008-03-22 10:49:05 +00:00
Amar Takhar ec5fce6921 Remove wxwin28.m4 from REQUIRED_M4 now that it's in REQUIRED_M4_WX.
Originally committed to SVN as r2107.
2008-03-22 10:44:19 +00:00
Amar Takhar 02939b2aee Move the "NO WARRENTY" notice above the conditional exit, so if configure fails
users will still see the notice.

Originally committed to SVN as r2105.
2008-03-22 10:39:32 +00:00
Amar Takhar 67fc793c90 Add a seperate check for wxwin.m4 and wxwin28.m4, Linux names them different
than I see here on FreeBSD, more names may be added later.

Originally committed to SVN as r2104.
2008-03-22 10:38:02 +00:00
Amar Takhar a86a882c0a Remove files not required by the macosx build.
Originally committed to SVN as r2103.
2008-03-22 08:35:30 +00:00
Amar Takhar ca920eea36 Remove comments about adding revision / build credit support.
Originally committed to SVN as r2102.
2008-03-22 08:24:52 +00:00
Amar Takhar 5da0b16f48 Move WITH_INTERNAL_LIBASS beove WITH_LIBASS for clarity.
Originally committed to SVN as r2101.
2008-03-22 08:24:21 +00:00
Amar Takhar 879db30e21 Fix conditional for libass support in Makefiles.
Originally committed to SVN as r2100.
2008-03-22 08:23:54 +00:00
Amar Takhar 65e92e8e3c * Sort program sources in alphabetical order.
* Put program headers under aegisub_SOURCES and external headers under
  noinst_HEADERS.

Originally committed to SVN as r2099.
2008-03-22 08:20:28 +00:00
Amar Takhar ae3f8a037b Fix usage of LDFLAGS / ICONV_LDFLAGS.
Originally committed to SVN as r2098.
2008-03-22 07:37:38 +00:00
Amar Takhar 664af8498a Fix the detection of libiconv (for required for internal libass support), also
fix libiconv ldflags, and the detection order for libass (internal first,
external second).

Originally committed to SVN as r2097.
2008-03-22 07:33:57 +00:00
Amar Takhar 04e9ff224f Add support for an 'internal' libass, with this we can chase changes to the
libass in MPlayer which is more up-to-date than the external library that's
available.

Originally committed to SVN as r2096.
2008-03-21 21:01:03 +00:00
Karl Blomster 9a7bbc9b93 missing semicolon in last commit
Originally committed to SVN as r2095.
2008-03-21 20:35:59 +00:00
Karl Blomster ee04563ff6 attempt at fixing the lavc audio skew problems by making very very sure all data in each packet is decoded.
Originally committed to SVN as r2094.
2008-03-21 20:30:34 +00:00
Karl Blomster 6d8f862aed cleanup of the lavc audio provider; renamed some variables, added some comments and restructured a bit. as an added improvement it will now no longer resample unless strictly necessary.
Originally committed to SVN as r2093.
2008-03-21 19:52:14 +00:00
Amar Takhar b060751cfe Update libass to r26265 from the MPlayer repo, I havn't checked all the changes
but one of the largest changes is that it now reads and uses Playres X/Y and the
video res so \mov works correctly now.

Originally committed to SVN as r2092.
2008-03-21 05:32:23 +00:00
Amar Takhar 005e32f3f5 Remove Makefile.in that was introduced in r1035, it should never have been added
in the first place.

Originally committed to SVN as r2091.
2008-03-21 05:05:46 +00:00
Amar Takhar b969f382c6 Remove old (legacy) variables that were commented out.
Originally committed to SVN as r2090.
2008-03-21 04:56:14 +00:00
Rodrigo Braz Monteiro 398da989f9 Fixed small OpenMP bug.
Originally committed to SVN as r2089.
2008-03-21 03:02:39 +00:00
Amar Takhar 21b3db9b2a Enable OpenMP globally, at amz's suggestion. (if this breaks things, it's his
fault.)

Originally committed to SVN as r2088.
2008-03-21 02:59:57 +00:00
Amar Takhar d71641db51 s/WIN32/__WINDOWS__/ to stop a define collision with universalchardet. This is
a temp solution as the real fix is sorting out universalchardet to build
correctly.

Originally committed to SVN as r2087.
2008-03-21 02:41:46 +00:00
Amar Takhar 2b730ac4fa Move charset_detect.h above text_file_reader.cpp, universalchardet is defining,
or undefining things that doesn't make fstream very happy.

Originally committed to SVN as r2086.
2008-03-21 02:22:00 +00:00
Amar Takhar 90e9e6fef1 Re-enable univerchardet (for now), also make it use STL rather than stdio (which
isn't complete)

Originally committed to SVN as r2085.
2008-03-20 22:24:28 +00:00
Rodrigo Braz Monteiro 735aebb393 Fixed a litle oops from last commit.
Originally committed to SVN as r2084.
2008-03-20 21:58:21 +00:00
Rodrigo Braz Monteiro db0cc24ae3 Originally committed to SVN as r2083. 2008-03-20 21:48:47 +00:00
Amar Takhar 1f23637cd2 Fix auto4/auto3 (lua51/lua50) support, this removes the --with-* flags in favor
of LUA_(C|LD)FLAGS and LUA50_(C|LD)FLAGS, also add the LUA LDFLAGS to LIBS like
perl in order to have it bring in the symbols properly, this is a temp measure
until we have modules.

Originally committed to SVN as r2082.
2008-03-20 21:24:01 +00:00
Niels Martin Hansen 9c85947f02 Scrap all the CImg stuff entirely.
Originally committed to SVN as r2081.
2008-03-20 02:40:18 +00:00
Rodrigo Braz Monteiro 4e2415a353 Added some commented out hackish code to test tesseract.
Originally committed to SVN as r2080.
2008-03-18 08:06:01 +00:00
Rodrigo Braz Monteiro b102ed05c1 Fixed dummy video provider and possibly fixed dvd sub generation.
Originally committed to SVN as r2079.
2008-03-18 05:24:21 +00:00
Rodrigo Braz Monteiro a7b73fc2da Renamed Gorgonsub into Athenasub.
Originally committed to SVN as r2078.
2008-03-18 03:44:00 +00:00
Rodrigo Braz Monteiro cd9d6f1cfb Some refactoring and a new way to read data.
Originally committed to SVN as r2077.
2008-03-18 02:09:33 +00:00
Rodrigo Braz Monteiro 39938d213a Implemented a multi-line modification action. Still a bit hacky, but works well.
Originally committed to SVN as r2076.
2008-03-17 07:19:33 +00:00
Rodrigo Braz Monteiro 18488241e8 Added a to-do list for gorgonsub.
Originally committed to SVN as r2075.
2008-03-17 02:50:15 +00:00
Rodrigo Braz Monteiro cd7bc441f4 A few more tweaks.
Originally committed to SVN as r2074.
2008-03-17 02:10:10 +00:00
Rodrigo Braz Monteiro 939b49b82d Further optimizations to UTF-8 saving code.
Originally committed to SVN as r2073.
2008-03-17 02:05:37 +00:00
Rodrigo Braz Monteiro c870465dee Added a few mostly unimplemented classes, and wrote my own custom (experimental) UTF-8 writer, which made writing UTF-8 subtitles almost twice as fast.
Originally committed to SVN as r2072.
2008-03-17 01:32:26 +00:00
Rodrigo Braz Monteiro 22b97b55d1 Updated ignores and added Aegisub ICL project.
Originally committed to SVN as r2071.
2008-03-16 18:22:45 +00:00
Rodrigo Braz Monteiro d99933ddd9 Fixed all Gorgonsub headers (mental note: namespaces don't end with a semi-colon) and added some VC9/ICL projects.
Originally committed to SVN as r2070.
2008-03-16 18:09:25 +00:00
Rodrigo Braz Monteiro 8e8f4bf530 Added a delta coder specific for ASS dialogue entries that seems (from very simple tests) to work. Warning: code not for the faint of heart.
Originally committed to SVN as r2069.
2008-03-16 06:41:23 +00:00
Rodrigo Braz Monteiro 072d747921 Some re-structuring of the ass parser in gorgonsub.
Originally committed to SVN as r2068.
2008-03-16 03:31:51 +00:00
Rodrigo Braz Monteiro fb1de2da07 Added a "modify line" action.
Originally committed to SVN as r2067.
2008-03-16 02:20:34 +00:00
Rodrigo Braz Monteiro 0a0f383b4a Added a small .cpp file (console program) to show how a pipeline is done in OpenMP.
Originally committed to SVN as r2066.
2008-03-16 00:32:42 +00:00
Rodrigo Braz Monteiro da0a10ce99 Modified the action system to be more OO.
Originally committed to SVN as r2065.
2008-03-15 22:02:16 +00:00
Niels Martin Hansen 3ead72329c Change default font encoding for new styles to 1, to make more fonts behave sensibly by default
Originally committed to SVN as r2064.
2008-03-15 21:34:55 +00:00
Rodrigo Braz Monteiro ca63097e90 Fixed UTF-16 support on gorgonsub, and, incidentally, it's ~20% faster than UTF-8.
Originally committed to SVN as r2063.
2008-03-15 08:36:52 +00:00
Rodrigo Braz Monteiro 16bcf0c942 Now loading 4.5 MB in 220 ms! :D
Originally committed to SVN as r2062.
2008-03-15 06:21:11 +00:00
Rodrigo Braz Monteiro e31b424064 Changed parsing of Time tags, which results in ~30% faster ASS loading.
Originally committed to SVN as r2061.
2008-03-15 04:28:47 +00:00
Rodrigo Braz Monteiro d6d3f8aecb Made gorgonsub's UTF-8/ASCII parser much faster, resulting in a 2x subtitles reading speedup for such files.
Originally committed to SVN as r2060.
2008-03-15 03:24:38 +00:00
Rodrigo Braz Monteiro 98d5794f20 Increased gorgonsub's ASS write speed with large files 3.5x by getting rid of wxString conversion and concatenation routines and writing my own.
Originally committed to SVN as r2059.
2008-03-15 00:29:17 +00:00
Niels Martin Hansen 2cbf0e587d Change a variable to size_t since that's what it should be.
Originally committed to SVN as r2058.
2008-03-14 19:42:13 +00:00
Niels Martin Hansen 426917c9a6 The progress dialogues should be centered on parent (too), certainly not on the primary monitor.
Originally committed to SVN as r2057.
2008-03-14 19:40:28 +00:00
Niels Martin Hansen 50ba0270a1 Adding a test of various features of the ASS format. Will make a render of it using VSFilter later on.
Originally committed to SVN as r2056.
2008-03-14 19:21:46 +00:00
Rodrigo Braz Monteiro fd8e6952da Added prefetching code to textfilereader, that presumably doesn't work because I'm working on a console.
Originally committed to SVN as r2055.
2008-03-14 08:00:55 +00:00
Rodrigo Braz Monteiro 78cb8f53ff Applied shurik's patch to hopefully fix Lua's linking issues on Linux.
Originally committed to SVN as r2054.
2008-03-14 06:17:32 +00:00
Rodrigo Braz Monteiro 108671175c Greatly improved I/O speed on gorgonsub
Originally committed to SVN as r2053.
2008-03-14 06:10:54 +00:00
Karl Blomster 521632cd9b changed output buffer size to AVCODEC_MAX_AUDIO_FRAME_SIZE which is what it's actually malloc()'ed as. might actually work now.
Originally committed to SVN as r2052.
2008-03-14 05:14:30 +00:00
Karl Blomster 56370f0f4a hurf de durf, didn't consider the fact that some audio packets might not have any actual content. return value of avcodec_decode_audio2() is now checked against < 0 again.
Originally committed to SVN as r2051.
2008-03-14 04:38:30 +00:00
Rodrigo Braz Monteiro 828ada86b0 Undo/redo on gorgon seem to work.
Originally committed to SVN as r2050.
2008-03-14 03:59:46 +00:00
Rodrigo Braz Monteiro 000271c087 Broken undo/redo stack on gorgonsub
Originally committed to SVN as r2049.
2008-03-14 03:33:27 +00:00
Rodrigo Braz Monteiro b073b7d28d Gorgonsub is now capable of doing some simple manipulation (i.e. line insertion).
Originally committed to SVN as r2048.
2008-03-14 02:02:48 +00:00
Rodrigo Braz Monteiro bb425f8a86 Renamed Aegilib to Gorgonsub.
Originally committed to SVN as r2047.
2008-03-13 21:28:22 +00:00
Rodrigo Braz Monteiro 72145e8fa8 Fixed some warnings on g++.
Originally committed to SVN as r2046.
2008-03-13 20:27:25 +00:00
Rodrigo Braz Monteiro cee958b2d3 Raised the warning level on MSVC8 to 4, and fixed several warnings caused by that.
Originally committed to SVN as r2045.
2008-03-13 19:12:55 +00:00
Rodrigo Braz Monteiro c248ca39f2 Fixed several warnings on g++.
Originally committed to SVN as r2044.
2008-03-13 18:55:09 +00:00
Rodrigo Braz Monteiro 6e5f23c1cd Added missing virtual destructors.
Originally committed to SVN as r2043.
2008-03-13 18:06:13 +00:00
Karl Blomster 3cade86767 check the return value of avcodec_decode_audio2() against <= 0, not just < 0 (both indicate no audio decoded)
Originally committed to SVN as r2042.
2008-03-13 08:41:21 +00:00
Karl Blomster 47f6f2aed6 Replaced deprecated function avcodec_decode_audio() with nondeprecated version avcodec_decode_audio2() in audio_provider_lavc.cpp. Maybe possibly potentially hopefully fixes mp3 decoding problems?
Originally committed to SVN as r2041.
2008-03-13 08:30:40 +00:00
Amar Takhar e0d98de508 Fix one more conditional (for lua51).
Originally committed to SVN as r2040.
2008-03-13 07:35:39 +00:00
Rodrigo Braz Monteiro bcb87d1ebd Made Aegilib::Exception derive from std::exception.
Originally committed to SVN as r2039.
2008-03-13 07:28:30 +00:00
Amar Takhar dff23e8cd3 Fix typo(s), also fix the conditionals that enabled/disabled auto3/4 supported
based on the --with* flags being supplied.  Not sure what I was thinking
originally, or if I was at all.

Originally committed to SVN as r2038.
2008-03-13 07:16:53 +00:00
Rodrigo Braz Monteiro 433997b43e Subs lib can now mostly read and write SSA, ASS and ASS2 files, except for a few features missing: hard comments, unknown sections and files are stripped
Originally committed to SVN as r2037.
2008-03-13 07:05:53 +00:00
Karl Blomster e6b2bfd74b libmp3lame cannot actually be used as a decoder in ffmpeg. Removed --enable-broken-mp3 switch from configure.in. Note to self: yell at verm__ for this.
Originally committed to SVN as r2036.
2008-03-13 06:34:58 +00:00
Rodrigo Braz Monteiro 18e6684cff Some far-from-complete ASS file writing.
Originally committed to SVN as r2035.
2008-03-13 05:39:03 +00:00
Rodrigo Braz Monteiro a3755cc6e4 Modified the subs lib to use TR1's shared_ptr.
Originally committed to SVN as r2034.
2008-03-13 03:42:27 +00:00
Amar Takhar 3ab038d373 Whoops, missed some of the lua50 glue, also remove some old crufted that was
commented out.

Originally committed to SVN as r2033.
2008-03-13 03:36:09 +00:00
Amar Takhar 44acbee51f Add some more headings to make the script more readable. (it's about to get a
lot more complex)  Also move the lua50 block below the lua51 block.

Originally committed to SVN as r2032.
2008-03-13 03:25:29 +00:00
Rodrigo Braz Monteiro d70d4407e7 Subs library should now be able to fully parse ASS files, except for file attachments. It's also missing any way of parsing override tags, and the interface accessors are incomplete.
Originally committed to SVN as r2031.
2008-03-13 00:51:31 +00:00
Amar Takhar f5746ee0fc Add a trailing " (noticed by amz)
Originally committed to SVN as r2030.
2008-03-12 21:51:08 +00:00
Amar Takhar 2ecfca5ac8 Remove redundant variable, some indendation fixes.
Originally committed to SVN as r2029.
2008-03-12 21:39:44 +00:00
Rodrigo Braz Monteiro 3b7dce9c8e Some code simplification on the subs lib.
Originally committed to SVN as r2028.
2008-03-12 19:28:24 +00:00
Rodrigo Braz Monteiro 0e3333e4f8 (Hopefully?) fixed auto4-lua colour buttons.
Originally committed to SVN as r2027.
2008-03-12 07:19:05 +00:00
Alysson Souza e9004aa0f9 Semi-broken support for colour buttons in auto4-lua
Originally committed to SVN as r2026.
2008-03-12 07:04:07 +00:00
Rodrigo Braz Monteiro 0a931d3f45 wxSTC SUCKS. Note: never call SetWindowStyle() on it, or it'll break the keyboard handling.
Originally committed to SVN as r2025.
2008-03-11 23:58:43 +00:00
shb 5ceebc02a2 Maybe a fix to autoperl crashing
Originally committed to SVN as r2024.
2008-03-11 23:30:59 +00:00
Amar Takhar f74845e12b Hopefully these are the (near) final changes to autogen, some things need to be
fixed but it's far better than what we had before.

Originally committed to SVN as r2023.
2008-03-11 20:07:12 +00:00
Amar Takhar 6d6ac1b18e Remove an old conditional for Makefile.bitmaps generation, it's speedy now that
it uses AWK, the old way was an SH script which made a conditional worthwhile.

Originally committed to SVN as r2022.
2008-03-11 17:07:06 +00:00
Amar Takhar 1d34474ca6 Hopefully make autogen.sh more robust by checking for m4 files and AWK/convert.
I've also added a blaring (hopefully) notice about not supporting the SVN
version.  There are no 'official' distfiles yet, but I'm working on that, for
now they can try their luck with the SVN version anyway.

Originally committed to SVN as r2021.
2008-03-11 16:43:49 +00:00
Amar Takhar 4c3dde50f6 Add two new switches --enable-wx-opengl and --enable-wx-styledtextctrl, useful
for development purposes, but also useful to avoid invoking the wonderfully slow
g++ to test for availability during multiple ./configure runs.

Originally committed to SVN as r2020.
2008-03-11 07:24:10 +00:00
Rodrigo Braz Monteiro ae67877863 Another jab at fixing scintilla control border on posix. Also changed how it looks on Windows XP/Vista.
Originally committed to SVN as r2019.
2008-03-11 07:05:19 +00:00
Amar Takhar 722c1c6dc8 Mutter more library ordering, DynaLoader.a has to be after libauto4_perl.a so
I've used LIBS= for now (not sure if this is right but we'll see)

Originally committed to SVN as r2018.
2008-03-11 06:31:06 +00:00
Rodrigo Braz Monteiro 92d26be928 Hopefully changed scintilla border for wxgtk
Originally committed to SVN as r2017.
2008-03-11 06:30:59 +00:00
Amar Takhar c3008be27f Aparrantly the CFLAGS to plugin_manager.cpp were never needed in the first
place, it was the result of a missed change for perl automation.

Originally committed to SVN as r2016.
2008-03-11 06:19:20 +00:00
Rodrigo Braz Monteiro 5596fa106e Moved auto3 and perl factories to their own headers to avoid including library headers.
Originally committed to SVN as r2015.
2008-03-11 06:10:00 +00:00
Amar Takhar cdf86550f2 Sigh, GNU LD can be really annoying at times, most linkers will only pull a
symbol in from a static library if that symbol is used. (how it should work)
However! if you place the library that *uses* those symbols *after* the
libraries that have them, then the gnu ld will skip past those symbols, they
will never get included and you'll get a linking error.. There are two fixes,
tell LD to scan all libraries twice (non-portable?) or just put the libraries in
an order that LD can deal with.  (annoying!)

Originally committed to SVN as r2014.
2008-03-11 06:07:08 +00:00
Amar Takhar 311b78afec Put plugin_manager.cpp into it's own library, since it needs to be sent all
CFLAGS for any enabled automation. (this is temp until we have actual working
plugins)

Originally committed to SVN as r2013.
2008-03-11 05:45:45 +00:00
Amar Takhar 02abe1f0f8 It never ceases to amaze me how badly gawk can munge a perfectly compliant AWK
file, die gawk. die: It ate the line endings on lines wrapped using \ instead of
keeping the CR's it put everything on one line even though hard CR's were used.

Originally committed to SVN as r2012.
2008-03-11 05:41:14 +00:00
Amar Takhar 1e6956338f Align --help messages (what a pain.)
Originally committed to SVN as r2011.
2008-03-11 05:11:19 +00:00
Amar Takhar 8749c97d9f Whoops, originally the switch was --with-broken-mp3 but I changed it to
--enable-broken-mp3 (correct) but forgot to update the notice.  (noticed by amz)

Originally committed to SVN as r2010.
2008-03-11 05:02:29 +00:00
Amar Takhar 5776b387a2 Fix conditional for 'with_automation' in the lua50 case, also fix
WITH_AUTOMATION conditional which was enabling if auto3 support was turnd on
(should have been conditional on $with_automation)

Originally committed to SVN as r2009.
2008-03-11 05:01:30 +00:00
Rodrigo Braz Monteiro 7c505f06d4 Improved Aegisub's exception handling and crash log generation.
Originally committed to SVN as r2008.
2008-03-10 06:28:21 +00:00
Rodrigo Braz Monteiro 437dbdc8f4 Style parsing implemented.
Originally committed to SVN as r2007.
2008-03-10 03:08:33 +00:00
Niels Martin Hansen bb31ddb1da Re-introduce the wxBevelButton control of old and use it for Commit button in subs edit area on wxMac builds.
Originally committed to SVN as r2006.
2008-03-09 23:40:45 +00:00
Niels Martin Hansen 7c8e990766 Revert r2004, wxEXPAND looks ugly.
Originally committed to SVN as r2005.
2008-03-09 23:00:03 +00:00
Niels Martin Hansen f6e12ba05a Experimentally add wxEXPAND flags to style/actor/effect controls to possibly fix alignment problems on Mac.
Originally committed to SVN as r2004.
2008-03-09 22:54:24 +00:00
Niels Martin Hansen 1248cd264f Some changes to subs edit area toolbuttons sizing
Originally committed to SVN as r2003.
2008-03-09 22:31:16 +00:00
Rodrigo Braz Monteiro c833156e8b Now attempting to solve automation issues with Evolutionary programming: keep changing random shit until something works well, repeat until fixed.
Originally committed to SVN as r2002.
2008-03-09 22:07:17 +00:00
Rodrigo Braz Monteiro ed7a434a9e More messing around with Lua.
Originally committed to SVN as r2001.
2008-03-09 21:49:46 +00:00
Rodrigo Braz Monteiro 777242fce3 2000 GET!! Changed how the Lua factory is registered.
Originally committed to SVN as r2000.
2008-03-09 21:36:24 +00:00
Rodrigo Braz Monteiro f8d7c69c15 Changed how the Perl factory is registered.
Originally committed to SVN as r1999.
2008-03-09 21:33:35 +00:00
Niels Martin Hansen d7ad931526 Rename Automation4::LuaStackcheck::check() to avoid clash with some define somewhere.
Originally committed to SVN as r1998.
2008-03-09 21:09:51 +00:00
Rodrigo Braz Monteiro f20fc57d22 Possible fix for Perl.
Originally committed to SVN as r1997.
2008-03-09 21:00:55 +00:00
Rodrigo Braz Monteiro 825b2f3af0 Fixed registration of Ruby automation.
p.s.: embedding ruby on vc++ sucks.

Originally committed to SVN as r1996.
2008-03-09 19:01:54 +00:00
Rodrigo Braz Monteiro a72c3abb3c Changed the way that automation factories are registered.
Originally committed to SVN as r1995.
2008-03-09 18:19:15 +00:00
Rodrigo Braz Monteiro 9f5d3e7a6e More stuff in subs lib.
Originally committed to SVN as r1991.
2008-03-09 17:25:12 +00:00
Amar Takhar 20eb82d397 Fix AC_MSG_RESULT for perl == no (it was set to print "yes").
Originally committed to SVN as r1990.
2008-03-09 07:40:07 +00:00
Amar Takhar 6c7b619c83 Add a configure-time check using avcodec_find_encoder_by_name("libmp3lame") to
look for LAME support.  Unfortunatly FFMPEG's internal MP3 support is rather
broken.  If --enable-broken-mp3 is supplied configure will continue otherwise
LAME must be compiled into FFMPEG.

Originally committed to SVN as r1989.
2008-03-09 07:38:49 +00:00
Rodrigo Braz Monteiro fe8ed21878 Added a "reverse" option to export framerate.
Originally committed to SVN as r1988.
2008-03-09 05:32:02 +00:00
Rodrigo Braz Monteiro 88b845852a Modifications for 2.1.2
Originally committed to SVN as r1987.
2008-03-09 04:16:52 +00:00
Niels Martin Hansen 49d7b55755 Possible fix for crash in LAVCKeyframes constructor
Originally committed to SVN as r1986.
2008-03-09 00:04:30 +00:00
Niels Martin Hansen c6a1b9649b Stop importing msxml.dll when it's not needed anyway, and a string literal was not marked with _T() when it should.
Originally committed to SVN as r1985.
2008-03-08 23:44:51 +00:00
Rodrigo Braz Monteiro 79b82b9167 Possible fix to lavc crash.
Originally committed to SVN as r1984.
2008-03-08 23:41:24 +00:00
Rodrigo Braz Monteiro c5a582a23b Generic time parsing and writing works.
Originally committed to SVN as r1983.
2008-03-08 23:33:00 +00:00
Rodrigo Braz Monteiro 1b7746e99f Basic ASS parsing in Aegilib (should I just go ahead and rename this to libgorgon already?) almost works.
Originally committed to SVN as r1982.
2008-03-08 22:49:26 +00:00
Amar Takhar 48af40fa26 Add include/aegisub/* headers.
Originally committed to SVN as r1981.
2008-03-08 22:22:01 +00:00
Amar Takhar af18413a7b Remove unused 'beautify' script.
Originally committed to SVN as r1980.
2008-03-08 22:21:44 +00:00
Amar Takhar 10f3efba52 Fix status message at the bottom of configure output for hunspell.
Originally committed to SVN as r1978.
2008-03-08 20:47:36 +00:00
Amar Takhar b818c82a74 Silence warning about stray space after a stray backslash.
Originally committed to SVN as r1977.
2008-03-08 20:39:04 +00:00
Amar Takhar 0e00389079 Add .c_str() to line 300 (filename).
Originally committed to SVN as r1976.
2008-03-08 20:38:03 +00:00
Amar Takhar ad1d357c61 ADd missing video_provider_manager.cpp and remove video_provider.cpp.
Originally committed to SVN as r1975.
2008-03-08 20:37:32 +00:00
Rodrigo Braz Monteiro 8227971186 Another battle in the String Hell War
Originally committed to SVN as r1974.
2008-03-08 18:13:42 +00:00
Rodrigo Braz Monteiro 045f60da35 Reverted last commit.
Originally committed to SVN as r1973.
2008-03-08 18:04:51 +00:00
Amar Takhar ea8d16dabe More s/wxString/Aegisub::String/ changes.
Originally committed to SVN as r1972.
2008-03-08 08:13:46 +00:00
Rodrigo Braz Monteiro 96616bf79c Subs lib can now actually parse text files (kinda).
Originally committed to SVN as r1971.
2008-03-08 07:52:20 +00:00
Amar Takhar fc14717b71 Fix header -> subtitles_provider_manager.h
Originally committed to SVN as r1970.
2008-03-08 07:51:23 +00:00
Amar Takhar c501ae6e2e Add -Iinclude to the list of CXX_FLAGS.
Originally committed to SVN as r1969.
2008-03-08 07:50:10 +00:00
Rodrigo Braz Monteiro 5e16567e81 Some more work on the subs library.
Originally committed to SVN as r1968.
2008-03-08 07:14:14 +00:00
Amar Takhar 6246c3998d s/wxString/Aegisub::String/ in many places.
Originally committed to SVN as r1967.
2008-03-08 04:27:41 +00:00
Rodrigo Braz Monteiro 0c5d122cc5 Some early work to get the subs lib to work.
Originally committed to SVN as r1965.
2008-03-08 03:08:50 +00:00
Rodrigo Braz Monteiro 9e2de75b95 Moved docs for subs lib to inside the folder.
Originally committed to SVN as r1964.
2008-03-07 22:15:43 +00:00
Amar Takhar 7c4c825cef Missed a header change in the OpenAL header.
Originally committed to SVN as r1963.
2008-03-07 21:53:46 +00:00
Amar Takhar 576dd4576e s/audio_player.h/audio_player_manager.h/ for ALSA and OpenAL.
Originally committed to SVN as r1962.
2008-03-07 21:48:36 +00:00
Amar Takhar b666b0aeb9 s/audio_provider.h/audio_provider_manager.h/ for ALSA, OpenAL and Pulse.
Originally committed to SVN as r1961.
2008-03-07 21:47:20 +00:00
Rodrigo Braz Monteiro a8b4c5521d Fixed include in portaudio player.
Originally committed to SVN as r1960.
2008-03-07 21:43:45 +00:00
Rodrigo Braz Monteiro abbab149a6 (Maybe) fixed lavc after previous commit.
Originally committed to SVN as r1959.
2008-03-07 21:27:36 +00:00
Rodrigo Braz Monteiro 6b12f54d72 Changed video provider to not depend on wxWidgets.
Originally committed to SVN as r1958.
2008-03-07 21:24:14 +00:00
Rodrigo Braz Monteiro 01f5f99b67 Added assdraw vc2008 project.
Originally committed to SVN as r1957.
2008-03-07 21:01:48 +00:00
Rodrigo Braz Monteiro 4f4f4cc91f Moved files relevant to providers to aegisub/include. A few things might be broken.
Originally committed to SVN as r1956.
2008-03-07 21:00:20 +00:00
Amar Takhar 09abd27acf Fix Hunspell support for the older versions (1.1.10 and older?)
Originally committed to SVN as r1955.
2008-03-07 16:38:55 +00:00
Amar Takhar c31afc4018 Remove un-needed AC_SUBST() for OpenAL (PKG_CHECK_MODULES does this).
Originally committed to SVN as r1954.
2008-03-07 15:45:12 +00:00
Rodrigo Braz Monteiro 687b5bda32 Fixed assdraw3 crash and updated installer.
Originally committed to SVN as r1953.
2008-03-07 07:11:09 +00:00
Alysson Souza c93d6d57b2 Fixed #688, related to "Replace All" always being case sensitive
Originally committed to SVN as r1952.
2008-03-07 05:34:01 +00:00
Rodrigo Braz Monteiro d40168007f Updated version.cpp for the new release.
Originally committed to SVN as r1951.
2008-03-07 04:21:26 +00:00
Amar Takhar 1cb32448ce Remove factory.h.
Originally committed to SVN as r1950.
2008-03-07 04:11:27 +00:00
Amar Takhar 35f7f82415 Fix cutandpasto s/libpulse/openal/, also change --without-unversalcharset
(should have been --disasble!) to --enable-universalcharset and leave it
disabled by default until an fopen() method is created for opening files in the
aegisub support.

Originally committed to SVN as r1949.
2008-03-07 03:52:47 +00:00
Amar Takhar 39d0e31fa5 Add missing video_provider_cache.cpp.
Originally committed to SVN as r1948.
2008-03-07 03:52:19 +00:00
Rodrigo Braz Monteiro f2ca0c4fd3 Removed obsolete registration for providers.
Originally committed to SVN as r1947.
2008-03-07 03:50:43 +00:00
Rodrigo Braz Monteiro 974efa126b Modified all providers to separate them between factory and factory manager. This will make plugin system easier. Also, made hunspell register manually as well.
Originally committed to SVN as r1946.
2008-03-07 02:32:29 +00:00
Rodrigo Braz Monteiro 6bdee2a765 Originally committed to SVN as r1945. 2008-03-07 00:47:57 +00:00
Amar Takhar e65fdf1fcf The source files for universalcharset support can be compiled with or without
actual support.  If they're compiled without then we don't need the fake
library, if they are, then include them into a library so we can send the proper
CFLAGS.

Originally committed to SVN as r1944.
2008-03-07 00:35:48 +00:00
Amar Takhar 8c7eb8f404 Remove useless __WINDOWS__ wrap around USE_UNIVCHARSET
Originally committed to SVN as r1943.
2008-03-07 00:34:45 +00:00
Amar Takhar 175418c59a Add missed *.tab files to EXTRA_DIST.
Originally committed to SVN as r1942.
2008-03-07 00:34:11 +00:00
Amar Takhar 98dd041bc6 Add callables.c to EXTRA_DIST=
Originally committed to SVN as r1941.
2008-03-07 00:32:01 +00:00
Rodrigo Braz Monteiro 7d7ea83d23 -__-
Originally committed to SVN as r1940.
2008-03-07 00:17:03 +00:00
Rodrigo Braz Monteiro eb5be3115a Fixed directshow... again.
Originally committed to SVN as r1939.
2008-03-07 00:09:58 +00:00
Rodrigo Braz Monteiro d181c3a7f6 Updated Visual Studio 2005 project file (thanks to Harukalover)
Originally committed to SVN as r1938.
2008-03-07 00:01:37 +00:00
Rodrigo Braz Monteiro 9c8c8831ec Fixes to directshow video provider.
Originally committed to SVN as r1937.
2008-03-07 00:00:40 +00:00
Rodrigo Braz Monteiro d9e254533a Hopefully fixed a crash with mouse wheel on associations Window.
Originally committed to SVN as r1936.
2008-03-06 23:41:27 +00:00
Rodrigo Braz Monteiro cf3a233970 Prevented Aegisub from saving .txt files directly. (Fix for #653)
Originally committed to SVN as r1935.
2008-03-06 23:36:43 +00:00
Rodrigo Braz Monteiro b19737c628 Fixed copying of video coordinates to clipboard.
Originally committed to SVN as r1934.
2008-03-06 23:27:54 +00:00
Rodrigo Braz Monteiro 03d4f3fc94 Fix for translation assistant (#669)
Originally committed to SVN as r1933.
2008-03-06 23:21:03 +00:00
Rodrigo Braz Monteiro 30f12ef7e8 Fixed lavc and directshow video providers.
Originally committed to SVN as r1932.
2008-03-06 22:34:28 +00:00
Amar Takhar 1b5175ef97 Sigh, remove one more reference to csri header files. I'm planning on redoing
the lower part of this file after we start moving to modules.

Originally committed to SVN as r1931.
2008-03-06 22:19:59 +00:00
Amar Takhar b323e9b4f1 Forgot to remove the csri headers during the removal of the svn:externals link
to the include dir.

Originally committed to SVN as r1930.
2008-03-06 22:15:05 +00:00
Rodrigo Braz Monteiro 2c2664d4d8 Fixed some typos in csri subs provider header.
Originally committed to SVN as r1929.
2008-03-06 21:58:06 +00:00
Rodrigo Braz Monteiro bb7177dcfb Fixed #662, that resulted in crashes when trying to load an empty avs file.
Originally committed to SVN as r1927.
2008-03-06 21:38:40 +00:00
Rodrigo Braz Monteiro 2e7a77ec64 Changed charset detection to always include local charset (hopeful fix to #676)
Originally committed to SVN as r1926.
2008-03-06 20:49:04 +00:00
Amar Takhar 75e39a2660 My original hope was to include our pre-packaged version of libass, but until
all the self-registering 'modules' are kicked out that can't happen.  I'll
commit the changes to Makefile.am though for safe-keeping.

Originally committed to SVN as r1925.
2008-03-06 20:39:10 +00:00
Rodrigo Braz Monteiro d447236571 Fixed issue #673, related to concatenation of null-timed lines.
Originally committed to SVN as r1924.
2008-03-06 19:57:14 +00:00
Rodrigo Braz Monteiro 9cd698f673 Fixed issue #675, that caused insertion of override tags to be unable to reach the end of the line when characters over U+7F were present.
Originally committed to SVN as r1923.
2008-03-06 19:53:45 +00:00
Rodrigo Braz Monteiro 3327fc0154 Fixed issue #674, related to ScaledBorderAndShadow being erased by Clean Script Info
Originally committed to SVN as r1922.
2008-03-06 19:43:47 +00:00
Rodrigo Braz Monteiro 853fbfaebd Fixed #671, related to VFR transformation erasing templater tags.
Originally committed to SVN as r1921.
2008-03-06 19:40:24 +00:00
Rodrigo Braz Monteiro b1eb77e1b9 Ops, a few missing files from provider change.
Originally committed to SVN as r1920.
2008-03-06 19:21:18 +00:00
Rodrigo Braz Monteiro bed7f3ed8d Modified the video provider interface to be a true interface, and moved all caching routines to another video provider that can be chained.
Originally committed to SVN as r1918.
2008-03-06 19:20:25 +00:00
Amar Takhar 98b868f55f Whoops the wrong OpenMP detection support got committed, this is the correct
version.

Originally committed to SVN as r1917.
2008-03-06 18:18:09 +00:00
Amar Takhar db5580f1cc Make the csri.h header a relative include and wrap it with __WINDOWS__, in the
future I'll remove all of these ifdefs and fix the windows vcproj files so we
can have the same includes for all operating systems.

Originally committed to SVN as r1916.
2008-03-06 17:01:19 +00:00
Amar Takhar cdd49b02b4 Bring CSRI into the repository fully, I'm not an advocate of this! but it's the
best 'solution' for now.

Originally committed to SVN as r1915.
2008-03-06 16:59:48 +00:00
Amar Takhar 20f0f52cec Add detection for OpenMP, this isn't hooked up yet but will be later.
Originally committed to SVN as r1913.
2008-03-06 16:49:24 +00:00
Amar Takhar f740634a3b Add a convenience to help me build distfiles.
Originally committed to SVN as r1912.
2008-03-06 01:16:07 +00:00
Amar Takhar 454b0101d7 Fix auto3 support.
Originally committed to SVN as r1911.
2008-03-05 21:03:05 +00:00
Amar Takhar 22a0dca696 * Add m4macros/Makefile so Makefile.in gets parsed
* Remove nodist_* and change it to noinst_* for universalchardet
  (cut-and-paste-o)

Originally committed to SVN as r1909.
2008-03-05 20:20:23 +00:00
Amar Takhar b62b58ed6f Fix OpenAL on UNIX by wrapping the Windows headers with __WINDOWS__ (AL/al.h),
the OS X headers with __APPLE__ (OpenAL/AL.h).  The default will be the UNIX
location (AL/a.h).

Originally committed to SVN as r1908.
2008-03-05 20:16:31 +00:00
Amar Takhar f55ffd6d91 * Add support for universalchardet
* Fix #ifdef for STIDO/fstream with a proper ifdef/else
 * Make auto3 subdir inclusion conditional
 * Rename libspell_hunspell to libmisc*

Please note that universalchardet is only set to work with X86 for now, I'll fi$
the rest later.

Originally committed to SVN as r1907.
2008-03-05 18:52:09 +00:00
Amar Takhar 93db5bfd96 Add the m4macros directory to the distfile incase anyone wants to do some
quick development.

Originally committed to SVN as r1906.
2008-03-05 17:17:56 +00:00
Amar Takhar 850a280ef1 PulseAudio and OpenAL were being forced on due to typos, also add some
quotes for cleanliness.

Originally committed to SVN as r1905.
2008-03-05 17:15:55 +00:00
Amar Takhar 896cfc112b Wrap ass/ass.h with __WINDOWS__ as the UNIX build uses the system version.
Originally committed to SVN as r1904.
2008-03-05 16:50:14 +00:00
Rodrigo Braz Monteiro c278baf4ec Forgot to update the vs2008 project to account for new headers... 2005 still needs updating, too.
Originally committed to SVN as r1903.
2008-03-05 16:44:06 +00:00
Amar Takhar 51561cee79 The (disabled) people were seeing beside ALSA support was actually
hunspell being disabled, due to --without-hunspell definfing
alsa_disabled, fix this and add it to the final package status of
configure.

Originally committed to SVN as r1902.
2008-03-05 15:35:47 +00:00
Amar Takhar ef09793948 Remove some debugging cruft that was left in by accident.
Originally committed to SVN as r1901.
2008-03-05 15:34:50 +00:00
Amar Takhar 8e8f45c715 Wrap LUA includes with __WINDOWS__, the Windows build uses rolled package that
has support for unicode pathnames, UNIX does not require this support so system
installs are used.

Originally committed to SVN as r1900.
2008-03-05 04:10:20 +00:00
Amar Takhar 5286ae1eb3 WITH_AUTOMATION used to include auto4 (LUA 5.1), however it was not condusive
to including PERL or Ruby support.  This change supports the conditionals added
in r1889`.

Originally committed to SVN as r1899.
2008-03-05 04:09:04 +00:00
Rodrigo Braz Monteiro a9984a2741 Fixed a link error with libass.
Originally committed to SVN as r1898.
2008-03-05 03:46:29 +00:00
Rodrigo Braz Monteiro c3d1128efd Blame you-know-who.
Originally committed to SVN as r1897.
2008-03-05 03:31:20 +00:00
Rodrigo Braz Monteiro 5795012adb Yet another fix, now to libass.
Originally committed to SVN as r1896.
2008-03-05 03:24:01 +00:00
Rodrigo Braz Monteiro 7659293a21 Fixed compiling of lavc video provider.
Originally committed to SVN as r1895.
2008-03-05 03:20:55 +00:00
Rodrigo Braz Monteiro 1b96e656ff ...And done making subtitle providers register manually. If anything goes wrong, blame movax.
Originally committed to SVN as r1894.
2008-03-05 02:58:11 +00:00
Rodrigo Braz Monteiro ee61192c43 Made audio players register manually.
Originally committed to SVN as r1893.
2008-03-05 02:43:01 +00:00
Rodrigo Braz Monteiro 30d1aeb551 ops.
Originally committed to SVN as r1892.
2008-03-05 02:23:47 +00:00
Rodrigo Braz Monteiro b1b2c3d7fb Changed audio providers to register manually.
Originally committed to SVN as r1891.
2008-03-05 02:19:50 +00:00
Rodrigo Braz Monteiro 59f1962e7c Changed video providers to be initialized explicitly. (Only avisynth tested, though)
Originally committed to SVN as r1890.
2008-03-05 02:05:01 +00:00
Niels Martin Hansen 5047295635 Separate general Auto4 support and Auto4 Lua support into different defines in source
Originally committed to SVN as r1889.
2008-03-04 23:17:07 +00:00
Amar Takhar 42cd531584 s/LIBS/LIBRUBYARG/ to get the ldflags for ruby.
Originally committed to SVN as r1888.
2008-03-04 20:08:06 +00:00
Amar Takhar 8798ebd38f s/AM_CPPFLAGS/AM_CXXFLAGS/, CXXFLAGS are sent to every file including libraries.
(This was a typo on my part that I didn't notice until now.)

Originally committed to SVN as r1887.
2008-03-04 17:16:32 +00:00
Amar Takhar 3ec3b42c3d Add a --enable-debug flag, with a DEBUG_FLAGS env variable to set the
debugging flag (default: -g)

Originally committed to SVN as r1886.
2008-03-04 16:59:01 +00:00
Amar Takhar 7b9af6a159 * Fix all per-conditional/'library' CFLAGS (this fixes all library building).
* Fix 1 cut-and-past-o

Originally committed to SVN as r1884.
2008-03-04 04:15:14 +00:00
Amar Takhar a55e392fc2 In r1876 the compiler flags were pushed up from the AC_CHECK* commands.
However they wern't removed from the CPP/LDFLAG settings so we ended up
with -I-I and -L-L.

Originally committed to SVN as r1882.
2008-03-04 01:11:22 +00:00
Amar Takhar eee84bced9 Fix ffmpeg support, -lavcodec was added to both libs (avcodec/avformat), fix
the 2nd to be -lavformat.

Originally committed to SVN as r1881.
2008-03-04 01:02:13 +00:00
Amar Takhar f5764fa2e4 Add support for OpenAL.
Originally committed to SVN as r1880.
2008-03-04 00:59:02 +00:00
Amar Takhar 448add536a Fix --without-lua and --without-ffmpeg so they work as expected.
Originally committed to SVN as r1879.
2008-03-03 21:52:41 +00:00
Amar Takhar c44dd80448 Sigh.. _really_ remove the flags, -1 point for comitting before breakfast.
Originally committed to SVN as r1877.
2008-03-03 17:41:53 +00:00
Amar Takhar c86d525d98 Push linker/compiler flages up into the --with-lua* functions, this stops
empty flags from being passed.  I didn't notice beacuse I always have them
set.

Originally committed to SVN as r1876.
2008-03-03 17:39:39 +00:00
Amar Takhar 76ed1d4ad8 I forgot to add all the required libraries (on condition) to the final link.
Originally committed to SVN as r1875.
2008-03-03 09:59:59 +00:00
Amar Takhar c9b8969c6d Align the help for the --with* flags.
Originally committed to SVN as r1874.
2008-03-03 09:12:12 +00:00
Amar Takhar 964a710403 Add a --without-hunspell switch.
Originally committed to SVN as r1873.
2008-03-03 09:09:34 +00:00
Amar Takhar ed4e70fae8 Add preliminary support for the swscale library if swscale is not included
in ffmpeg, there are some linux distro's running ancient versions still.

Originally committed to SVN as r1872.
2008-03-03 08:57:08 +00:00
Amar Takhar 65ed5fa6b8 Fix typo s/LUA_CPPLAGS/LUA_CPPFLAGS/
Originally committed to SVN as r1871.
2008-03-03 08:45:15 +00:00
Amar Takhar 4f9183b4fe Add a note about removing the relative paths from the included headers.
Originally committed to SVN as r1870.
2008-03-03 08:28:12 +00:00
Amar Takhar 9ba882ed3c Fix missing tab, file and space. (figures.)
Originally committed to SVN as r1869.
2008-03-03 08:25:50 +00:00
Amar Takhar c92232db0c * Add a kludge to handle config.h for now until it's sorted properly (what a
pain).
* Fix generation of bitmaps/Makefile.am.

Originally committed to SVN as r1868.
2008-03-03 08:09:32 +00:00
Amar Takhar 14b319414f Add the 13 required AC_DEFINE lines to actually enable the
detected packages, I meant to do this but completely forgot.

Originally committed to SVN as r1867.
2008-03-03 07:54:19 +00:00
Amar Takhar 52d7d1e02f Fix some of the pre-auto* build glue, also set svn:executable.
Originally committed to SVN as r1866.
2008-03-03 07:29:29 +00:00
Amar Takhar b1c441ff73 Commit the new build system (complete re-write), this includes several changes:
* Sane C/CXX/CPP/LDFLAGS
 * --with/--without settings
 * Proper gettext support
 * System portability changes (to support OS X and all other unix-like osen)
 * Features to allow for proper compile time settings (support exists features
   need to be added)

This comes with no warrenty at the moment, auto3 and asa support are both
incomplete/non-existent, there is no documentation and some conftests still nee$
to be written.

It's still incomplete try it at your own risk!

Originally committed to SVN as r1865.
2008-03-03 07:22:58 +00:00
Niels Martin Hansen 1deb1b0217 Forgot to update version number
Originally committed to SVN as r1864.
2008-02-22 22:04:58 +00:00
Niels Martin Hansen a34ef985f9 Use positioning calculated from style rather than assuming \an8 alignment.
Originally committed to SVN as r1863.
2008-02-22 22:03:28 +00:00
Niels Martin Hansen 9f898ef5c2 Fix bug with # as first syllable on line, I think.
Originally committed to SVN as r1862.
2008-02-19 18:14:57 +00:00
Rodrigo Braz Monteiro d23733da21 Hopefully fixed crash on search dialog.
Originally committed to SVN as r1861.
2008-02-15 21:47:09 +00:00
shb 8e7f84c818 Fixed perl-api.txt further.
Originally committed to SVN as r1860.
2008-02-09 17:18:28 +00:00
shb 984bf384f9 Fixed perl-api.txt
Originally committed to SVN as r1859.
2008-02-09 17:12:29 +00:00
shb 5fd966f0f3 Various improvements to autoperl
Originally committed to SVN as r1858.
2008-02-03 19:21:02 +00:00
Rodrigo Braz Monteiro 05a87703ed Added a very early rough sketch of Aegilib (Aegisub's future subtitles manipulation library)
Originally committed to SVN as r1857.
2008-01-30 06:35:51 +00:00
Rodrigo Braz Monteiro 9eb12b0f36 Fixed source-wide spelling of the word adjacent.
Originally committed to SVN as r1856.
2008-01-27 22:09:47 +00:00
Niels Martin Hansen 375730fa52 Have kara-templater version number follow Aegisub version number.
Originally committed to SVN as r1855.
2008-01-27 21:55:43 +00:00
Rodrigo Braz Monteiro 3ee6d78939 Increased the default vertical size of audio display from 100 to 200.
Originally committed to SVN as r1854.
2008-01-27 18:30:16 +00:00
Niels Martin Hansen b25d7a8598 Some additional grouping of "Utilities" into sub-categories.
Originally committed to SVN as r1853.
2008-01-27 17:59:38 +00:00
Rodrigo Braz Monteiro c583f15082 Fixed button to open assdraw... again
Originally committed to SVN as r1852.
2008-01-27 16:58:15 +00:00
Rodrigo Braz Monteiro 52753169b0 Little update for universalchardet on x64.
Originally committed to SVN as r1851.
2008-01-27 04:14:46 +00:00
Niels Martin Hansen 519ebb3db8 CMake include for detecting the location of wxWidgets.
Originally committed to SVN as r1850.
2008-01-27 03:50:41 +00:00
Rodrigo Braz Monteiro b2a854396c Fixed ASSDraw3 and building of auto4-perl with console disabled.
Originally committed to SVN as r1849.
2008-01-27 03:04:42 +00:00
shb 9a7012de0b Made PerlConsole compilation optional. Added a funny line in autoperl docs.
Originally committed to SVN as r1848.
2008-01-27 01:22:01 +00:00
Rodrigo Braz Monteiro f6a7c5c98a Modified version string to say "RELEASE PREVIEW" instead of "PRE-RELEASE".
Originally committed to SVN as r1847.
2008-01-26 20:41:44 +00:00
Rodrigo Braz Monteiro db1de1a8e0 Fixed a rogue long path (made it short path) in avs audio provider.
Originally committed to SVN as r1846.
2008-01-26 17:18:12 +00:00
Rodrigo Braz Monteiro 96bb7cbe53 Fix for avisynth.h for it to work with avisynthx64
Originally committed to SVN as r1845.
2008-01-26 16:57:46 +00:00
Rodrigo Braz Monteiro 346520fbce Removed a #pragma from wxstd.h (yay for forced full rebuild) and updated installer.
Originally committed to SVN as r1844.
2008-01-26 03:42:01 +00:00
Rodrigo Braz Monteiro 4157469ed2 Changed the splash screen for 2.1.x releases.
Originally committed to SVN as r1843.
2008-01-26 03:35:58 +00:00
Rodrigo Braz Monteiro 07acd8ca62 Added petrkr's incomplete (work-in-progress) Czech translation
Originally committed to SVN as r1842.
2008-01-26 03:35:01 +00:00
shb 7cff10cf5b Fixed bugs in autoperl: entry's class recognition misreading comments as key:value; crash if core modules are not found; description not set after script loading failure.
Originally committed to SVN as r1841.
2008-01-26 01:24:52 +00:00
Rodrigo Braz Monteiro d793010a6b Updated assdraw project to support x64, fixed a few things, and changed Aegisub version string to 2.1.0.
Originally committed to SVN as r1840.
2008-01-26 00:21:54 +00:00
Rodrigo Braz Monteiro 94c7fcd101 Fixed assdraw3 to compile on MSVC with Unicode on. Thanks to TheFluff for the perl script to do the conversion.
Originally committed to SVN as r1839.
2008-01-25 23:16:29 +00:00
Rodrigo Braz Monteiro f0e617634c Changed the about screen to use a text box, also added a few missing library credits.
Originally committed to SVN as r1838.
2008-01-25 21:44:55 +00:00
Rodrigo Braz Monteiro 7ab7eae5bd Another fix to about screen.
Originally committed to SVN as r1836.
2008-01-25 21:23:25 +00:00
Rodrigo Braz Monteiro bb6c7c042e Updated the about screen.
Originally committed to SVN as r1835.
2008-01-25 21:20:38 +00:00
Rodrigo Braz Monteiro fdb2b47395 Fixed SRT exporting
Originally committed to SVN as r1834.
2008-01-25 20:57:58 +00:00
Rodrigo Braz Monteiro dd1ded0671 Made audio provider converter able to convert from 22 kHz
Originally committed to SVN as r1833.
2008-01-25 20:53:12 +00:00
Rodrigo Braz Monteiro 4478f14116 Reviewed UML diagram.
Originally committed to SVN as r1832.
2008-01-24 21:26:18 +00:00
Rodrigo Braz Monteiro 2fbe9a8f2b Added some UML (possibly incorrect) for the upcoming subtitles subsystem reform.
Originally committed to SVN as r1831.
2008-01-24 20:55:03 +00:00
Rodrigo Braz Monteiro 6487948d10 Fix to some 64-bit compatibility warnings in auto4_perl (note: please cast to size_t before casting to wxThread::ExitCode in the future)
Originally committed to SVN as r1830.
2008-01-24 17:52:46 +00:00
Rodrigo Braz Monteiro 542b8a1a61 ...and the 2005 one too.
Originally committed to SVN as r1829.
2008-01-24 17:48:54 +00:00
Rodrigo Braz Monteiro a4aa359c74 Updated the Visual Studio 2008 project...
Originally committed to SVN as r1828.
2008-01-24 17:48:34 +00:00
shb b2518f9ca1 New and reorganized perl sources. Autotools patched accordingly. Win build must be fixed.
Originally committed to SVN as r1827.
2008-01-24 17:20:47 +00:00
Niels Martin Hansen 260c2b5cb2 Possible fix for #643, but needs to be checked against other versions of wx, and whether it looks right on other OS'es.
Originally committed to SVN as r1826.
2008-01-24 10:33:32 +00:00
Niels Martin Hansen 3d9eb3eba0 Fix #558, very fail fix. Unwrap function call from assert() and it's suddenly called a lot more often in release builds.
Originally committed to SVN as r1825.
2008-01-23 23:02:26 +00:00
Rodrigo Braz Monteiro 6ade2e11ac Some more project fixes.
Originally committed to SVN as r1824.
2008-01-23 23:00:52 +00:00
Rodrigo Braz Monteiro 31165436df Updated win64 config0.h
Originally committed to SVN as r1823.
2008-01-23 22:31:56 +00:00
Rodrigo Braz Monteiro 092876d8dc Added VSFilter VS2008 project files
Originally committed to SVN as r1822.
2008-01-23 22:01:10 +00:00
Rodrigo Braz Monteiro a45c575865 A few more project fixes...
Originally committed to SVN as r1821.
2008-01-23 21:55:23 +00:00
Rodrigo Braz Monteiro 43d8d2aa3a Small fix to vs2005 project.
Originally committed to SVN as r1820.
2008-01-23 21:51:42 +00:00
Rodrigo Braz Monteiro c3f54bfacf Added Visual Studio 2008 (VC++9) project files.
Originally committed to SVN as r1819.
2008-01-23 21:50:35 +00:00
Rodrigo Braz Monteiro d1dac98f62 Fixed vsfilter solution.
Originally committed to SVN as r1818.
2008-01-23 06:57:39 +00:00
Rodrigo Braz Monteiro 4a59329784 Made universalchardet work on Win64 (it's a one-line patch [prcpucfg.h:146] to make it work on other OS, but I don't know what the proper define is)
Originally committed to SVN as r1817.
2008-01-23 06:17:18 +00:00
Rodrigo Braz Monteiro f562f89632 A few tweaks to allow x64 building of Aegisub
Originally committed to SVN as r1816.
2008-01-23 05:26:24 +00:00
Rodrigo Braz Monteiro 08274f0a0c Committed a (broken) copy of ASSDraw3 source code by ai-chan
Originally committed to SVN as r1815.
2008-01-23 02:22:15 +00:00
Rodrigo Braz Monteiro ef55f55df0 Updated Catalan translation (by Ereza)
Originally committed to SVN as r1814.
2008-01-22 23:42:16 +00:00
Rodrigo Braz Monteiro 7e83986497 Some random changes around.
Originally committed to SVN as r1813.
2008-01-22 20:36:07 +00:00
Rodrigo Braz Monteiro 1afa7566ab Originally committed to SVN as r1812. 2008-01-22 02:54:16 +00:00
Rodrigo Braz Monteiro d50c3575f9 Fixed crash on charset detection.
Originally committed to SVN as r1811.
2008-01-21 22:34:55 +00:00
Rodrigo Braz Monteiro ed29ba8f8b .sup generation presumably complete.
Originally committed to SVN as r1810.
2008-01-21 21:25:06 +00:00
Rodrigo Braz Monteiro 131cb6b861 .sup file generation now seems to work, except that the image itself is corrupted.
Originally committed to SVN as r1809.
2008-01-21 21:14:47 +00:00
Niels Martin Hansen 0e60c4b9cb Fix handling of LAVCKeyFrames to be when building WITH_FFMPEG rather than some guesses based on platform.
Originally committed to SVN as r1808.
2008-01-21 21:01:00 +00:00
Niels Martin Hansen 46ccee56b5 Protect remaining audio players by #ifdef and add those to config0.h and vcproj.
Originally committed to SVN as r1807.
2008-01-21 20:57:20 +00:00
Niels Martin Hansen 27e5fdc3ce Remove spurious #pragma once from DSound audio player, and add a comment about it needing rewrite once again. (It's doing COM wrong.)
Originally committed to SVN as r1806.
2008-01-21 20:56:39 +00:00
Rodrigo Braz Monteiro 6a811254e3 Complete (but untested) .sup generation.
Originally committed to SVN as r1805.
2008-01-21 20:35:31 +00:00
Rodrigo Braz Monteiro f8441e703c Made sup exporter encode subtitles (untested!), but it still can't generate a .sup file.
Originally committed to SVN as r1804.
2008-01-21 06:52:01 +00:00
Rodrigo Braz Monteiro 37c6828621 Made sup exporter multi-threaded with OpenMP. <3
Originally committed to SVN as r1803.
2008-01-21 05:46:52 +00:00
Rodrigo Braz Monteiro 849921c7c5 Added some initial code for DVD .sup generation (get lines from renderer and output them as 4-colour PNG files). This is currently only available on debug builds.
Originally committed to SVN as r1802.
2008-01-21 03:58:14 +00:00
Niels Martin Hansen b33e9c9bff Made alpha in pixel_value_map actually work.
Forgot to register ctx.get_source, done now.

Originally committed to SVN as r1801.
2008-01-21 00:07:58 +00:00
Rodrigo Braz Monteiro 251d6f3a21 Fixed a major bug related to config. Also, 1800 get.
Originally committed to SVN as r1800.
2008-01-20 23:57:03 +00:00
Niels Martin Hansen 23dc318406 Allow modifying alpha when mapping pixel values on ARGB32 surfaces.
Originally committed to SVN as r1799.
2008-01-20 23:42:54 +00:00
Rodrigo Braz Monteiro 084eddd7cf Added a x64 platform to projects, but don't expect it to work.
Originally committed to SVN as r1798.
2008-01-20 23:37:44 +00:00
Rodrigo Braz Monteiro 5cafaeb976 Fixed all (?) warnings on MSVC++ and made the default project treat warnings as errors. This fixed several 64-compatibility warnings, as well.
Originally committed to SVN as r1797.
2008-01-20 22:38:07 +00:00
Rodrigo Braz Monteiro da09a52b59 Applied p-static's patch to use swscale with ffmpeg video provider for major speed improvement.
Originally committed to SVN as r1796.
2008-01-20 21:15:22 +00:00
Rodrigo Braz Monteiro 8ce9d53757 Fixed division by zero (OSHI-) in audio display code.
Originally committed to SVN as r1795.
2008-01-20 20:09:49 +00:00
Rodrigo Braz Monteiro efc04d9e4c Another attempt to fix assdraw icon on Unix
Originally committed to SVN as r1794.
2008-01-20 20:05:29 +00:00
Rodrigo Braz Monteiro 9731d53eea Fixed playback of independent lines.
Originally committed to SVN as r1793.
2008-01-20 19:51:48 +00:00
Rodrigo Braz Monteiro 382fb4953b Unix fix.
Originally committed to SVN as r1792.
2008-01-20 19:18:10 +00:00
Rodrigo Braz Monteiro 5089d62bdc Misc updates.
Originally committed to SVN as r1791.
2008-01-20 17:46:26 +00:00
Rodrigo Braz Monteiro 1d237af42c Added support for ASSDraw3 (that is, a menu item to launch the program if it's available on the same folder as Aegisub.exe)
Originally committed to SVN as r1790.
2008-01-20 17:34:35 +00:00
Rodrigo Braz Monteiro 8b8a93f560 Improved window for detection of charset, but still doesn't solve cp1258 issue.
Originally committed to SVN as r1789.
2008-01-20 07:24:04 +00:00
Rodrigo Braz Monteiro 5ce231c09a Updated installer.
Originally committed to SVN as r1788.
2008-01-20 07:06:21 +00:00
Rodrigo Braz Monteiro f5306dc6a9 Re-worked the fonts collector log box to use wx's event system. If this doesn't fix the crashes, I'll try sacrificing a goat.
Originally committed to SVN as r1787.
2008-01-20 06:46:10 +00:00
Rodrigo Braz Monteiro 984c2362fd Applied p-static's video playback timing patch, and fixed a few things for eventual dynamic wx linking.
Originally committed to SVN as r1786.
2008-01-20 06:14:40 +00:00
Rodrigo Braz Monteiro 8728753844 Forgot an important option to force to default.
Originally committed to SVN as r1785.
2008-01-20 04:56:44 +00:00
Rodrigo Braz Monteiro 33117888f0 Added a system to "revoke" old option values and force defaults if the previous version of Aegisub was too old. Set this for several config options.
Originally committed to SVN as r1784.
2008-01-20 04:55:44 +00:00
Niels Martin Hansen 15ce07e803 Fix inline-fx parsing in karaskel and handling in kara-templater. (Fixes #577)
Originally committed to SVN as r1783.
2008-01-19 23:53:29 +00:00
Rodrigo Braz Monteiro d4a35fc03b Updated installer for monolithic ffmpegsource
Originally committed to SVN as r1782.
2008-01-19 20:31:22 +00:00
Rodrigo Braz Monteiro da6af1f5b2 Applied niks-'s patch for Makefile.am
Originally committed to SVN as r1781.
2008-01-19 17:39:50 +00:00
Niels Martin Hansen 753452b53f Correct the example for path.map_coords
Originally committed to SVN as r1780.
2008-01-19 16:48:24 +00:00
Karl Blomster 7df5708f03 Fixed some dialog boxes that had help buttons pointing to the wrong places or nowhere.
Originally committed to SVN as r1779.
2008-01-19 09:28:34 +00:00
Rodrigo Braz Monteiro d87eeda5f3 Made Aegisub open the local documentation files instead of the online ones, and changed the installer to install docs as well - they will be retrieved from trunk/docs/output, so make sure to run the Perl script there (just use the batch file).
Originally committed to SVN as r1778.
2008-01-19 05:53:11 +00:00
Karl Blomster 234c41a29d Modified the documentation export script so it writes all images directly to ./images/*.
Originally committed to SVN as r1777.
2008-01-19 05:22:55 +00:00
Rodrigo Braz Monteiro dc6aa3f161 Avisynth audio provider will now never deliver audio under 32 kHz, fixing the dsound playback bug.
Originally committed to SVN as r1776.
2008-01-19 02:38:31 +00:00
Rodrigo Braz Monteiro dd3047e571 Made previous patch apply to every other provider, too.
Originally committed to SVN as r1775.
2008-01-19 02:20:30 +00:00
Rodrigo Braz Monteiro ca1d42ba55 Added a conversion audio provider to convert 8-bit audio into 16-bit.
Originally committed to SVN as r1774.
2008-01-19 02:18:08 +00:00
Rodrigo Braz Monteiro c9f31a2d83 Fixed crash when attempting to load an empty file.
Originally committed to SVN as r1773.
2008-01-19 01:59:50 +00:00
Rodrigo Braz Monteiro dca02bd76d Fixed auto-splitting of karaoke (#597)
Originally committed to SVN as r1772.
2008-01-19 00:48:47 +00:00
Rodrigo Braz Monteiro 52d47c32e2 Fixed scrolling of audio display when it is resized. Fixes #524
Originally committed to SVN as r1771.
2008-01-19 00:39:42 +00:00
Rodrigo Braz Monteiro 0537e36bd3 Fixed bug with macro application and grid scrollbar: #559
Originally committed to SVN as r1770.
2008-01-19 00:21:32 +00:00
Rodrigo Braz Monteiro 53e7f60fe0 Fixed tag transformation with Lua expressions (%), issue #637
Originally committed to SVN as r1769.
2008-01-18 22:27:42 +00:00
Rodrigo Braz Monteiro e5439a03fe er... ACTUALLY fixed it now.
Originally committed to SVN as r1768.
2008-01-18 18:36:52 +00:00
Rodrigo Braz Monteiro e84071395a Fixed a crash in spectrum analyzer.
Originally committed to SVN as r1767.
2008-01-18 18:35:55 +00:00
Rodrigo Braz Monteiro f1a8d80f0d A few more fixes pointed out by Yuri
Originally committed to SVN as r1766.
2008-01-18 17:07:00 +00:00
Rodrigo Braz Monteiro 406623443b Added a missing translatable string.
Originally committed to SVN as r1765.
2008-01-18 16:49:30 +00:00
Karl Blomster f4f619d22b minor clarifications in perl-api.txt
Originally committed to SVN as r1764.
2008-01-18 06:01:27 +00:00
Rodrigo Braz Monteiro 6a27b9a075 r1762 installer.
Originally committed to SVN as r1763.
2008-01-18 04:37:07 +00:00
Rodrigo Braz Monteiro 85e100c4f7 Changed Automation's autoload to ignore files of unknown extensions, instead of complaining about being unable to load them. This is necessary for the optional Perl support.
Originally committed to SVN as r1762.
2008-01-18 03:45:43 +00:00
Karl Blomster 7ffc21cc7e FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Aegisub.pm
Originally committed to SVN as r1761.
2008-01-18 03:22:31 +00:00
Rodrigo Braz Monteiro 864c446318 Fixes to Perl support on Windows
Originally committed to SVN as r1760.
2008-01-18 03:10:16 +00:00
Karl Blomster 7a6f2973c5 moved perl-console.pl to /trunk/automation/demos instead
Originally committed to SVN as r1759.
2008-01-18 03:05:45 +00:00
Karl Blomster 09924e9716 Added auto4perl includes and (highly incomplete) API docs
Originally committed to SVN as r1758.
2008-01-18 01:46:12 +00:00
Rodrigo Braz Monteiro 224f592f17 Minor changes to installer.
Originally committed to SVN as r1757.
2008-01-18 01:14:03 +00:00
Rodrigo Braz Monteiro 6693c5c325 Small fix to restart program, and updated installer
Originally committed to SVN as r1756.
2008-01-18 00:56:24 +00:00
Rodrigo Braz Monteiro af08810075 Finished pt_BR translation.
Originally committed to SVN as r1755.
2008-01-18 00:38:05 +00:00
Niels Martin Hansen 6e621dcc8c Adding $width and $height to kara-templater.
Originally committed to SVN as r1754.
2008-01-17 23:23:46 +00:00
Rodrigo Braz Monteiro ae641fec3d More translation-related updates
Originally committed to SVN as r1753.
2008-01-17 20:30:44 +00:00
Rodrigo Braz Monteiro 71502c1eeb Patched universalchardet to allow Aegisub to pick all possible encodings that it found and present them to the user.
Originally committed to SVN as r1752.
2008-01-17 18:35:06 +00:00
Rodrigo Braz Monteiro 44da8de898 Updated libass to the "latest" standalone version (from almost a year ago...), + h4x for it to build on MSVC
Originally committed to SVN as r1751.
2008-01-17 16:50:19 +00:00
Karl Blomster f4c2ffac54 Minor tweaks to Auto4Utils.pm
Originally committed to SVN as r1750.
2008-01-17 15:48:52 +00:00
Karl Blomster f2b6d17eb3 Adding Perl conversions of utils.lua. Requires discussion of what symbols should be exported by default; for now it exports the ones I think are interesting.
Originally committed to SVN as r1749.
2008-01-17 05:34:16 +00:00
Rodrigo Braz Monteiro cf38dbe139 Updated config0.h to include the Perl define
Originally committed to SVN as r1748.
2008-01-17 01:45:42 +00:00
Karl Blomster dae9dfaee4 Added edgeblur macro example for the perl flavor of auto4.
Originally committed to SVN as r1747.
2008-01-17 00:27:49 +00:00
Niels Martin Hansen 1bf3fad8a1 One-byte-bug, missing backslash.
Originally committed to SVN as r1746.
2008-01-16 23:40:56 +00:00
Rodrigo Braz Monteiro 75d3fa5a0b Final tweaks to perl fix.
Originally committed to SVN as r1745.
2008-01-16 20:06:52 +00:00
Rodrigo Braz Monteiro 5fbe03e04e Some more hacks to make Perl work (the irony) on VC++
Originally committed to SVN as r1744.
2008-01-16 19:56:15 +00:00
Rodrigo Braz Monteiro b9c9782c76 Perl now builds and links on VC++, but crashes on start.
Originally committed to SVN as r1743.
2008-01-16 19:36:17 +00:00
Rodrigo Braz Monteiro 8ee4b4a769 Some fixes to perl4 code that will hopefully not break unix building, but still don't fix win32.
Originally committed to SVN as r1742.
2008-01-16 18:41:59 +00:00
Rodrigo Braz Monteiro c2aaa4eb8c Added shb's incomplete perl support code (doesn't build on VC++ yet)
Originally committed to SVN as r1741.
2008-01-16 18:29:29 +00:00
Rodrigo Braz Monteiro 62bbb59273 Updated URLs to the new subdomains.
Originally committed to SVN as r1740.
2008-01-16 16:11:48 +00:00
Rodrigo Braz Monteiro cee3ed931a Temporary hack to deal with some mkv files while a proper fix is discussed.
Originally committed to SVN as r1739.
2008-01-16 02:46:36 +00:00
Rodrigo Braz Monteiro b0d0c01b93 Added a "save timecodes" option. Also updated pt_BR translation a bit more.
Originally committed to SVN as r1738.
2008-01-16 02:31:37 +00:00
Rodrigo Braz Monteiro bb711ef9f4 Some minor tweaks to some dialogs.
Originally committed to SVN as r1737.
2008-01-16 01:01:40 +00:00
Rodrigo Braz Monteiro 21a5412143 Fixed tab getting stuck on the style editor dialog.
Originally committed to SVN as r1736.
2008-01-16 00:34:39 +00:00
Rodrigo Braz Monteiro 51725ff9a7 Made video position not show on audio by default, also made it check whether audio is visible before trying to update it.
Originally committed to SVN as r1735.
2008-01-15 22:51:16 +00:00
Rodrigo Braz Monteiro e271b979b2 Added OpenMP support on audio spectrum generation, and updated portuguese translation a little bit.
Originally committed to SVN as r1734.
2008-01-15 22:18:54 +00:00
Rodrigo Braz Monteiro a3c8e61f16 Added a #WITH_OLD_HUNSPELL option on config.h to let Hunspell use Hunspell::put_word() instead of Hunspell:AddWord().
Originally committed to SVN as r1733.
2008-01-15 17:24:49 +00:00
Karl Blomster 3b10cbd3c8 Export script now kills recent changes link in navigation bar.
Originally committed to SVN as r1732.
2008-01-15 05:09:18 +00:00
Karl Blomster 117aa22e8d COPYFIGHT!
Originally committed to SVN as r1731.
2008-01-15 04:55:16 +00:00
Rodrigo Braz Monteiro 5f3abc5f96 Added a win32 batch file to generate docs.
Originally committed to SVN as r1730.
2008-01-15 04:49:47 +00:00
Karl Blomster 00145ea3d0 Updated the export script. It should now handle (almost) everything properly.
Originally committed to SVN as r1729.
2008-01-15 04:49:01 +00:00
Rodrigo Braz Monteiro 86271e82b7 Added a make_pot.bat to generate translation template, and updated aegisub.pot.
Originally committed to SVN as r1728.
2008-01-15 04:32:48 +00:00
Rodrigo Braz Monteiro ffebc6a30f r1723 installer
Originally committed to SVN as r1727.
2008-01-15 01:52:33 +00:00
Rodrigo Braz Monteiro 62efd59db7 meh.
Originally committed to SVN as r1726.
2008-01-15 01:30:37 +00:00
Rodrigo Braz Monteiro ecbc4d64ce Deleted the old manual files and added an "output" folder for the script.
Originally committed to SVN as r1725.
2008-01-15 01:29:09 +00:00
Karl Blomster 04cbb3a74f Added a Perl script that converts the online wiki manual to static HTML. Still has a few annoying parsing bugs but it's mostly complete.
Originally committed to SVN as r1724.
2008-01-15 01:18:49 +00:00
Rodrigo Braz Monteiro 3ce6d62f4e Hopefully made Aegisub compile on Linux without WITH_FFMPEG.
Originally committed to SVN as r1723.
2008-01-15 00:54:54 +00:00
Rodrigo Braz Monteiro bfea6fd11e Made the installer compile, but now I'm not sure if it's still installing the runtimes.
Originally committed to SVN as r1722.
2008-01-14 20:53:57 +00:00
Rodrigo Braz Monteiro d810e87d85 Updated installer file paths to grab stuff directly from repository.
Originally committed to SVN as r1721.
2008-01-14 20:46:29 +00:00
Rodrigo Braz Monteiro ba1e1b6588 Changed automation's icon with something less hideous.
Originally committed to SVN as r1720.
2008-01-14 20:08:14 +00:00
Rodrigo Braz Monteiro 74e6a888da Added a help button to visual typesetting and added an icon for the select lines tool.
Originally committed to SVN as r1719.
2008-01-14 19:46:46 +00:00
Rodrigo Braz Monteiro e307f0578c Maybe fixed fonts collector crashing.
Originally committed to SVN as r1718.
2008-01-14 18:40:23 +00:00
Rodrigo Braz Monteiro 95492cec5e Fixed the fonts collector, now it should be able to find any real font installed.
Originally committed to SVN as r1717.
2008-01-14 18:36:10 +00:00
Rodrigo Braz Monteiro 67df761c51 Something is still broken with unicode conversion but I'll figure that out tomorrow
Originally committed to SVN as r1716.
2008-01-14 07:06:43 +00:00
Rodrigo Braz Monteiro 1b6f421917 Worthless attempt to fix stuff
Originally committed to SVN as r1715.
2008-01-14 06:38:33 +00:00
Rodrigo Braz Monteiro 3acc7b35a8 Improved (but still far from perfect) Fonts Collector performance
Originally committed to SVN as r1714.
2008-01-14 05:54:58 +00:00
Rodrigo Braz Monteiro a69fe9e71e Made the Hunspell dictionary provider use a different dictionary (on user path) for user-defined words (fixes #477)
Originally committed to SVN as r1713.
2008-01-14 02:01:50 +00:00
Rodrigo Braz Monteiro 6116b0af7b Implemented an optional line indicating the current video position on the audio (request #542)
Originally committed to SVN as r1712.
2008-01-14 01:18:24 +00:00
Rodrigo Braz Monteiro f939133a36 Fixed the issue on #538, although this needs some testing to see if it didn't break timecode loading support.
Originally committed to SVN as r1711.
2008-01-14 00:39:19 +00:00
Rodrigo Braz Monteiro 91986412b9 Fixed #630 (resample and \clip tags) and cleaned up some of the ASS tag structure.
Originally committed to SVN as r1710.
2008-01-14 00:30:00 +00:00
Rodrigo Braz Monteiro 400e37c2cd Made vector clip default to insertion if there is no previous vector to edit (#522). Also fixed a minor glitch when mouse was outside the window on that mode.
Originally committed to SVN as r1709.
2008-01-13 23:53:43 +00:00
Rodrigo Braz Monteiro 3aaffcf0fc Fixed the enter key on the goto dialog and MAYBE glitch #569
Originally committed to SVN as r1708.
2008-01-13 23:47:58 +00:00
Rodrigo Braz Monteiro dd0fdcae46 Updated addresses for the bug tracker and IRC channel
Originally committed to SVN as r1707.
2008-01-13 23:36:38 +00:00
Rodrigo Braz Monteiro 984438618f Finished adding help buttons to every relevant dialog.
Originally committed to SVN as r1706.
2008-01-13 23:34:38 +00:00
Rodrigo Braz Monteiro cd3dbd87f3 Added help button to dummy video dialog
Originally committed to SVN as r1705.
2008-01-13 22:41:34 +00:00
Rodrigo Braz Monteiro 2127d100ac Fixed Shift Times window layout and added help buttons to it and translation assistant.
Originally committed to SVN as r1704.
2008-01-13 22:25:26 +00:00
Rodrigo Braz Monteiro 62e3c7a3a6 Added help button to colour picker and changed its default colour space to HSV/H.
Originally committed to SVN as r1703.
2008-01-13 22:06:04 +00:00
Rodrigo Braz Monteiro 3f522b8836 Several minor fixes to spellchecking dialog. Also added a help button to it.
Originally committed to SVN as r1702.
2008-01-13 21:54:31 +00:00
Rodrigo Braz Monteiro 6c19999e06 Added and fixed more help buttons.
Originally committed to SVN as r1701.
2008-01-13 21:27:06 +00:00
Rodrigo Braz Monteiro e0f3086369 1700 GET. Changed how the help button works, and made it direct to the wiki for now. Only 4 help buttons work, so far.
Originally committed to SVN as r1700.
2008-01-13 21:05:31 +00:00
Karl Blomster 58b1637bd8 Made SetVideo discard keyframe data if every frame in the video is a keyframe. Fixes #547.
Originally committed to SVN as r1699.
2008-01-13 20:25:47 +00:00
Rodrigo Braz Monteiro acc26dba67 Applied Mosc's patch (plus a small change to variable_data.cpp) to fix #605 and #557, both related to $ variables in the middle of tags being wiped by different features.
Originally committed to SVN as r1698.
2008-01-13 19:36:05 +00:00
Karl Blomster 10fa94f768 "Copy to storage" in the styles manager now prompts the user if he wants to overwrite if the style already exists in the storage (previously it would do nothing, goggles etc.). Fixes #573.
Originally committed to SVN as r1697.
2008-01-13 06:42:34 +00:00
Rodrigo Braz Monteiro 12d9a32170 Disabled a warning in hunspell, dunno if it'll make any difference but I'm tired and too lazy to test.
Originally committed to SVN as r1696.
2008-01-13 06:18:29 +00:00
Rodrigo Braz Monteiro 39ccfa89a6 Final changes to use hunspell from repository as a dep project
Originally committed to SVN as r1695.
2008-01-13 06:08:45 +00:00
Rodrigo Braz Monteiro 6d9b40114c Added a minimal hunspell (for win32 only) to repository
Originally committed to SVN as r1694.
2008-01-13 05:57:09 +00:00
Karl Blomster b16bfa6676 Changed the "split line at cursor" functions so they now split what the user sees, not what's actually committed. Fixes #632.
Originally committed to SVN as r1693.
2008-01-12 22:40:04 +00:00
Rodrigo Braz Monteiro 8a6f04512b Made detached video window remember its last position/maximized state - #492
Originally committed to SVN as r1692.
2008-01-12 03:29:45 +00:00
Rodrigo Braz Monteiro 30fc5aa32f Made Aegisub remember whether video was detached or not last time.
Originally committed to SVN as r1691.
2008-01-12 03:12:49 +00:00
Rodrigo Braz Monteiro d7d66733f0 Fixed closing of video with detached video window open
Originally committed to SVN as r1690.
2008-01-12 03:09:48 +00:00
Karl Blomster ec2a2fa1e3 Modified "split at cursor" so it trims off whitespace around the split point. Fixes #523.
Originally committed to SVN as r1689.
2008-01-11 19:45:15 +00:00
Rodrigo Braz Monteiro 606f4807f8 Re-fixed release build. >_>
Originally committed to SVN as r1688.
2008-01-11 14:13:23 +00:00
Rodrigo Braz Monteiro 22032bc7da Some more fixes to detached video display, but I don't know how well it's working, as there are several GL issues here.
Originally committed to SVN as r1687.
2008-01-11 05:44:00 +00:00
Rodrigo Braz Monteiro 777f74d394 Fixed #510 (detached video closing)
Originally committed to SVN as r1686.
2008-01-11 04:48:11 +00:00
Rodrigo Braz Monteiro d3ac586ad7 Possibly fixed #606 (fonts collector crash)
Originally committed to SVN as r1685.
2008-01-11 04:36:29 +00:00
Rodrigo Braz Monteiro 5a9249f227 Fixed #617 (auto-solve corrupt config.dat)
Originally committed to SVN as r1684.
2008-01-11 04:04:28 +00:00
Rodrigo Braz Monteiro 337d451e94 Fixed #535 (audio stop button icon)
Originally committed to SVN as r1683.
2008-01-11 03:49:25 +00:00
Rodrigo Braz Monteiro df515c6f3b Fixed #549
Originally committed to SVN as r1682.
2008-01-11 03:38:06 +00:00
Rodrigo Braz Monteiro 71f641d649 Fixed #550
Originally committed to SVN as r1681.
2008-01-11 03:33:23 +00:00
Rodrigo Braz Monteiro 6c330f12e4 Changed the behaviour of ?data to use GetDataDir(), which should be better for unix
Originally committed to SVN as r1680.
2008-01-11 01:57:30 +00:00
Karl Blomster 0dfaad3aa4 fix previous commit
Originally committed to SVN as r1679.
2008-01-11 00:56:02 +00:00
Karl Blomster 1990715ce1 update changelog
Originally committed to SVN as r1678.
2008-01-11 00:53:42 +00:00
Rodrigo Braz Monteiro 9e762b504b Changed lib name for hunspell to semi-conform to the official solution (debug lib needs _d appended).
Originally committed to SVN as r1677.
2008-01-11 00:38:47 +00:00
Rodrigo Braz Monteiro 1ab15ad85f Changed how FT2 is linked on MSVC (with a #define on config.h)
Originally committed to SVN as r1676.
2008-01-11 00:18:15 +00:00
Rodrigo Braz Monteiro 96bf1659a9 Mental note: make sure that you make changes on "All Settings", not just Debug.
Originally committed to SVN as r1675.
2008-01-10 23:29:26 +00:00
Rodrigo Braz Monteiro 6f29cc7105 Small fix to last commit
Originally committed to SVN as r1674.
2008-01-10 23:22:49 +00:00
Karl Blomster bc1b90a3c3 Fix saving of screenshots when dummy video is used and the screenshot save path is ?video by trying ?script instead and if that isn't defined, save to user's home dir.
Fixes mantis issue #442.

Originally committed to SVN as r1673.
2008-01-10 22:28:47 +00:00
Rodrigo Braz Monteiro c0b9a2a5bd Got rid of build-credit.h
Originally committed to SVN as r1672.
2008-01-10 21:27:53 +00:00
Rodrigo Braz Monteiro 84079aa7a1 Updated the config file.
Originally committed to SVN as r1671.
2008-01-10 21:13:50 +00:00
Rodrigo Braz Monteiro ba1785d936 Made project ignore warning 4267.
Originally committed to SVN as r1670.
2008-01-10 21:07:10 +00:00
Dan Donovan e0b5576104 can disable dragging start/end times with config option "disable dragging times" (requested)
Originally committed to SVN as r1669.
2008-01-10 20:49:31 +00:00
Rodrigo Braz Monteiro 2c366e76ee Added a small readme on how to set up MSVC to build the included project.
Originally committed to SVN as r1668.
2008-01-10 20:46:38 +00:00
Karl Blomster 5bb13493cd update copyright statements to 2008 in about dialog (el oh el)
Originally committed to SVN as r1667.
2008-01-09 02:01:48 +00:00
Karl Blomster 05f1a58134 added .m4a to list of recognized audio formats
Originally committed to SVN as r1666.
2008-01-08 22:17:24 +00:00
Fredrik Mellbin 6afff8a422 FFmpegSource 1.14
Originally committed to SVN as r1665.
2008-01-05 13:27:12 +00:00
Niels Martin Hansen f27241bd3f Minor fixes for (old) OS X builds
Originally committed to SVN as r1664.
2008-01-05 00:02:06 +00:00
Rodrigo Braz Monteiro 68203a896a Added auto3 lib+dll to repository and made auto4_auto3.cpp automatically link to it.
Originally committed to SVN as r1663.
2008-01-01 22:55:58 +00:00
Rodrigo Braz Monteiro 3f4349584f Removed dependency from universal charset detector (that was the last one)
Originally committed to SVN as r1662.
2008-01-01 22:42:29 +00:00
Rodrigo Braz Monteiro 75b4fb1437 Made almost all major components of Aegisub optional... this might be severely broken still.
Originally committed to SVN as r1660.
2007-12-31 06:46:22 +00:00
Rodrigo Braz Monteiro 7d1d0fe46a Created early official .vcproj and folder structure
Originally committed to SVN as r1658.
2007-12-31 02:27:49 +00:00
Niels Martin Hansen a24a1c8e4e Fix to "mirror" edge condition class
Originally committed to SVN as r1657.
2007-12-29 22:28:41 +00:00
Niels Martin Hansen 44a414e893 New karaoke timing helper script to automatically add lead-in timing to lines, such that they join up.
Originally committed to SVN as r1656.
2007-12-16 18:46:47 +00:00
Niels Martin Hansen d7f962e2e9 tenv.basesyl was set incorrectly
Originally committed to SVN as r1655.
2007-11-23 23:43:13 +00:00
Rodrigo Braz Monteiro e288aa6897 Applied p-static's patch for ALSA
Originally committed to SVN as r1654.
2007-11-16 13:15:26 +00:00
Niels Martin Hansen 1cf34a15e7 Fix bug in 'ifgtz' and 'ifeqz' functions in RPN expression engine: they didn't check for the correct number of parameters, and caused a nasty crash as a result, if the number passed was wrong.
Originally committed to SVN as r1653.
2007-11-14 20:44:47 +00:00
Rodrigo Braz Monteiro c57ab33467 Fixed loading of mkv files over 2 GB... hopefully, without destroying the posix ports.
Originally committed to SVN as r1652.
2007-11-13 20:28:09 +00:00
Niels Martin Hansen e9c894a2e0 Publish effect script for AS-Fansubs Prism Ark OP kara as sample, not as well commented as the Gundam 00 OP 1 one.
Originally committed to SVN as r1651.
2007-11-06 20:54:59 +00:00
Niels Martin Hansen a00b809a98 Publishing ClaveMen Gundam 00 OP 1 kara effect as sample script.
Originally committed to SVN as r1650.
2007-11-06 20:39:32 +00:00
Niels Martin Hansen afe0996608 More debug trace prints in kara-templater, especially for debugging code lines.
Originally committed to SVN as r1649.
2007-11-06 19:53:20 +00:00
Dan Donovan 0edd8bece1 fix kanji timer
Originally committed to SVN as r1648.
2007-11-01 21:47:37 +00:00
Niels Martin Hansen ccca10564c Missing linebreak in debug trace message
Originally committed to SVN as r1647.
2007-11-01 21:17:50 +00:00
Rodrigo Braz Monteiro 76da71cef4 Applied perchr's patch for a progress bar while loading keyframes on posix.
Originally committed to SVN as r1646.
2007-11-01 18:14:56 +00:00
Rodrigo Braz Monteiro 4b607e9454 Minor tweaks to the layout of kanji timer.
Originally committed to SVN as r1645.
2007-10-31 21:52:51 +00:00
Rodrigo Braz Monteiro cf9c0bc8ac Gecko almost working... and by almost, I really mean that it doesn't. It seems to initialize and load a page properly, but only shows a grey box that eventually makes wx's event handler crash.
Originally committed to SVN as r1644.
2007-10-31 18:36:10 +00:00
Rodrigo Braz Monteiro fb34d37e23 pnb's fix to autosave.
Originally committed to SVN as r1643.
2007-10-30 20:40:10 +00:00
Rodrigo Braz Monteiro 11fe00e620 Completely broke traydict in preparation of the next stuff.
Originally committed to SVN as r1642.
2007-10-30 00:00:55 +00:00
Rodrigo Braz Monteiro 1142b17362 I'm an idiot. Fixed last commit.
Originally committed to SVN as r1641.
2007-10-29 18:50:49 +00:00
Rodrigo Braz Monteiro a8fa4b49ae Applied 2points' patch for keyframe support in AVI files in Unix systems
Originally committed to SVN as r1640.
2007-10-29 18:48:02 +00:00
Rodrigo Braz Monteiro 67b15eacd4 changes to traydict
Originally committed to SVN as r1639.
2007-10-29 17:43:42 +00:00
Karl Blomster c22c36c687 fixed tabs, argh
Originally committed to SVN as r1638.
2007-10-29 15:49:46 +00:00
Karl Blomster 1d3ec92627 added unicodereplace.pl script
Originally committed to SVN as r1637.
2007-10-29 15:47:50 +00:00
Rodrigo Braz Monteiro f46155a991 New kana table for aegisub too
Originally committed to SVN as r1636.
2007-10-29 15:35:53 +00:00
Rodrigo Braz Monteiro 53fe61c546 Hopefully fixed the behaviour of layer spin control.
Originally committed to SVN as r1635.
2007-10-29 15:30:04 +00:00
Rodrigo Braz Monteiro 268ee2b8af Yay for script breaking the BOM
Originally committed to SVN as r1634.
2007-10-29 15:18:57 +00:00
Karl Blomster c8db0d4424 converted all characters with codepoints higher than 255 to \uHEX format
Originally committed to SVN as r1633.
2007-10-29 15:15:28 +00:00
Rodrigo Braz Monteiro 5859b4c9c0 A few more changes to traydict
Originally committed to SVN as r1632.
2007-10-29 05:42:00 +00:00
Rodrigo Braz Monteiro 6b74afd8d9 Random changes in traydict
Originally committed to SVN as r1630.
2007-10-29 04:29:04 +00:00
Rodrigo Braz Monteiro 97a14933a4 Applied 2points's patch to work around a crash in ass and libass when there are no styles in the file.
Originally committed to SVN as r1629.
2007-10-29 02:09:45 +00:00
Niels Martin Hansen b706e3c7b7 Install Automation scripts readonly, and yet again a new way of handling the runtime libs installation.
Originally committed to SVN as r1628.
2007-10-28 19:39:27 +00:00
Niels Martin Hansen 991562d0f3 Don't check lib libssa - it's not supported and won't ever be. (It's a dead project.)
Originally committed to SVN as r1627.
2007-10-28 14:41:04 +00:00
Rodrigo Braz Monteiro c3a9aa812a Applied 2points's patch to fix #576
Originally committed to SVN as r1626.
2007-10-27 22:19:49 +00:00
Rodrigo Braz Monteiro c249e1c4c9 Applied patch by 2points to fix an issue with thesaurus.
Originally committed to SVN as r1625.
2007-10-26 19:30:59 +00:00
Niels Martin Hansen 8d797046a7 Fix for keyframe file reading
Originally committed to SVN as r1624.
2007-10-26 19:27:42 +00:00
Rodrigo Braz Monteiro d761baadf3 Untitled files will now get auto-saved as "Untitled.AUTOSAVE.ass".
Originally committed to SVN as r1620.
2007-10-22 20:47:57 +00:00
Rodrigo Braz Monteiro 45f5886c2a Fixed some critical mkv loading issues.
Originally committed to SVN as r1619.
2007-10-22 20:10:35 +00:00
Rodrigo Braz Monteiro 41f3dcc35d More tweaks to the hotkeys screen, should now behave much better than before.
Originally committed to SVN as r1618.
2007-10-21 01:13:26 +00:00
Rodrigo Braz Monteiro 045583c190 Improved hotkeys manager, and tweaked style manager.
Originally committed to SVN as r1617.
2007-10-20 23:04:06 +00:00
Niels Martin Hansen c4347d9e8a A bunch more tips for the tip of the day window, especially focused on audio timing.
Originally committed to SVN as r1616.
2007-10-19 03:34:07 +00:00
Niels Martin Hansen eeee2aeb53 Update to audio spectrum quality settings. The quality settings now means something slightly different (but are more sensible) and there is always a memory max enforced for the spectrum cache.
Originally committed to SVN as r1615.
2007-10-19 03:32:53 +00:00
Rodrigo Braz Monteiro 2e57dda49e Small tweak to avs video provider
Originally committed to SVN as r1614.
2007-10-19 00:55:03 +00:00
Niels Martin Hansen 003b2d8736 Final installer script for 1611 build release
Originally committed to SVN as r1613.
2007-10-18 22:05:56 +00:00
Niels Martin Hansen b714a644de Misc. changes to installer to prepare for next build release
Originally committed to SVN as r1612.
2007-10-18 20:51:31 +00:00
Rodrigo Braz Monteiro 381d4ad9d5 Made ffmpegsource no longer write caches.
Originally committed to SVN as r1611.
2007-10-18 20:19:06 +00:00
Rodrigo Braz Monteiro c1633cfaf0 Fixed the behaviour of vector clip when realtime mode is on.
Originally committed to SVN as r1610.
2007-10-18 19:17:01 +00:00
Rodrigo Braz Monteiro 06530d716c Fix to resampler
Originally committed to SVN as r1609.
2007-10-18 16:33:46 +00:00
Rodrigo Braz Monteiro 5d5278db88 Changed buttons for the resample dialog and made call tips be off by default.
Originally committed to SVN as r1608.
2007-10-18 15:42:07 +00:00
Rodrigo Braz Monteiro d4d4c864db Fixed #399
Originally committed to SVN as r1607.
2007-10-18 03:18:39 +00:00
Rodrigo Braz Monteiro 5f7d953f43 Fixed #568
Originally committed to SVN as r1606.
2007-10-18 03:12:18 +00:00
Rodrigo Braz Monteiro 9058955430 Added offsetting support to the resolution resampler.
Originally committed to SVN as r1605.
2007-10-18 02:47:13 +00:00
Niels Martin Hansen b1c39b5698 Set cbSize in WAVEFORMATEX correctly, even though it's supposed to be ignored for PCM format, and don't include the unused flag for notification-event support in the buffer creation flags.
Originally committed to SVN as r1604.
2007-10-18 02:27:55 +00:00
Niels Martin Hansen c306eef796 Fix "keyframes file not found" error always occurring on subs file load, when no keyframes file was used.
Originally committed to SVN as r1603.
2007-10-18 02:26:14 +00:00
Niels Martin Hansen 509732b0c2 Fix #580 - DSound playback stops before end of selection. Only happened with selections longer than 150 ms and up to 150*BytesPerSample ms, that is, 300 ms for the most common 16 bit audio. The condition used to test whether streaming or one-shot mode should be used didn't take sampledepth into account and compared a number of samples with a buffer length in bytes.
Originally committed to SVN as r1602.
2007-10-18 00:33:07 +00:00
Niels Martin Hansen b77918f832 Sample script showing using OverLua for simple spatial filtering.
Originally committed to SVN as r1601.
2007-10-13 02:14:56 +00:00
Niels Martin Hansen 84afda857e Look for VSFilter.dll in ?data/csri/ first, then ?data/ and then registry.
Originally committed to SVN as r1600.
2007-10-13 02:13:51 +00:00
Niels Martin Hansen 304e4d080b Bugfix: Used wrong name for aegisub.debug.out function in several places.
Addition: Also allow 'noblank' modifier for code lines.

Originally committed to SVN as r1599.
2007-10-08 15:22:00 +00:00
Fredrik Mellbin c7a7a52ae6 FFmpegSource 1.13
Originally committed to SVN as r1598.
2007-10-06 20:03:02 +00:00
Niels Martin Hansen 10570fc54f Report a different version number because I'm lazy
Originally committed to SVN as r1597.
2007-10-06 00:43:12 +00:00
Alysson Souza 6251d467f3 Fixed playback of dummy video with no audio loaded.
Originally committed to SVN as r1596.
2007-10-05 18:15:05 +00:00
Niels Martin Hansen c9e26c0cf3 Bugfix: Anonymous line templates that did not have any additional template modifiers were treated as named line templates whose name was the empty string, causing such templates to be chained as one long line template.
Originally committed to SVN as r1595.
2007-10-04 23:30:52 +00:00
Niels Martin Hansen 4bb88670bb Make video zoom dropdown on the toolbar and the subs edit area Commit button both use default sizes.
Originally committed to SVN as r1594.
2007-10-02 19:11:06 +00:00
Niels Martin Hansen 5a713aa717 Fix by triton - use "uint64_t" instead of "unsigned int64_t" to fix compilation with GCC.
Originally committed to SVN as r1593.
2007-10-01 17:27:48 +00:00
Alysson Souza f97501f254 Some cosmetic fixes to menu.
Originally committed to SVN as r1592.
2007-09-27 22:52:01 +00:00
Niels Martin Hansen ba44069d7a I broke the build with the preprocessor... oops.
Originally committed to SVN as r1591.
2007-09-24 17:45:04 +00:00
Niels Martin Hansen 0dd60ed25a Fix remaining static box sizer problems (hopefully) and also fix a few other, minor dialogue layout problems.
Originally committed to SVN as r1590.
2007-09-24 17:40:03 +00:00
Niels Martin Hansen 3fd97b551f Fix sizer creation order so dialogue works on wxMac
Originally committed to SVN as r1589.
2007-09-24 17:04:13 +00:00
Niels Martin Hansen 4a4605f769 Make Mac builds also use the include-file approach to version information.
Originally committed to SVN as r1588.
2007-09-24 02:13:31 +00:00
Niels Martin Hansen 3f5b58762a Fix splash screen skipping so tip of the day isn't skipped on Mac.
Originally committed to SVN as r1587.
2007-09-24 01:35:47 +00:00
Niels Martin Hansen 545f85ff92 Always skip splash screen on wxMac
Originally committed to SVN as r1586.
2007-09-24 01:18:42 +00:00
Niels Martin Hansen a2c1f17939 Version check thread should not attempt to delete itself. (It's not allowed, and detached threads self-delete anyway.)
Originally committed to SVN as r1585.
2007-09-24 01:09:32 +00:00
Niels Martin Hansen d41f87ba29 Only show Avisynth options in Win32 builds.
Originally committed to SVN as r1584.
2007-09-23 23:28:20 +00:00
Niels Martin Hansen 345ff629d7 Use wxChoicebook instead of wxTreebook on wxMac, to avoid some mislayout and be a bit more in line with Apple's HIG.
Originally committed to SVN as r1583.
2007-09-23 23:22:15 +00:00
Niels Martin Hansen 09f7c32cb2 Remove "new window" item from File menu on Mac, since it can't work there in its current implementation. (OS limits to one instance of each application, one app instance must handle multiple open documents.)
Originally committed to SVN as r1582.
2007-09-23 20:19:21 +00:00
Niels Martin Hansen 89c3543b67 Tell wxMac about our special menu items, so they will be placed right on the menu bar.
Originally committed to SVN as r1581.
2007-09-23 19:40:57 +00:00
Niels Martin Hansen b0d73ac84c Apply 2points' patch to FC font file lister crash problem
Originally committed to SVN as r1580.
2007-09-22 15:27:46 +00:00
Niels Martin Hansen acc2d3753f More fixes to hotkeys, consequently use Cmd instead of Ctrl on Mac, changed some default hotkeys on Mac to avoid clashes with system hotkeys and better follow Apple HIG.
Originally committed to SVN as r1579.
2007-09-22 15:16:48 +00:00
Niels Martin Hansen 808f56d294 Fix heights of search for/replace with fields
Originally committed to SVN as r1578.
2007-09-22 03:50:05 +00:00
Niels Martin Hansen b20dcaaa5f More fixing main window title to be Apple HIG-alike
Originally committed to SVN as r1577.
2007-09-22 03:49:18 +00:00
Niels Martin Hansen 50f6d65ace Set the mark in the window close button to signal document modified, rather than prepending a star to the window title, on wxMac.
Originally committed to SVN as r1576.
2007-09-22 03:07:16 +00:00
Niels Martin Hansen eee384aa0f Make audio zoom sliders non-pointy
Originally committed to SVN as r1575.
2007-09-22 00:53:05 +00:00
Niels Martin Hansen 81aec949dc Change more places to check for Cmd key on Mac rather than Ctrl key.
Originally committed to SVN as r1574.
2007-09-21 22:56:44 +00:00
Niels Martin Hansen a353eaed38 Use Cmd+Rightclick instead of Ctrl+Rightclick on Mac to move line end marker in karaoke mode.
Originally committed to SVN as r1573.
2007-09-21 22:36:02 +00:00
Niels Martin Hansen 6587f4882a Fix crash when playback cursor leaves the visible part of the audio display on wxMac.
Originally committed to SVN as r1572.
2007-09-21 21:24:32 +00:00
Niels Martin Hansen 6b4ec2dcc5 Oops, speling error broke the build...
Originally committed to SVN as r1571.
2007-09-21 21:18:08 +00:00
Niels Martin Hansen d996c5f489 Remove sunken border from audio display on wxMac, this avoids some graphical glitches, and it really also looks better.
Originally committed to SVN as r1570.
2007-09-21 21:17:08 +00:00
Niels Martin Hansen a36a60375e Reverse audio display scrolling on Mac to have natural scrolling directions for four-way scrolling devices. (Unfortunately those also exist for Windows and other systems, can't support those properly ATM.)
Originally committed to SVN as r1569.
2007-09-21 21:00:41 +00:00
Niels Martin Hansen f22a5b2838 Misc. changes for Mac building and stuff
Originally committed to SVN as r1568.
2007-09-21 16:20:00 +00:00
Niels Martin Hansen 39849e2dc6 Further updates to installer, should be finished for r1564 alpha release
Originally committed to SVN as r1567.
2007-09-21 02:15:00 +00:00
Niels Martin Hansen 774bd37839 Rename some auto3 scripts.
Originally committed to SVN as r1566.
2007-09-21 00:22:45 +00:00
Rodrigo Braz Monteiro fdeaaeeffe Some changes to installer script
Originally committed to SVN as r1565.
2007-09-20 22:53:40 +00:00
Niels Martin Hansen 51616fea0b Add tenv.maxj (upper loop bound)
Originally committed to SVN as r1564.
2007-09-19 21:58:25 +00:00
Fredrik Mellbin 86fad7d3b2 FFmpegSource 1.12
Originally committed to SVN as r1563.
2007-09-17 18:02:24 +00:00
Niels Martin Hansen a68fb2671a Rename cleantags macro/filter wrapper script.
Originally committed to SVN as r1562.
2007-09-17 11:04:22 +00:00
Niels Martin Hansen a3a3a29437 ai-chan's cleantags version 1.150
Originally committed to SVN as r1561.
2007-09-17 11:03:20 +00:00
Rodrigo Braz Monteiro 489abd6663 jfs's mac patches applied
Originally committed to SVN as r1560.
2007-09-11 23:22:26 +00:00
Alysson Souza 7463ee0d7a Fixed data standard path
Originally committed to SVN as r1559.
2007-09-11 03:54:56 +00:00
Niels Martin Hansen a5e800bccf Fix a bug in mid-aligned line positioning
Originally committed to SVN as r1558.
2007-09-10 21:39:08 +00:00
Niels Martin Hansen 3c58dea73c Adding ai-chan's tag cleaning script.
Originally committed to SVN as r1557.
2007-09-10 21:20:09 +00:00
Fredrik Mellbin 4b87a7a9ad FFmpegSource 1.11
Originally committed to SVN as r1556.
2007-09-07 20:07:27 +00:00
Rodrigo Braz Monteiro 67d8412a9a Split stdiostream.c into .c+.h
Originally committed to SVN as r1555.
2007-09-06 23:29:34 +00:00
Fredrik Mellbin efa79d8c4e FFmpegSource WIP
Originally committed to SVN as r1554.
2007-09-06 22:56:18 +00:00
Niels Martin Hansen fda44c93a5 Add looping support for line templates. Produce multiple whole lines here, instead of multiple copies of each syllable one after another on the same line.
Originally committed to SVN as r1553.
2007-09-03 13:39:03 +00:00
Niels Martin Hansen 62ded21ece Recalculate line.duration in retime() and add "line" as a mode.
Originally committed to SVN as r1552.
2007-09-03 13:28:40 +00:00
Dan Donovan c5a91a11fe Needed to call updatedata when changing style name. Also, add some error handling to pasting styles.
Originally committed to SVN as r1551.
2007-09-02 19:31:17 +00:00
Dan Donovan a5aa4245f0 Don't let pasting styles duplicate style names. Add "Copy of " where necessary.
Originally committed to SVN as r1550.
2007-09-02 19:09:23 +00:00
Rodrigo Braz Monteiro 23cb553ac4 Removed pixel shader support from options.
Originally committed to SVN as r1549.
2007-09-01 00:35:16 +00:00
Fredrik Mellbin 36aecac4c3 FFmpegSource 1.10
Originally committed to SVN as r1548.
2007-08-31 20:26:51 +00:00
Niels Martin Hansen 89d076c760 Apparently long long isn't safe, trying with int64_t instead then...
Originally committed to SVN as r1547.
2007-08-31 14:11:35 +00:00
Niels Martin Hansen a228af752a Some non-tested non-complete and probably non-useful (yet) code to handle SSA-lineage files.
Originally committed to SVN as r1546.
2007-08-29 22:29:46 +00:00
Niels Martin Hansen 25842be356 Another, much more complex and interesting, sample.
Originally committed to SVN as r1545.
2007-08-29 22:28:20 +00:00
Niels Martin Hansen dad1d4d02f A bit more comments on the rasteriser code.
Originally committed to SVN as r1544.
2007-08-29 21:06:09 +00:00
Niels Martin Hansen 268b6c45af Back to classic pixmix/pixmix2 architecture. Probably made some parts clearer. More and more correct documentation of the Draw code. Probably more correct (at least not less correct, it seems) alpha calculation.
Originally committed to SVN as r1543.
2007-08-29 19:57:16 +00:00
Niels Martin Hansen 35f2b7caa2 Remove unused code from experiments with using the TextSub 2.23 rasteriser code instead. (They failed.)
Originally committed to SVN as r1542.
2007-08-29 18:49:02 +00:00
Niels Martin Hansen 6465b086e7 Attempt to add some documentation for what Rasterizer::Draw does.
Originally committed to SVN as r1541.
2007-08-29 18:40:51 +00:00
Niels Martin Hansen 8909ea48e2 Replace all (applicable) instances of __int64 with long long. (All except those in foreign header files.)
Originally committed to SVN as r1540.
2007-08-29 13:36:30 +00:00
Niels Martin Hansen e9f05f84eb Oops, missed a slash to end a block comment. Broke the entire file...
Originally committed to SVN as r1539.
2007-08-28 22:54:25 +00:00
Niels Martin Hansen 5d3d3294ec Only highlight kara-templater templates with template syntax and not code lines. Added some non-working and commented out code to switch to full-edit-box Lua highlighting for code lines.
Originally committed to SVN as r1538.
2007-08-28 22:52:23 +00:00
Niels Martin Hansen fb7c7e1f74 Make Avisynth video and audio provider load DirectShowSource.dll from the application directory if it exists. Audio provider should also fail properly now if the DirectShowSource function doesn't exist.
Originally committed to SVN as r1537.
2007-08-28 21:34:44 +00:00
Niels Martin Hansen 4cf49cf9fb Possibly fix a rounding problem that causes subtitles with \pos to move a slightly bit around even though they shouldn't.
Originally committed to SVN as r1536.
2007-08-26 15:44:15 +00:00
Alysson Souza 3518f381a7 Added support for reading keyframes from xvid pass files
Originally committed to SVN as r1535.
2007-08-26 00:00:37 +00:00
Niels Martin Hansen 4f689ac204 Apparently forgot to add 'meta' to tenv.
Originally committed to SVN as r1534.
2007-08-25 12:57:00 +00:00
Niels Martin Hansen abb304b7c1 Minor fixes to installer script. (Removed stray { in AppID and shortened a currently unused message for when installing MSVC runtimes.)
Originally committed to SVN as r1533.
2007-08-23 23:11:24 +00:00
Niels Martin Hansen 7fa5318620 More interesting effect for demonstration purposes.
Originally committed to SVN as r1532.
2007-08-23 23:10:15 +00:00
Niels Martin Hansen 33d9cf313b Swap ordering of some operations after running an Auto4 macro. This might or might not make grid updates more correct.
Originally committed to SVN as r1531.
2007-08-23 23:09:46 +00:00
Niels Martin Hansen 044f104a2e Forgot to remove some debugging messages from the PCM audio provider, making using any other audio provider really annoying.
Originally committed to SVN as r1530.
2007-08-23 23:08:33 +00:00
Niels Martin Hansen 128dd0df0f What a fix, #113 (direct PCM WAV reading) now quite much implemented and working.
Originally committed to SVN as r1529.
2007-08-22 21:06:16 +00:00
Niels Martin Hansen 93f6ef6d7a Issue #113 - reading PCM audio directly from disk. Almost works, but downsampling from non-mono to mono seems to be broken.
Originally committed to SVN as r1528.
2007-08-22 20:58:53 +00:00
Niels Martin Hansen 646d2b2e84 Also show what features are provided by the script in the Show Info dialog from Automation Manager.
Originally committed to SVN as r1527.
2007-08-22 13:03:37 +00:00
Niels Martin Hansen fcb133fe3e Fix #532 - other lines become invisible after using visual TS tools, until video reload. (Regression introduced in r1466.)
Originally committed to SVN as r1526.
2007-08-22 13:02:44 +00:00
Niels Martin Hansen 154e2840fb 'keeptags' modifier didn't do anything for non-'line' templates.
Originally committed to SVN as r1525.
2007-08-22 07:18:42 +00:00
Niels Martin Hansen 8fa7e1103e Get rid of a few implicit-type-conversion warnings.
Originally committed to SVN as r1524.
2007-08-20 18:11:39 +00:00
Niels Martin Hansen cdb9d2088b Make fonts collector regard @-fonts identical to their non-@ variation.
Originally committed to SVN as r1523.
2007-08-20 18:10:27 +00:00
Niels Martin Hansen ed9dc1c28e (Attempt to) fix crashes when scroll events hit the audio display and no audio is loaded.
Originally committed to SVN as r1522.
2007-08-20 18:09:18 +00:00
Rodrigo Braz Monteiro 388429b899 Fixing weird shit that got broken
Originally committed to SVN as r1521.
2007-08-19 22:56:22 +00:00
Rodrigo Braz Monteiro d6b5c8fbb9 demi` patch: Added a new "Video Details" dialog, that lists some information regarding the currently open video.
Originally committed to SVN as r1520.
2007-08-19 22:21:41 +00:00
Niels Martin Hansen f401f216dc Make installer work with amz's r1515 build instead, add all dictionaries and thesaurii, only install one icopn in start menu, no desktop icon option, other misc. changes
Originally committed to SVN as r1519.
2007-08-19 17:22:29 +00:00
Niels Martin Hansen be8e69df42 Incomplete installer script, currently tailored to my builds
Originally committed to SVN as r1518.
2007-08-19 13:46:35 +00:00
Niels Martin Hansen 2807affc52 Get rid of some warnings
Originally committed to SVN as r1517.
2007-08-19 12:52:34 +00:00
Rodrigo Braz Monteiro 945c1b2bcd Added a new method to the video provider interface (unimplemented).
Originally committed to SVN as r1516.
2007-08-19 05:50:28 +00:00
Rodrigo Braz Monteiro adf6630564 Meh, small fix to last commit
Originally committed to SVN as r1515.
2007-08-19 02:20:09 +00:00
Rodrigo Braz Monteiro 352c4c93d1 Made the syntax highlighter check if it's a template line before applying template highlighting to it.
Originally committed to SVN as r1514.
2007-08-19 02:18:00 +00:00
Rodrigo Braz Monteiro 81856dbe67 demi`'s patch applied: Added "Effect" field to the Select Lines dialog.
Originally committed to SVN as r1513.
2007-08-19 01:36:36 +00:00
Niels Martin Hansen 1ffa8c5a3a Add raster.pixel_coord_map function.
Originally committed to SVN as r1512.
2007-08-18 14:18:13 +00:00
Niels Martin Hansen 17fbbaa583 Made bilinear interpolation function work, and edge conditions into structs with static functions rather than plain functions (in order to make bilinear interpolation work.)
Originally committed to SVN as r1511.
2007-08-18 13:42:37 +00:00
Rodrigo Braz Monteiro 8e5e70cf8b Originally committed to SVN as r1510. 2007-08-18 02:00:20 +00:00
Niels Martin Hansen 47e687900e Missed a backslash in a string, thanks Gundamn.
Originally committed to SVN as r1509.
2007-08-18 00:03:33 +00:00
Niels Martin Hansen 022ac1ad51 Die, old useless stuff that doesn't document anything useful at all and is in proprietary Microsoft formats.
Originally committed to SVN as r1508.
2007-08-18 00:02:40 +00:00
Niels Martin Hansen a460743682 Implement raster.pixel_value_map function using expression evaluator. Seems to work correct.
Originally committed to SVN as r1507.
2007-08-17 23:56:20 +00:00
Niels Martin Hansen 3b5e953c70 Expression evaluator implemented and compiles... probably doesn't work
Originally committed to SVN as r1506.
2007-08-17 23:26:36 +00:00
Niels Martin Hansen 6cc27087dc Fix colour picker mode remembering.
Originally committed to SVN as r1505.
2007-08-17 17:03:16 +00:00
Niels Martin Hansen 39dab0d324 Draft for expression evaluator machine specification, and a minor update to the readme.
Originally committed to SVN as r1504.
2007-08-17 16:24:12 +00:00
Niels Martin Hansen f3e8817487 Added some 'volatile' that should probably have been there all along
Originally committed to SVN as r1503.
2007-08-17 14:10:49 +00:00
Niels Martin Hansen 35ea03c2ab Forgot one instance of WITH_AUTO3. Now fully killed. (Auto4 Lua no longer depends on Auto3 under any circumstances.)
Originally committed to SVN as r1502.
2007-08-17 02:34:29 +00:00
Niels Martin Hansen 9a85ba7b82 No longer allow loading Auto3 scripts with .lua extension.
Originally committed to SVN as r1501.
2007-08-17 02:16:41 +00:00
Niels Martin Hansen 2124c58daf Add a little more error reporting to audio loading, also catch unspecified exceptions now. Additionally make sure to null out some pointers that might be delete'd during exception handling. (Also, GET.)
Originally committed to SVN as r1500.
2007-08-16 23:17:54 +00:00
Niels Martin Hansen 720ee8c309 Add some better error catching+reporting in audio loading/unloading. (Don't just crash.)
Originally committed to SVN as r1499.
2007-08-16 22:45:29 +00:00
Niels Martin Hansen 6bb162523b Oops, forgot a comma and broke the build.
Originally committed to SVN as r1498.
2007-08-16 19:25:17 +00:00
Niels Martin Hansen 3b75d9e7af Added list of enum->string mappings
Originally committed to SVN as r1497.
2007-08-16 18:13:07 +00:00
Niels Martin Hansen 0d4b0e5419 Another small sample, showing how to achieve some basic effects.
Originally committed to SVN as r1496.
2007-08-16 17:44:26 +00:00
Niels Martin Hansen a7e05ff1c8 Semi-workaround for wrong text_extents on non-Windows. Better but still not perfect calculation.
Originally committed to SVN as r1495.
2007-08-16 16:02:52 +00:00
Niels Martin Hansen 0c7e929f13 Fix tab order issues in various dialogues - bug #518. Still a couple left with more serious issues. (Export, style editor, translation assistant, fonts collector, kanji timer, more I'm forgetting.)
Originally committed to SVN as r1494.
2007-08-15 23:17:42 +00:00
Niels Martin Hansen 762aa6287f Prevent audio display from continually stealing focus when navigating subtitle lines and karaoke mode is enabled. This should fix #425.
Originally committed to SVN as r1493.
2007-08-15 22:33:38 +00:00
Niels Martin Hansen f9bfa1fc43 Workaround to #503 - UI no longer semi-freezes (becomes almost completely unresponsive to input) when karaoke mode is enabled and a blank line is selected. The workaround is to simply make sure that blank lines never happen, by turning them into one empty syllable instead.
Originally committed to SVN as r1492.
2007-08-15 20:41:57 +00:00
Niels Martin Hansen aff3548407 Should fix #521 - no more "can not wait for thread termination" / "couldn't terminate thread" errors.
Originally committed to SVN as r1491.
2007-08-15 19:40:41 +00:00
Niels Martin Hansen 4ddc7d5820 I can has radial blur! *wheeee*
Originally committed to SVN as r1490.
2007-08-15 01:08:31 +00:00
Niels Martin Hansen e99d9800c0 Add directional blur
Originally committed to SVN as r1489.
2007-08-15 00:20:11 +00:00
Niels Martin Hansen 8dee40348d Added HSL_to_RGB function
Originally committed to SVN as r1488.
2007-08-14 21:36:43 +00:00
Niels Martin Hansen d130169ed2 Rename video_frame.h to image.h, various cleanup, and add functions to handle edge conditions.
Originally committed to SVN as r1487.
2007-08-14 01:08:00 +00:00
Niels Martin Hansen 6b72db3b80 Everything seems to work again now
Originally committed to SVN as r1486.
2007-08-14 00:45:09 +00:00
Niels Martin Hansen 2699972427 Reworking of video frame interface, into more general RGB(A) image interface
Originally committed to SVN as r1485.
2007-08-14 00:20:59 +00:00
Niels Martin Hansen 43149f9276 So apparently it's called "c"airo and not "C"airo...
Originally committed to SVN as r1484.
2007-08-13 19:06:07 +00:00
Niels Martin Hansen 17f235515e Add raster.separable_filter function.
Originally committed to SVN as r1483.
2007-08-13 14:56:02 +00:00
Niels Martin Hansen dad6f7755b Better parameter checking for frame.overlay_cairo_surface and adding a more useful sample script.
Originally committed to SVN as r1482.
2007-08-13 02:01:54 +00:00
Niels Martin Hansen 7e8fcbdc8f Some cleanup in rasterops code and added colour inversion function.
Fixed ugly bugs in Cairo surface composition onto video frame.

Originally committed to SVN as r1481.
2007-08-13 01:06:27 +00:00
Niels Martin Hansen c68a782820 Fix really stupid parameter-related bug in box blur, and update documentation.
Originally committed to SVN as r1480.
2007-08-12 23:21:45 +00:00
Niels Martin Hansen c55dea23aa Replace the few fixed width box blurs with a single variable width one.
Originally committed to SVN as r1479.
2007-08-12 23:19:43 +00:00
Niels Martin Hansen da8c8abc7d General cleaning up.
Make LuaCairoMatrix be non-broken (hopefully - neither tested that it was in fact broken nor that new code unbreaks it :D!)
Work on LuaCairoPath to make it script-buildable, and implement map and fold methods.

Originally committed to SVN as r1478.
2007-08-12 23:14:45 +00:00
Niels Martin Hansen 06452148d2 Added VFR support. (Untested, as usual.)
Originally committed to SVN as r1477.
2007-08-11 22:06:01 +00:00
Niels Martin Hansen 0a584a7cd4 Support a free-form string argument passed from Avisynth to the Lua script.
Originally committed to SVN as r1476.
2007-08-11 20:40:37 +00:00
Niels Martin Hansen 0211960d8e Another project for the Aegisub repository...
Originally committed to SVN as r1475.
2007-08-11 19:59:48 +00:00
Dan Donovan 98e837da5c (SSATool) add a missing resx file
Originally committed to SVN as r1474.
2007-08-11 17:29:19 +00:00
Rodrigo Braz Monteiro b773706f6d Some fixes for ffmpeg linking (I have no idea how it worked before)
Originally committed to SVN as r1473.
2007-08-07 22:10:44 +00:00
Rodrigo Braz Monteiro 2c60df7b53 Some fixes for SVN wx compatibility (that doesn't work, anyway)
Originally committed to SVN as r1472.
2007-08-07 20:45:41 +00:00
Fredrik Mellbin acc6e13022 FFmpegSource 1.7
Originally committed to SVN as r1471.
2007-08-06 15:49:57 +00:00
Niels Martin Hansen 4e48317803 Intermediate implementation of #498 - karaoke template syntax highlighting. Only !! blocks and $variables are highlighted right now, and no actual Lua specific highlighting is done.
Originally committed to SVN as r1470.
2007-08-06 14:29:43 +00:00
Rodrigo Braz Monteiro 53a95b3af2 Issue #386 - Fixed setting of hotkeys to enter.
Originally committed to SVN as r1469.
2007-08-04 09:23:21 +00:00
Niels Martin Hansen 9b282c8893 Scrapped tag-parsing functions from Auto4 Lua subtitle-file interface specs.
Originally committed to SVN as r1468.
2007-08-03 20:50:24 +00:00
Rodrigo Braz Monteiro d162cb440a Issue #516 - Resample dialog no longer affects karaoke templater lines.
Originally committed to SVN as r1467.
2007-08-03 17:32:23 +00:00
Rodrigo Braz Monteiro 17c1a5801f Issue #514 - Fixed crash with vector clip. Also fixed a minor bug that caused visual typesetting to flag the script as modified even if nothing changed.
Originally committed to SVN as r1466.
2007-08-03 17:22:06 +00:00
Niels Martin Hansen f556478902 Also accept SSA "Karaoke" effect field for timed karaoke source in kara-templater
Originally committed to SVN as r1465.
2007-08-03 01:46:33 +00:00
Fredrik Mellbin 400266c383 FFmpegSource 1.6
Originally committed to SVN as r1464.
2007-07-30 11:04:10 +00:00
Rodrigo Braz Monteiro 1d6f2f90c6 Issue #446 - Fixed some crashing while trying to play video without audio loaded, on posix
Originally committed to SVN as r1463.
2007-07-30 04:05:45 +00:00
Rodrigo Braz Monteiro 1e1f7b411b Fonts collector now seems to work on Linux, and presumably on other posix systems.
Originally committed to SVN as r1462.
2007-07-30 00:56:54 +00:00
Rodrigo Braz Monteiro 0ccf9cb111 Small fix to font attaching to file.
Originally committed to SVN as r1461.
2007-07-30 00:25:26 +00:00
Niels Martin Hansen 0718cf5a2c Hack: Use a single-play (non-looping) buffer for very short samples that fit entirely in the buffer for DSound playback. This avoids unwanted repeating of very short samples, but also makes it impossible to extend these selections to continue playback.
Fixing the real problem could prove to be very hard or even impossible, as it seems to be a problem of timing and possibly even related to the time slices allocated by the OS. As a buffer size in the DSound player is fixed at 150 ms the side-effect of this hack hopefully won't be a real problem.

Originally committed to SVN as r1460.
2007-07-29 21:00:57 +00:00
Fredrik Mellbin c62c674975 FFmpegSource 1.5
Originally committed to SVN as r1459.
2007-07-29 20:49:50 +00:00
Rodrigo Braz Monteiro 8d69e930f6 Issue #394 - Fixed conflicting names in style storage.
Originally committed to SVN as r1458.
2007-07-29 09:45:11 +00:00
Rodrigo Braz Monteiro ad601c46d1 Issue #504 - Fixed crash with rotation tools if no line was available for visual typesetting.
Originally committed to SVN as r1457.
2007-07-29 09:15:32 +00:00
Rodrigo Braz Monteiro c098e4d2a3 Issue #466 - Fixed ffmpegsource with vfr videos. Also re-added the warning for dss. Avisynth provider *should* now be 100% reliable if ffmpegsource.dll is present.
Originally committed to SVN as r1456.
2007-07-29 09:06:38 +00:00
Rodrigo Braz Monteiro 1aec7be708 Issue #481 - Fixed update of edit box after using resampling.
Originally committed to SVN as r1455.
2007-07-29 07:49:56 +00:00
Rodrigo Braz Monteiro e568425e97 Issue #464 - Fixed commiting of default line timing
Originally committed to SVN as r1454.
2007-07-29 07:32:40 +00:00
Rodrigo Braz Monteiro d256a61703 Implemented font config file lister, except that it doesn't work.
Originally committed to SVN as r1453.
2007-07-29 01:47:18 +00:00
Rodrigo Braz Monteiro fec497a047 Split the font file lister in a base class and two subclasses, freetype for win32 (implemented) and fontconfig for everything else (todo)
Originally committed to SVN as r1452.
2007-07-29 01:21:28 +00:00
Rodrigo Braz Monteiro 4cee0dd054 Fixed drawing of text via OpenGL (in particular, video coordinates) in Linux, and probably everywhere else where it was broken.
Originally committed to SVN as r1451.
2007-07-28 23:17:33 +00:00
Niels Martin Hansen 5785cd191e Some debug.out calls in furigana layout code were missing trace level.
Originally committed to SVN as r1450.
2007-07-28 21:43:35 +00:00
Niels Martin Hansen 9ab2d1c7fe Seems to fix DSound player repeat-at-end problem.
Also avoid throwing-catching an exception during audio display drawing, only because it looks bad in the debug output.

Originally committed to SVN as r1449.
2007-07-28 13:59:32 +00:00
Rodrigo Braz Monteiro 3f934a66db Resolved #341
Originally committed to SVN as r1448.
2007-07-27 08:24:49 +00:00
Rodrigo Braz Monteiro 7e6a5ad6c8 Implemented issue #345 - Added a "new window" command to the file menu, to launch a new instance of Aegisub.
Originally committed to SVN as r1447.
2007-07-27 07:30:33 +00:00
Rodrigo Braz Monteiro a9e9e9b62c Fixed issue #367 - The default secondary style colour is now red.
Originally committed to SVN as r1446.
2007-07-27 07:14:49 +00:00
Rodrigo Braz Monteiro 857938f18b Joining of two lines will no longer take the timings of any line that starts and ends at 0 into consideration. Issue #206
Originally committed to SVN as r1445.
2007-07-27 07:08:22 +00:00
Rodrigo Braz Monteiro fcd9974772 Fixed #458, along with other style manager/editor related issues.
Originally committed to SVN as r1444.
2007-07-27 06:14:38 +00:00
Rodrigo Braz Monteiro 1bd5869ac6 Fixed #480
Originally committed to SVN as r1443.
2007-07-27 05:58:55 +00:00
Rodrigo Braz Monteiro 00dfc86bcc Fixed #496 and #488
Originally committed to SVN as r1442.
2007-07-27 05:25:51 +00:00
Rodrigo Braz Monteiro 7a19d18942 Fixed bug #490 - rotation visual tools weren't updated after manual text edit.
Originally committed to SVN as r1441.
2007-07-27 04:50:15 +00:00
Rodrigo Braz Monteiro 6110808dad Some failed attempts to fix detached video window stuff :3
Originally committed to SVN as r1440.
2007-07-27 04:05:18 +00:00
Rodrigo Braz Monteiro 14b425d0a3 Fixed issue with time edit boxes being unable to represent times over 1 hour in certain cases - #482
Originally committed to SVN as r1439.
2007-07-26 22:47:49 +00:00
Niels Martin Hansen 55f64cf6a4 Rename stack.txt to crashlog.txt
Originally committed to SVN as r1438.
2007-07-23 21:46:56 +00:00
Niels Martin Hansen ab58aeac99 Added a bunch of clarifications for AS5 and some moro todo items. RFC.
Originally committed to SVN as r1437.
2007-07-23 18:01:39 +00:00
Niels Martin Hansen 742240b5d8 Added debug-builds-only dummy audio provider (can provide either blank or noise audio.)
Originally committed to SVN as r1436.
2007-07-23 15:19:48 +00:00
Dan Donovan 2134cb4ba8 commit nekodar's style parser fix
Originally committed to SVN as r1435.
2007-07-20 22:41:43 +00:00
Niels Martin Hansen a078676cf7 I broke the build. Now it's no longer broken.
Originally committed to SVN as r1434.
2007-07-18 13:49:44 +00:00
Niels Martin Hansen a0beaef640 Clarified a bunch of error messages
Originally committed to SVN as r1433.
2007-07-18 13:46:38 +00:00
Fredrik Mellbin a446253e72 FFmpegSource 1.4
Originally committed to SVN as r1432.
2007-07-18 13:00:15 +00:00
Niels Martin Hansen fefa76b22c Add missing field for furigana tables.
Originally committed to SVN as r1431.
2007-07-18 00:42:32 +00:00
Niels Martin Hansen 8ffaf7cfa0 Missed something crucial from Classic Advanced skeleton
Originally committed to SVN as r1430.
2007-07-17 23:37:42 +00:00
Niels Martin Hansen a5fdb048a4 New karaoke skeleton, in the style of (but not compatible with) Auto3 karaskel-adv; untested as usual
Originally committed to SVN as r1429.
2007-07-17 23:09:09 +00:00
Niels Martin Hansen 42f47ed7eb Minor fixes to Lua includes.
Originally committed to SVN as r1428.
2007-07-17 22:25:56 +00:00
Rodrigo Braz Monteiro 52904f6217 demi's patches #3: Added a dialogue to text importing, asking which character to use as comment and actor separator.
Originally committed to SVN as r1427.
2007-07-16 03:22:11 +00:00
Rodrigo Braz Monteiro 9ab04c7ea3 demi's patches #2: fixed x button on translation assistant
Originally committed to SVN as r1426.
2007-07-16 03:17:11 +00:00
Rodrigo Braz Monteiro 5269a2e2a1 demi's patches #1: scaled border and shadow by default on [Script Info]
Originally committed to SVN as r1425.
2007-07-16 03:16:17 +00:00
David Lamparter 425f6447b5 copy wxwin.m4 from wxGtk-2.8.4
Originally committed to SVN as r1424.
2007-07-15 23:06:39 +00:00
Rodrigo Braz Monteiro 5b98d45391 fixed .tex
Originally committed to SVN as r1423.
2007-07-15 00:01:48 +00:00
Karl Blomster 3744cb505f nitpicking as usual, less anal parsing, and hueg list of mandatory defaults
Originally committed to SVN as r1422.
2007-07-13 20:54:33 +00:00
Fredrik Mellbin 02e15b0ac5 FFmpegSource 1.3
Originally committed to SVN as r1421.
2007-07-13 05:15:28 +00:00
Karl Blomster fabfcd2a73 even more minor fixing and attempt at being consistent syntax error-wise
Originally committed to SVN as r1420.
2007-07-12 21:06:03 +00:00
Karl Blomster f7f4461da1 more nitpicking and minor changes
Originally committed to SVN as r1419.
2007-07-12 06:35:20 +00:00
Karl Blomster 2e7261a8ed minor fixes
Originally committed to SVN as r1418.
2007-07-11 22:10:48 +00:00
Rodrigo Braz Monteiro 2ef732537b Fixed Fluff's commit
Originally committed to SVN as r1417.
2007-07-11 21:48:07 +00:00
Karl Blomster 3bf4e2c1b7 added long list of most tags, with very very basic descriptions. also other minor nitpicking
Originally committed to SVN as r1416.
2007-07-11 21:41:37 +00:00
Rodrigo Braz Monteiro dfec742f95 Specified baseline and fixed fluffailure
Originally committed to SVN as r1415.
2007-07-11 06:59:10 +00:00
Karl Blomster f402c2cf82 very very minor changes
Originally committed to SVN as r1414.
2007-07-11 06:30:50 +00:00
Karl Blomster d9490b7cba more updates to the specs; comments and general fixing
Originally committed to SVN as r1413.
2007-07-11 06:03:25 +00:00
Rodrigo Braz Monteiro 0e6ae5aaad Some random changes to as5 specs.
Originally committed to SVN as r1412.
2007-07-11 05:30:29 +00:00
Rodrigo Braz Monteiro 75f9e2d904 Margin tags specified.
Originally committed to SVN as r1411.
2007-07-11 03:58:15 +00:00
Rodrigo Braz Monteiro 2c5a42e347 Fixes to distort tag.
Originally committed to SVN as r1410.
2007-07-11 03:22:29 +00:00
Rodrigo Braz Monteiro cb8fc119ff First AS5 tag fully specified: distort
Originally committed to SVN as r1409.
2007-07-11 02:59:27 +00:00
Rodrigo Braz Monteiro 02c632115e More updates to AS5 specs.
Originally committed to SVN as r1408.
2007-07-11 01:41:44 +00:00
Karl Blomster 3272b51788 minor updates to the AS5 spec, mostly general cleaning and rewordings
Originally committed to SVN as r1407.
2007-07-10 22:09:13 +00:00
Niels Martin Hansen fae778e45b Require [Script Info] line as first thing in SSA/ASS files. (Probably. This might make VSFilter fail on invalid scripts, oh no!)
Originally committed to SVN as r1406.
2007-07-10 21:31:06 +00:00
David Lamparter 80fa4bc3a2 let wx run over the cliff like a f***ing hobbit^Wlemming.
Originally committed to SVN as r1405.
2007-07-10 21:29:49 +00:00
Rodrigo Braz Monteiro 1d530b82fd Added winmm.lib to vsfilter.vcproj
Originally committed to SVN as r1404.
2007-07-10 21:24:42 +00:00
Rodrigo Braz Monteiro c8c21c7c9c A few tweaks to AS5 specs.
Originally committed to SVN as r1403.
2007-07-10 06:59:03 +00:00
Rodrigo Braz Monteiro 705c4992fc More updates for as5 draft.
Originally committed to SVN as r1402.
2007-07-10 04:36:37 +00:00
Rodrigo Braz Monteiro 51bf4fce32 Updated AS5 draft.
Originally committed to SVN as r1401.
2007-07-10 03:29:54 +00:00
Rodrigo Braz Monteiro ddda631b69 Very primitive AS5 specs added.
Originally committed to SVN as r1400.
2007-07-10 03:06:41 +00:00
Niels Martin Hansen 1fb4f58ff2 Import VSFilter from guliverkli.
Originally committed to SVN as r1399.
2007-07-09 18:33:44 +00:00
Niels Martin Hansen 5d21970bbc Added known VSFilter patches.
Originally committed to SVN as r1398.
2007-07-09 16:00:10 +00:00
Niels Martin Hansen 3362b61f73 Hopefully fix assertion failure when audio provider creation succeeds but audio player fails to init.
Originally committed to SVN as r1397.
2007-07-09 11:52:28 +00:00
David Lamparter befce025c0 merge slightly adapted version of bug #478 patch
Originally committed to SVN as r1396.
2007-07-08 20:55:10 +00:00
Rodrigo Braz Monteiro 7e7ac23e5f Fixed crosshair glitch.
Originally committed to SVN as r1395.
2007-07-08 19:50:54 +00:00
Niels Martin Hansen cbec57facf "Maybe" fix for #470 - reset the playback start time and audio area start when seeking. This should make the times returned correct.
Originally committed to SVN as r1394.
2007-07-08 13:49:51 +00:00
Niels Martin Hansen 02a53226ab "Fix" #471, shortened the buffer down to 250 ms (instead of 1500 ms) and tightened the loop filling it to run every 100 ms instead of every 500. Result is that it's almost impossible to reproduce the problem now. (It pretty much takes superhuman reflexes.)
Originally committed to SVN as r1393.
2007-07-08 13:28:15 +00:00
Rodrigo Braz Monteiro bd8b8ce4c5 Finished vector clip visual typesetting tool.
Originally committed to SVN as r1392.
2007-07-08 07:22:09 +00:00
Rodrigo Braz Monteiro b0e2ef92c2 Fixed realtime visual typesetting.
Originally committed to SVN as r1391.
2007-07-07 21:18:00 +00:00
Rodrigo Braz Monteiro 12534f74a7 Visual typesetting vector clip now supports insertion of new points.
Originally committed to SVN as r1390.
2007-07-07 21:13:20 +00:00
Rodrigo Braz Monteiro 14ade371f3 Implemented finding of nearest point to spline classes.
Originally committed to SVN as r1389.
2007-07-07 08:53:11 +00:00
Rodrigo Braz Monteiro ee832d642d Implemented delete point function to vector clip tool.
Originally committed to SVN as r1388.
2007-07-07 07:27:28 +00:00
Rodrigo Braz Monteiro d1d8302548 Line and bicubic curve appending implemented to vector clip.
Originally committed to SVN as r1387.
2007-07-07 06:41:14 +00:00
Rodrigo Braz Monteiro 1af87b0808 Added freehand and smoothed freehand drawing to vector \clip.
Originally committed to SVN as r1386.
2007-07-07 05:51:18 +00:00
Rodrigo Braz Monteiro 5f2508ee70 Finished some clean up on visual typesetting
Originally committed to SVN as r1385.
2007-07-07 03:21:52 +00:00
Niels Martin Hansen 9eb5ab4e25 Can now set the grid selected from a Lua macro. Should still work in Ruby too but can't test that. Don't blame me if it breaks.
Originally committed to SVN as r1384.
2007-07-06 14:26:04 +00:00
Rodrigo Braz Monteiro 70367a1c35 Replaced visual typesetting controls with an actual toolbar.
Originally committed to SVN as r1383.
2007-07-06 05:47:03 +00:00
Niels Martin Hansen 9043bdecf8 Fix #450 point 4, playback of drag-retimed karaoke syllables now stops at the right position instead of at the end of line.
Originally committed to SVN as r1382.
2007-07-06 01:36:01 +00:00
Niels Martin Hansen 6d55d1fa11 Some (defined out) startup logging code.
Originally committed to SVN as r1381.
2007-07-05 19:11:54 +00:00
Niels Martin Hansen a9df544cee More minox fixes (well, maybe) to subs preview
Originally committed to SVN as r1380.
2007-07-05 19:08:43 +00:00
David Lamparter 4126b0e5bc fix #398 (crash on opening style editor)
Originally committed to SVN as r1379.
2007-07-05 19:03:26 +00:00
David Lamparter 890254c7ab start unfuzzying german TL
Originally committed to SVN as r1378.
2007-07-05 15:52:53 +00:00
Niels Martin Hansen d578680974 Third and last part of this review-round of localisable strings.
Originally committed to SVN as r1377.
2007-07-05 15:51:42 +00:00
Niels Martin Hansen a3ee2770fa Fix localisable strings in frame_main, especially main menu bar
Originally committed to SVN as r1376.
2007-07-05 15:41:41 +00:00
David Lamparter 2f35a70b40 update german translations to use %KEY%
Originally committed to SVN as r1375.
2007-07-05 15:35:43 +00:00
Niels Martin Hansen 93185b04aa Misc. changes to localisable text, part one.
Originally committed to SVN as r1374.
2007-07-05 15:23:31 +00:00
David Lamparter 00f64c0620 move translations to po/ and use gettext build system
Originally committed to SVN as r1373.
2007-07-05 15:11:22 +00:00
Rodrigo Braz Monteiro 80b5c07a51 Implemented (untested) splitting of bicubic curves using de Casteljau
Originally committed to SVN as r1372.
2007-07-05 14:44:57 +00:00
Rodrigo Braz Monteiro 0bc8847f7a Random spline stuff added.
Originally committed to SVN as r1371.
2007-07-05 14:30:28 +00:00
Rodrigo Braz Monteiro 28b7264d3b Replaced spline stuff with Vector2D
Originally committed to SVN as r1370.
2007-07-05 14:15:28 +00:00
Rodrigo Braz Monteiro 1212de942b Added a 2D vector class from my old Allegro Wrapper, Halley.
Originally committed to SVN as r1369.
2007-07-05 13:53:10 +00:00
David Lamparter 06c2a7f6c3 ignore .cur files on posix
Originally committed to SVN as r1368.
2007-07-05 13:25:20 +00:00
Rodrigo Braz Monteiro 1c87280357 Added toolbar for vector clip tool. Not functional yet.
Originally committed to SVN as r1367.
2007-07-05 06:13:22 +00:00
Rodrigo Braz Monteiro ee3e97336a Gave vector clip an actual icon.
Originally committed to SVN as r1366.
2007-07-05 05:07:11 +00:00
Rodrigo Braz Monteiro 201a9a4b26 Tweaks to visual clip tools
Originally committed to SVN as r1365.
2007-07-05 04:56:56 +00:00
Rodrigo Braz Monteiro 570321722b Barely function vector clip tool implemented
Originally committed to SVN as r1364.
2007-07-05 04:32:46 +00:00
Rodrigo Braz Monteiro 5e25ffe30b Unused, incomplete and untested spline class added.
Originally committed to SVN as r1363.
2007-07-05 02:01:12 +00:00
Niels Martin Hansen 43ff836901 wxSTATIC_BORDER for Windows, wxSIMPLE_BORDER for everything else. It's probably not very pretty but better than no border at all.
Originally committed to SVN as r1362.
2007-07-04 23:53:19 +00:00
Niels Martin Hansen 964e3b3c8e Misc fixes to colour dropper.
Originally committed to SVN as r1361.
2007-07-04 23:47:20 +00:00
Rodrigo Braz Monteiro 6087d6ec22 Added icons to all dialogs that have one for them.
Originally committed to SVN as r1360.
2007-07-04 23:09:40 +00:00
Niels Martin Hansen 83d8d48db6 Removed monochrome eyedropper cursor image so the 4 bpp one can be used instead. (What's up with Windows not using the highest bpp cursor image possible?)
Originally committed to SVN as r1359.
2007-07-04 22:28:13 +00:00
Niels Martin Hansen 522f5030b0 Tweaks to mouse cursors in colour picker dialog.
Originally committed to SVN as r1358.
2007-07-04 22:23:52 +00:00
Niels Martin Hansen 55a06f00b9 Tweaked colour dropper tool.
Originally committed to SVN as r1357.
2007-07-04 22:16:24 +00:00
Dan Donovan d14bbbce87 add ConditionDialog.resx
Originally committed to SVN as r1356.
2007-07-04 22:11:45 +00:00
Rodrigo Braz Monteiro 4d98ea25af Made it possible to drag the origin while in both rotation modes.
Originally committed to SVN as r1355.
2007-07-04 21:47:26 +00:00
Rodrigo Braz Monteiro 4f7bb0f6a8 Made ctrl restrict XY rotation and scaling to only one axis.
Originally committed to SVN as r1354.
2007-07-04 20:45:01 +00:00
Rodrigo Braz Monteiro 93571ce295 Added dashed line between org anchor and corresponding line, and tweaked the display of all visual typesetting tools to make them more visible.
Originally committed to SVN as r1353.
2007-07-04 20:25:24 +00:00
Rodrigo Braz Monteiro 2251c79791 Added support for origin dragging.
Originally committed to SVN as r1352.
2007-07-04 07:26:24 +00:00
Rodrigo Braz Monteiro 686c95b8dc Made the circles at the edges of the rectangular \clip visual typesetting tool draggable.
Originally committed to SVN as r1351.
2007-07-04 06:50:03 +00:00
Rodrigo Braz Monteiro efa8401415 Fixed the orientation of Y and Z axes in XY rotation tool. (mostly a cosmetic fix)
Originally committed to SVN as r1350.
2007-07-04 06:16:11 +00:00
Rodrigo Braz Monteiro 0d40d2533f Visual typesetting fixes and failed attempt to make \clip typesetting allow dragging of corners.
Originally committed to SVN as r1349.
2007-07-04 05:22:35 +00:00
Rodrigo Braz Monteiro 92e61f885f Completed \move support and fixed a bug related to dragging.
Originally committed to SVN as r1348.
2007-07-04 04:24:47 +00:00
Niels Martin Hansen 598046e0f8 Producing software without actually doing anything 101: Write an overly vague specification.
Originally committed to SVN as r1347.
2007-07-04 01:47:19 +00:00
Dan Donovan f910d1eacd I should clean my directories before commit
Originally committed to SVN as r1346.
2007-07-04 01:38:16 +00:00
Dan Donovan 872242a378 Made it easy for amz to steal SSATool code by adding it to the SVN
Originally committed to SVN as r1345.
2007-07-04 01:37:29 +00:00
Rodrigo Braz Monteiro d6e9c3f730 Fixed \move drag. Note to self: std::vector != std::list, iterators are not preserved after a push_back().
Originally committed to SVN as r1344.
2007-07-04 01:22:10 +00:00
Rodrigo Braz Monteiro 7554bd373b Added support for \move in the drag tool, but it's still not possible to "upgrade" from \pos to it. Also, using the crosshair to position a line that had \move will no longer keep both tags.
Originally committed to SVN as r1343.
2007-07-04 00:36:04 +00:00
Niels Martin Hansen 66fa8be021 When disabling karaoke mode during splitting, cancel the split instead of committing it.
Originally committed to SVN as r1342.
2007-07-03 18:28:08 +00:00
Niels Martin Hansen 9fafcb6b81 Fixed some Automation defaults.
Originally committed to SVN as r1341.
2007-07-03 18:26:35 +00:00
Niels Martin Hansen b9e7754b17 Add a missing trace level to debug output.
Originally committed to SVN as r1340.
2007-07-03 18:25:30 +00:00
Rodrigo Braz Monteiro e64f9b2cfe Applied demi's patch to fix default timing duration.
Originally committed to SVN as r1339.
2007-07-03 06:43:57 +00:00
Rodrigo Braz Monteiro 075bb0184c Layer and margin columns are no longer shown if all lines have default values for those.
Originally committed to SVN as r1338.
2007-07-03 01:48:04 +00:00
Rodrigo Braz Monteiro 79e3e49cf4 1337 GET! Fixed behavior of mouse wheel when mouse is over the scintilla subtitle edit control.
Originally committed to SVN as r1337.
2007-07-03 01:18:00 +00:00
Rodrigo Braz Monteiro 1125cbb5a9 Fixed two crashes
Originally committed to SVN as r1336.
2007-07-03 01:09:39 +00:00
Fredrik Mellbin 16786725c3 FFmpegSource 1.2
Originally committed to SVN as r1335.
2007-07-02 21:36:21 +00:00
Rodrigo Braz Monteiro c01bb02942 Redesigned the layout of the styles manager.
Originally committed to SVN as r1334.
2007-07-02 06:18:28 +00:00
Rodrigo Braz Monteiro c70919ff42 Added standard button sizer to timing processor dialog
Originally committed to SVN as r1333.
2007-07-02 04:47:04 +00:00
Rodrigo Braz Monteiro 56ea22b0ff Fixed creation of catalogs on style manager.
Originally committed to SVN as r1332.
2007-07-01 19:07:19 +00:00
Rodrigo Braz Monteiro 80573bcb78 Re-implemented drag in visual typesetting (thus completing the rewriting), fixed lots of other visual typesetting stuff, and maybe, JUST MAYBE, fixed the video playback issue on unix.
Originally committed to SVN as r1331.
2007-07-01 07:09:37 +00:00
Rodrigo Braz Monteiro 5b1a326804 Visual typesetting fixes.
Originally committed to SVN as r1330.
2007-07-01 03:57:34 +00:00
Rodrigo Braz Monteiro c498c3a0b7 Re-implemented visual typesetting clip, and added a stub for drag.
Originally committed to SVN as r1329.
2007-07-01 03:36:17 +00:00
Rodrigo Braz Monteiro 4dd3a031c6 Re-implemented scaling to visual typesetting.
Originally committed to SVN as r1328.
2007-07-01 03:17:56 +00:00
Rodrigo Braz Monteiro d06fdfda65 Fixed rotate z and re-implemented rotate xy.
Originally committed to SVN as r1327.
2007-07-01 02:46:12 +00:00
Rodrigo Braz Monteiro a1050db3f3 Re-implemented z rotation on visual typesetting
Originally committed to SVN as r1326.
2007-07-01 02:23:57 +00:00
Niels Martin Hansen 48db3ab310 More actual update after running macros.
Originally committed to SVN as r1325.
2007-07-01 00:59:26 +00:00
Rodrigo Braz Monteiro 7e8de1c389 Visual tools rewriting, currently only the crosshair works.
Originally committed to SVN as r1324.
2007-07-01 00:19:55 +00:00
Rodrigo Braz Monteiro f963a8c462 lol, grammar.
Originally committed to SVN as r1323.
2007-06-30 22:14:50 +00:00
Rodrigo Braz Monteiro af9af29419 Very early reform to visual typesetting, in order to implement the more advanced tools.
Originally committed to SVN as r1322.
2007-06-30 21:56:15 +00:00
Rodrigo Braz Monteiro 3a7fa50f9d Made audio mode tooltips update when changed in options dialog.
Originally committed to SVN as r1321.
2007-06-30 20:59:32 +00:00
Rodrigo Braz Monteiro 9acbb6a356 Added an untested singleton class to manage tooltips of buttons and account for changes in them when hotkey bindings change.
Originally committed to SVN as r1320.
2007-06-30 20:32:02 +00:00
Rodrigo Braz Monteiro 6f283a819e Added a commit button to the subtitles edit box for the shortcut-impaired.
Originally committed to SVN as r1319.
2007-06-30 20:00:07 +00:00
Niels Martin Hansen 3e411f1eed Ctrl/Ctrl+Shift click Automation toolbar button to reload autoload/all scripts.
Originally committed to SVN as r1318.
2007-06-30 19:21:06 +00:00
Niels Martin Hansen 336f0621d7 Implemented spectrum cache aging/memory limiting.
Originally committed to SVN as r1317.
2007-06-30 14:40:52 +00:00
Niels Martin Hansen 7b3674abcd Only one syllable selected after a split now.
Originally committed to SVN as r1316.
2007-06-30 01:27:00 +00:00
Niels Martin Hansen e09ebcf442 Karaoke join back to working state.
Originally committed to SVN as r1315.
2007-06-30 00:00:44 +00:00
Rodrigo Braz Monteiro 7082e21765 Added support for BBC's 16:9 overscan standard.
Originally committed to SVN as r1314.
2007-06-28 23:27:37 +00:00
Rodrigo Braz Monteiro b8d5125d6c Tweaked colours of visual typesetting controls.
Originally committed to SVN as r1313.
2007-06-28 23:11:10 +00:00
Rodrigo Braz Monteiro ec9f32b670 Fixed minor glitch on visual typesetting
Originally committed to SVN as r1312.
2007-06-28 22:27:33 +00:00
Rodrigo Braz Monteiro 36df5b3de2 Made lines in typesetting controls antialiased.
Originally committed to SVN as r1311.
2007-06-28 22:18:19 +00:00
Rodrigo Braz Monteiro 2f911574d6 Overscan mask fully implemented. Toggleable via video menu.
Originally committed to SVN as r1310.
2007-06-28 21:35:37 +00:00
Rodrigo Braz Monteiro 4d4cbe1fcc Fixed bug with "snap to scene"
Originally committed to SVN as r1309.
2007-06-28 21:08:07 +00:00
Rodrigo Braz Monteiro 726305faff Fixed some video display bugs and added overscan mask drawing (disabled for now).
Originally committed to SVN as r1308.
2007-06-28 20:29:56 +00:00
Niels Martin Hansen 907221c940 Added spec for step in floatedit controls in Lua config dialogs and intedit spin controls seem to work properly now.
Originally committed to SVN as r1307.
2007-06-28 19:11:41 +00:00
Niels Martin Hansen 53f429c13d Fixed tooltip hints in Auto4/Lua config dialogs.
Originally committed to SVN as r1306.
2007-06-28 17:59:27 +00:00
Niels Martin Hansen 405c263700 Tweaks to spectrum quality index meaning. Insane quality is no longer nearly as insane.
Originally committed to SVN as r1305.
2007-06-24 20:54:02 +00:00
Niels Martin Hansen 0a1069407e Replaced Audio Spectrum Window and Audio Spectrum Overlaps with a single Audio Spectrum Quality option.
Originally committed to SVN as r1304.
2007-06-24 20:46:52 +00:00
Niels Martin Hansen e2858d07c9 Overlapping FFT's seem to work now.
Originally committed to SVN as r1303.
2007-06-24 20:09:18 +00:00
Niels Martin Hansen 18340499c6 Functionally useless implementation of overlapping FFT's. The overlaps should be calculated right but seem to not be rendered. (Rendered result is same as without any overlapping.)
Originally committed to SVN as r1302.
2007-06-24 19:53:41 +00:00
David Lamparter bbd368136a fix ambiguous overload reference (by removing the overload...)
Originally committed to SVN as r1301.
2007-06-24 19:03:42 +00:00
Niels Martin Hansen 7779ad6dde Add some preliminary FFT cache aging... while it "works" it doesn't do so in a very useful fashion, since unused cache segments are killed off much faster when you scroll the view in short segments than when doing large scrolls. It should, however, limit memory usage to cache_line_age_limit*line_length*sizeof(float) bytes, which is 64 MB with the current Audio Spectrum Window size.
Originally committed to SVN as r1298.
2007-06-24 02:58:33 +00:00
Rodrigo Braz Monteiro b28eeabc47 Started adding non-functional help buttons to dialogs and replacing buttons with wxStdDialogButtonSizer.
Originally committed to SVN as r1297.
2007-06-23 07:27:09 +00:00
Rodrigo Braz Monteiro d5a42097ff Fixed loading of avisynth scripts as audio
Originally committed to SVN as r1296.
2007-06-23 06:46:42 +00:00
Rodrigo Braz Monteiro 54f5c82296 Added a non-overwrite mode for text edit controls, which can be set on the menu. Some basic testing was done, but not exhaustive, which means that it MIGHT be buggy (also, the old mode might have been bugged)
Originally committed to SVN as r1295.
2007-06-23 06:07:32 +00:00
David Lamparter 69bb371305 make audio display not crash on no audio loaded (1 FPE fix, 1 NULL deref fix)
Originally committed to SVN as r1294.
2007-06-23 02:43:42 +00:00
Niels Martin Hansen 7c002835d8 I forgot Makefile.am too
Originally committed to SVN as r1293.
2007-06-23 00:36:07 +00:00
Niels Martin Hansen 2b089a7fb2 Forgot some stuff in changelog, as always
Originally committed to SVN as r1292.
2007-06-23 00:31:30 +00:00
Rodrigo Braz Monteiro 6dfcbc0cd8 Changed translation assistent to use Scintilla text controls to avoid several issues, including Right-To-Left text entry.
Originally committed to SVN as r1291.
2007-06-23 00:25:03 +00:00
Niels Martin Hansen f205d35a5a Fix #383 and pray it didn't subtly break something else (reusable struct+function for properly splitting and handling karaoke)
Originally committed to SVN as r1290.
2007-06-23 00:21:20 +00:00
Rodrigo Braz Monteiro 2b8fc2a2d5 Moved a lot of the subs_edit_ctrl functionality into a class of its own, so it can be reused elsewhere.
Originally committed to SVN as r1289.
2007-06-22 23:43:21 +00:00
Niels Martin Hansen 3818649af7 Fix #441 (Join/Split karaoke buttons now become Cancel/Accept Split buttons when in karaoke split mode)
Originally committed to SVN as r1288.
2007-06-22 23:28:28 +00:00
Niels Martin Hansen cee5c46ab7 Fix #278 (desync between audio and karaoke selection after splitting karaoke)
Originally committed to SVN as r1287.
2007-06-22 22:50:02 +00:00
Rodrigo Braz Monteiro 9122cdf74a Some more fixes to Linux
Originally committed to SVN as r1286.
2007-06-22 03:14:25 +00:00
Rodrigo Braz Monteiro 831c423d93 Removed associations dialog from non-win32 and added kanji timer icon to toolbar.
Originally committed to SVN as r1285.
2007-06-21 21:14:31 +00:00
Rodrigo Braz Monteiro d04995bac8 Fixed text_file_writer.h on Linux and made it use fstream on Win32 as well.
Originally committed to SVN as r1284.
2007-06-21 21:04:50 +00:00
David Lamparter 2d1df509f4 fix auto* library referencing
Originally committed to SVN as r1282.
2007-06-21 20:41:17 +00:00
Rodrigo Braz Monteiro 2d4032d83b Improved loading of config.dat
Originally committed to SVN as r1281.
2007-06-21 06:52:15 +00:00
Rodrigo Braz Monteiro 24d941b2bc config.dat can optionally be stored on the same folder as aegisub.exe.
Originally committed to SVN as r1280.
2007-06-21 06:14:49 +00:00
Rodrigo Braz Monteiro 1db207ea29 Fixed file backup AGAIN...
Originally committed to SVN as r1279.
2007-06-21 04:11:24 +00:00
Rodrigo Braz Monteiro cf710ffd90 Path fixing for release builds.
Originally committed to SVN as r1278.
2007-06-21 02:38:04 +00:00
Rodrigo Braz Monteiro d0fc49ca67 Replaced all references to absolute paths with ?user, ?data or ?temp. Some bugs might have resulted, but it seems to work-ish.
Originally committed to SVN as r1277.
2007-06-21 00:46:50 +00:00
Rodrigo Braz Monteiro c4d94d4dfa Added ?script, ?video and ?audio to standard paths. It's now all done except for encoding, which isn't very important...
Originally committed to SVN as r1276.
2007-06-20 22:23:55 +00:00
Rodrigo Braz Monteiro 4825235896 Forgot to update makefile AGAIN.
Originally committed to SVN as r1275.
2007-06-20 21:26:39 +00:00
Rodrigo Braz Monteiro 2fe424644a Standard paths semi-operational, and font caching (for ft2 retrieval engine) working.
Originally committed to SVN as r1274.
2007-06-20 21:08:31 +00:00
Rodrigo Braz Monteiro 01f49dda8d Unused standard paths class
Originally committed to SVN as r1273.
2007-06-20 19:40:06 +00:00
Rodrigo Braz Monteiro f36ccd9e99 Fonts collector seemingly all fixed and done, except for lack of font caching and use of fc on unix.
Originally committed to SVN as r1272.
2007-06-20 07:10:41 +00:00
Rodrigo Braz Monteiro 6319bcca7b General fixes to fonts collector, and made font attachment work. Collecting to archives still doesn't work, and there are a few destination-box related issues.
Originally committed to SVN as r1271.
2007-06-20 06:29:20 +00:00
Rodrigo Braz Monteiro fa293466d6 Semi-functional new fonts collector, using jfs's freetype2 font finding engine. Only font copying and checking work... and stuff also needs general tweaking.
Originally committed to SVN as r1270.
2007-06-20 05:18:47 +00:00
Niels Martin Hansen de107f3108 Another load of debug prints in audio code, and a semi-working commit of karaoke changes when karaoke mode is just disabled. Still very broken.
Originally committed to SVN as r1269.
2007-06-20 02:18:55 +00:00
Rodrigo Braz Monteiro 65c3b424f6 So i hurd u liek new splash
Originally committed to SVN as r1268.
2007-06-20 01:39:59 +00:00
Rodrigo Braz Monteiro ccfe77cd43 Fixed linking of expat for debug (was linking to release)
Originally committed to SVN as r1267.
2007-06-19 23:06:05 +00:00
Dan Donovan bb2aaaba37 Fixing other peoples screwups as usual :D setup.cpp updated
Originally committed to SVN as r1266.
2007-06-19 22:56:47 +00:00
Niels Martin Hansen b52761dd06 Made switching to a different line when in karaoke split-mode commit the splits.
Also littered debug prints all over the audio karaoke code.

Originally committed to SVN as r1265.
2007-06-19 22:37:25 +00:00
Rodrigo Braz Monteiro 2a55d6a01e Added an error message on video context if gl support isn't available.
Originally committed to SVN as r1264.
2007-06-19 07:03:33 +00:00
Rodrigo Braz Monteiro 4f4d67d7f7 A few more fixes for pch-less compilation
Originally committed to SVN as r1263.
2007-06-19 06:04:47 +00:00
Rodrigo Braz Monteiro fd9f14573d Added support for adobe encore export (both PAL and NTSC)
Originally committed to SVN as r1262.
2007-06-19 05:04:15 +00:00
Rodrigo Braz Monteiro e1df257ff4 A few missing header includes
Originally committed to SVN as r1261.
2007-06-19 04:14:25 +00:00
Rodrigo Braz Monteiro 64c6c7ee07 Added the associations dialogue to the menu and made Aegisub capable of associating sub and ttxt, as well as opening them by command line or drag-drop
Originally committed to SVN as r1260.
2007-06-19 04:04:46 +00:00
Rodrigo Braz Monteiro 708622cc63 Some refactoring and bug fixing to subtitle format stuff, and improved saving of srt, ttxt and microdvd.
Originally committed to SVN as r1259.
2007-06-19 03:34:53 +00:00
Niels Martin Hansen 0aaedd7b49 Fixed broken config dialogs
Originally committed to SVN as r1258.
2007-06-19 02:20:50 +00:00
Rodrigo Braz Monteiro 4a63ffe94a Aegisub should now be able to save TTXT 1.1 compliant files... at least, it's identical to the one generated by 'mp4box -ttxt'
Originally committed to SVN as r1257.
2007-06-19 01:30:27 +00:00
Rodrigo Braz Monteiro b96f4ba5d0 Working TTXT export, aside from the incomplete header
Originally committed to SVN as r1256.
2007-06-19 00:44:18 +00:00
Rodrigo Braz Monteiro 14195cc2bb Completely broken TTXT writing pseudo-implemented.
Originally committed to SVN as r1255.
2007-06-18 22:20:50 +00:00
Rodrigo Braz Monteiro 808a1fe06c Fixed reading and writing of microdvd subtitles
Originally committed to SVN as r1254.
2007-06-18 19:25:11 +00:00
Rodrigo Braz Monteiro 9b880fd963 Modified makefile to include the two new subtitle formats.
Originally committed to SVN as r1253.
2007-06-18 18:27:27 +00:00
Rodrigo Braz Monteiro 5d24b07b50 Added a copy constructor to the numeric validator, to hopefully fix the issues that xat had with it on Linux. Also, made it enforce stricter standards (that is, not allowing you to type numbers before the sign)
Originally committed to SVN as r1252.
2007-06-18 18:20:45 +00:00
Niels Martin Hansen b1b89523d0 Link wxbase28u[d]_xml.lib
Originally committed to SVN as r1251.
2007-06-18 18:13:01 +00:00
Niels Martin Hansen fa131dc769 Always generate furigana styles when kara-templater is used, hope it won't be ill received.
Originally committed to SVN as r1250.
2007-06-18 14:26:48 +00:00
Niels Martin Hansen fc3a4938e1 Make sure tenv.line is well defined also when running code lines. (For code lines, tenv.line == tenv.orgline.)
Originally committed to SVN as r1249.
2007-06-18 14:03:22 +00:00
Niels Martin Hansen a214b69cac Introducing fxgroup modifier
Originally committed to SVN as r1248.
2007-06-18 13:49:17 +00:00
Rodrigo Braz Monteiro 0ceff61352 Fixed support for TTXT version 1.1
Originally committed to SVN as r1247.
2007-06-18 06:56:10 +00:00
Rodrigo Braz Monteiro ee5aea601c Added full read-write support for MicroDVD subtitles, including reading of fps from first line, or asking user for one, including that of video.
Originally committed to SVN as r1245.
2007-06-18 04:03:58 +00:00
Rodrigo Braz Monteiro b41c288677 Fixed handling of single quotes/lines in TTXT, but still at a loss on how to decode the line properly (a sample that actually has an apostrophe would be useful)
Originally committed to SVN as r1244.
2007-06-18 01:50:49 +00:00
Rodrigo Braz Monteiro c9c8f41e1f Implemented basic (plain-text only) TTXT reading.
Originally committed to SVN as r1243.
2007-06-18 01:17:03 +00:00
Niels Martin Hansen 520f380fbc More sensible operation for empty "line" templates.
Originally committed to SVN as r1242.
2007-06-17 23:52:35 +00:00
Rodrigo Braz Monteiro d84d930c87 Changed layer box with a spin control and further organized changes in changelog
Originally committed to SVN as r1241.
2007-06-17 23:49:51 +00:00
Rodrigo Braz Monteiro a12a6f229c Float spin control mostly works, but there are two bugs that I don't want to deal with, so, meh.
Originally committed to SVN as r1240.
2007-06-17 22:57:36 +00:00
Rodrigo Braz Monteiro 673a818e49 Replaced some numeric validators with a new, improved one... It still allows wrong data on paste, though.
Originally committed to SVN as r1239.
2007-06-17 21:12:28 +00:00
Niels Martin Hansen f3c9b2ca79 run_template_code and run_code_template is not the same thing...
Originally committed to SVN as r1238.
2007-06-17 20:42:42 +00:00
Rodrigo Braz Monteiro a2ef89c752 More incomplete float spin code
Originally committed to SVN as r1237.
2007-06-17 18:43:57 +00:00
Fredrik Mellbin f8770b2999 FFmpegSource version 1.1
Originally committed to SVN as r1236.
2007-06-17 16:35:16 +00:00
Niels Martin Hansen 339f9fe8bb Probably fixed syntax error in autogen.sh.
Originally committed to SVN as r1235.
2007-06-17 12:32:22 +00:00
Niels Martin Hansen a678ca82fe Misc. enhancements and bugfixes to kara-templater.
Originally committed to SVN as r1234.
2007-06-17 12:01:36 +00:00
Rodrigo Braz Monteiro de81a61ee6 Added base and mostly unimplemented float spin control
Originally committed to SVN as r1233.
2007-06-17 07:40:43 +00:00
Rodrigo Braz Monteiro a98fc362d3 Added icon for kanji timer and enabled the 'delete line' icon
Originally committed to SVN as r1232.
2007-06-17 05:15:20 +00:00
Rodrigo Braz Monteiro 1cb3b05ada Fixed issues with close buttons.
Originally committed to SVN as r1231.
2007-06-17 02:51:11 +00:00
Rodrigo Braz Monteiro 063bf22a42 Added a "toggle next line on commit" button to the audio tool bar
Originally committed to SVN as r1230.
2007-06-17 02:34:27 +00:00
Niels Martin Hansen 9bb7b61007 Add "absurdness" benchmark-generator
Originally committed to SVN as r1229.
2007-06-17 01:58:00 +00:00
Rodrigo Braz Monteiro 35f2610bb8 Fixed insertion of bold/italics/etc overrides on lines that contained non-ascii characters.
Originally committed to SVN as r1228.
2007-06-16 23:05:05 +00:00
Rodrigo Braz Monteiro 34cd74525d Made Avisynth video provider use FFMpegSource for non avi/d2v/avs, but it will break for vfr because of the hack to make it work with dss
Originally committed to SVN as r1227.
2007-06-16 22:07:43 +00:00
Niels Martin Hansen 354f96c081 kara-templater retime() function implemented, tested and working :)
Originally committed to SVN as r1226.
2007-06-16 21:57:14 +00:00
Fredrik Mellbin b2c04484f2 consistent capitalization of FFmpeg
Originally committed to SVN as r1225.
2007-06-16 19:46:22 +00:00
Rodrigo Braz Monteiro cec8828bb2 Some random changes that I didn't have committed
Originally committed to SVN as r1224.
2007-06-16 19:38:44 +00:00
Fredrik Mellbin 3e2ff3da77 Imported FFmpegSource
Originally committed to SVN as r1223.
2007-06-16 18:45:56 +00:00
Niels Martin Hansen 5b8273d67c Attempt at workaround for the -e bug... I hope it works. (Untested as usual.)
Originally committed to SVN as r1222.
2007-06-16 12:50:34 +00:00
Niels Martin Hansen 40525074e3 Fixes to make kara-templater actually work... oops.
Originally committed to SVN as r1221.
2007-06-15 23:20:45 +00:00
Niels Martin Hansen 9b00ecf2ed Kara-templater seems to be feature-complete by current specs, but it'll need lots and lots of testing!
Originally committed to SVN as r1220.
2007-06-15 21:42:03 +00:00
Niels Martin Hansen ac662477b9 Support multiple Automation autoload dirs. (I hope. As usual, not tested.)
Originally committed to SVN as r1219.
2007-06-10 01:49:11 +00:00
Dan Donovan 77e2f20424 Fix override block parsing
Originally committed to SVN as r1218.
2007-06-09 21:45:14 +00:00
David Lamparter f7fe30b7c9 Commit Wars Episode V: The setup.h strikes back
Originally committed to SVN as r1217.
2007-06-08 00:44:44 +00:00
David Lamparter 0d0c423398 REALLY fix dist this time
Originally committed to SVN as r1216.
2007-06-08 00:38:22 +00:00
Niels Martin Hansen b40b5b325a Killed off setup.h - only feature still controlled by it was PRS export, which in its current state is worthless. It can be re-enabled by defining USE_PRS=1 during build.
Originally committed to SVN as r1215.
2007-06-08 00:37:24 +00:00
Niels Martin Hansen 1a5906f97c Removed FexTracker for good.
Originally committed to SVN as r1214.
2007-06-08 00:30:37 +00:00
David Lamparter 94385aca8f --enable-lemming - make configure run over the cliff
Originally committed to SVN as r1213.
2007-06-08 00:29:20 +00:00
David Lamparter be7a2cd2f7 ARGH. shell escapes\!
Originally committed to SVN as r1212.
2007-06-07 23:43:20 +00:00
David Lamparter 555992dbd5 install automation files to /usr/share/aegisub/automation
Originally committed to SVN as r1211.
2007-06-07 23:26:06 +00:00
David Lamparter 5baa205007 fix Makefiles / dist target
Originally committed to SVN as r1210.
2007-06-07 23:23:30 +00:00
Niels Martin Hansen ecd060a70b Made filling font face list in style editor dialog non-slow.
Originally committed to SVN as r1209.
2007-06-06 21:42:32 +00:00
Niels Martin Hansen 9d1f40b4c4 Fixed style editor crashing for good (I think) and added some performance measurement of font list creation in debug builds.
Originally committed to SVN as r1208.
2007-06-06 21:27:42 +00:00
Niels Martin Hansen 31003a3a52 Removed a small noop codeblock.
Originally committed to SVN as r1207.
2007-06-06 20:59:01 +00:00
Niels Martin Hansen f8715f91ef Added various FIXME/TODO comments, set proper default audio player on Apple systems.
Originally committed to SVN as r1206.
2007-06-05 18:02:54 +00:00
Dan Donovan 4fa3c0f776 Removed subtitles preview unavailable messagebox in subtitles editor and replaced the preview box itself with a similar message
Originally committed to SVN as r1205.
2007-06-03 04:54:38 +00:00
Dan Donovan 5e3087a23e Updating changelog.txt
Originally committed to SVN as r1204.
2007-06-03 02:07:35 +00:00
Dan Donovan c85d148076 Treat comments inside {} as plain text so that typesetting doesn't mess with them
Originally committed to SVN as r1203.
2007-06-03 01:54:39 +00:00
Dan Donovan 50aab0f08f Don't assume override blocks always start with a backslash, since many people use them for comments
Originally committed to SVN as r1202.
2007-06-03 00:37:49 +00:00
Niels Martin Hansen 5a4e03312a If Ctrl is held when video playback is started, no audio resync is attempted during that playback.
Originally committed to SVN as r1201.
2007-06-02 13:48:36 +00:00
Niels Martin Hansen 59aad1f044 Added a bit to the template environment so all globals can now be called. (tenv._G refers to the regular global environment, so it's not safe from mangling, but that shouldn't matter either way. It allows much more freedom in writing templates.)
Originally committed to SVN as r1200.
2007-05-30 10:54:35 +00:00
Niels Martin Hansen 508d3d9a52 Fix #413 (mouse crosshair on video not disappearing when mouse leaves video display) and some minor code cleanup.
Originally committed to SVN as r1199.
2007-05-28 18:45:57 +00:00
Niels Martin Hansen ea3c386aa2 Fix #418 (crash modifying karaoke timing on lines with text before first karaoke tag.)
Originally committed to SVN as r1198.
2007-05-28 11:24:37 +00:00
Niels Martin Hansen 6a9e0d8d68 Commented out the useless PRS stuff for now, just to simplify building on non-Windows.
Originally committed to SVN as r1197.
2007-05-23 23:22:46 +00:00
Niels Martin Hansen fab2bde15c Fix syllable spacing issue (regression, I think)
Originally committed to SVN as r1196.
2007-05-22 22:03:17 +00:00
Niels Martin Hansen 5d81aa760a Added a proper "interface" to tell furigana pseudo-syllables from actual syllables.
Originally committed to SVN as r1195.
2007-05-22 20:55:55 +00:00
Rodrigo Braz Monteiro 3a9f5995e9 Some incomplete clean up to changelog.txt
Originally committed to SVN as r1194.
2007-05-22 06:11:19 +00:00
Rodrigo Braz Monteiro 3fe5fb09f2 Applied demi's patch to fix the display of frames on grid, and fixed the toggling of the "layer" column.
Originally committed to SVN as r1193.
2007-05-22 05:53:08 +00:00
Rodrigo Braz Monteiro a0b7583262 Replaced margin edit boxes in style editor with spin controls.
Originally committed to SVN as r1192.
2007-05-21 06:03:09 +00:00
Rodrigo Braz Monteiro e1592d0628 Alpha edit boxes on the style editor were replaced with spin controls.
Originally committed to SVN as r1191.
2007-05-21 05:38:28 +00:00
Rodrigo Braz Monteiro 7f1f1c956b Added a button to change the background colour of the preview box in the style editor.
Originally committed to SVN as r1190.
2007-05-21 04:53:14 +00:00
Rodrigo Braz Monteiro 2be3007cb8 error in changelog
Originally committed to SVN as r1189.
2007-05-21 04:06:17 +00:00
Rodrigo Braz Monteiro 001c5947f6 Changed the Style Editor to have an editable drop-down (combo box) to select fonts, instead of the OS's standard font chooser. This allows easy realtime preview of subtitles.
Originally committed to SVN as r1188.
2007-05-21 03:59:46 +00:00
Niels Martin Hansen 3090aaafad Make furigana have (almost?) the same interface as syllables so the same code should be able to operate on either.
Originally committed to SVN as r1187.
2007-05-15 23:02:20 +00:00
Niels Martin Hansen 4aac1658ba Removed now superseded precalc code and made it call the new code instead.
Originally committed to SVN as r1186.
2007-05-15 22:49:28 +00:00
Niels Martin Hansen fb659e2d63 Fixed a minor annoyance related to Automation options and commented at some possible problem areas
Originally committed to SVN as r1185.
2007-05-15 22:40:20 +00:00
Niels Martin Hansen 75548ec7cc Full workiness added to furigana code. At least it passes my tests.
Originally committed to SVN as r1184.
2007-05-14 22:47:41 +00:00
Niels Martin Hansen e2f62caf7b And furigana seems to work, haven't tested flags however
Originally committed to SVN as r1183.
2007-05-14 21:36:00 +00:00
Niels Martin Hansen 6b55bf750c Renamed Auto4/Lua test cases to more informative filenames
Originally committed to SVN as r1182.
2007-05-14 21:18:11 +00:00
Niels Martin Hansen 02c18a3380 Somewhat working furigana layouting
Originally committed to SVN as r1181.
2007-05-14 20:45:42 +00:00
Niels Martin Hansen 9ae7be4443 Seemingly working furigana/multi-hl parsing and some untested inline-fx parsing. Still no furigana layouting, and the parsing isn't integrated yet.
Originally committed to SVN as r1180.
2007-05-14 15:33:17 +00:00
Niels Martin Hansen 2c8c6977d5 Fix stupid bug in colour interpolation functions
Originally committed to SVN as r1179.
2007-05-13 14:08:10 +00:00
Niels Martin Hansen 5c023641e5 Removed some tab-characters that broke hotkeys in some cases
Originally committed to SVN as r1178.
2007-05-12 17:38:29 +00:00
Dan Donovan 190dcfe02e use more appropriate variable names in kanji timer...
Originally committed to SVN as r1177.
2007-05-12 17:35:54 +00:00
Niels Martin Hansen 5b9a374f6e Fixes to make karaskel actually work again, and added some real skeleton code (fx_library)
Originally committed to SVN as r1176.
2007-05-12 14:37:31 +00:00
Niels Martin Hansen b9298b61e4 FIXME comments in (almost) all audio players, neither handle time reporting fully correct: they report number of samples they have played plus start sample, instead of current sample being heard, ie. they don't take into account that the current position might get changed in mid-stream by the video player to resync audio to video.
Originally committed to SVN as r1175.
2007-05-10 22:39:17 +00:00
Niels Martin Hansen e46b57ca86 Much better time reporting.
Originally committed to SVN as r1174.
2007-05-10 22:31:49 +00:00
Niels Martin Hansen f7893b932e OpenAL audio player that at least "somewhat works" on Windows.
Originally committed to SVN as r1173.
2007-05-10 21:08:30 +00:00
Niels Martin Hansen c9a79bcf2f Some extra colour handling code for Auto3, ported from Auto4/Lua.
Originally committed to SVN as r1172.
2007-05-08 13:30:24 +00:00
Niels Martin Hansen 224146a9e0 Updated changelog, moved some items around to better group related changes.
Originally committed to SVN as r1171.
2007-05-08 01:13:40 +00:00
Niels Martin Hansen 15fb8e8fdb "New", nicer solution for including the SVN revision information in Windows builds.
Originally committed to SVN as r1170.
2007-05-08 00:06:39 +00:00
Niels Martin Hansen b22a47f842 Fixing Auto3 on POSIX broke it on Win32, wonderful world of compiler incompatibilities.
Originally committed to SVN as r1169.
2007-05-08 00:05:59 +00:00
Niels Martin Hansen 8f3cffcd01 Missing Makefile for auto3
Originally committed to SVN as r1168.
2007-05-07 17:14:27 +00:00
Niels Martin Hansen b3c15d8d2e Somewhat working auto3 on Linux, still needs some minor fixing
Originally committed to SVN as r1167.
2007-05-07 16:44:26 +00:00
Niels Martin Hansen d3bf280993 Building on POSIX seems fixed again
Originally committed to SVN as r1166.
2007-05-07 14:22:18 +00:00
Niels Martin Hansen 7f8d1a5a81 Well look. Automation 3 works now!
Originally committed to SVN as r1165.
2007-05-07 13:38:12 +00:00
Niels Martin Hansen f9f65888d3 About-dialog is no longer on top.
Originally committed to SVN as r1164.
2007-05-04 01:56:17 +00:00
Niels Martin Hansen 81b8660348 Fix for styles table in auto3, broken karaoke-splitter...
Originally committed to SVN as r1163.
2007-05-04 01:43:00 +00:00
Niels Martin Hansen 6087314600 I would like to claim that auto3 now "works". It's just somewhat useless currently.
Originally committed to SVN as r1162.
2007-05-03 22:15:22 +00:00
Niels Martin Hansen 73288ed43f Fixed some Lua 5.0/5.1 compatibility problems in includes
Originally committed to SVN as r1161.
2007-05-03 18:22:11 +00:00
Niels Martin Hansen 480e7706a1 Incomplete, but parser-passing, changes to Lua karaskel
Originally committed to SVN as r1160.
2007-05-03 18:13:42 +00:00
Niels Martin Hansen e659a5d12f Separate Auto3 lib seems to work on Windows now... changed the GNU build system a bit so it shouldn't try to build Auto3 yet. (Still some decisions to be made about where the lib should be placed and how it should be loaded.) Building on POSIX might break now...
Originally committed to SVN as r1159.
2007-05-03 17:57:21 +00:00
Niels Martin Hansen 9aceffb576 Added some more Gabest logic to AssFile::GetResolution()
Originally committed to SVN as r1158.
2007-05-03 17:19:50 +00:00
Niels Martin Hansen e9284e5f88 At least the auto3 shared lib builds now, still missing the code to call text_extents in the host app though. And completely untested.
Originally committed to SVN as r1157.
2007-05-03 14:42:40 +00:00
Niels Martin Hansen 2785821a62 Forgot to add Lua scriptreader to Makefile.am
Originally committed to SVN as r1156.
2007-05-02 17:29:32 +00:00
Niels Martin Hansen 3008d26a6f Interface and code-skeleton for Auto3 shared library, and Lua 5.0.3 source tree.
Originally committed to SVN as r1155.
2007-05-02 12:18:04 +00:00
Niels Martin Hansen ce2b203251 Split out the LuaScriptReader class, though it might be futile.
Originally committed to SVN as r1154.
2007-05-01 21:51:49 +00:00
Rodrigo Braz Monteiro e050a094b6 demi did it on purpose
Originally committed to SVN as r1153.
2007-04-29 01:18:13 +00:00
Niels Martin Hansen b1be9b3483 Intentionally break loading of Auto3 scripts to make people ask less. Auto3 scripts will for now always fail loading, displaying a message that they are not supported.
Originally committed to SVN as r1152.
2007-04-29 00:59:19 +00:00
Rodrigo Braz Monteiro 2940fa93d1 Changed colours of spectrum analyser display
Originally committed to SVN as r1151.
2007-04-28 23:43:58 +00:00
Rodrigo Braz Monteiro d403fd21f2 Applied demi's fix to scaledborderandshadow
Originally committed to SVN as r1150.
2007-04-27 21:19:22 +00:00
Rodrigo Braz Monteiro a59ee116a7 Some refactoring of options dialog code... not complete, but already an improvement.
Originally committed to SVN as r1149.
2007-04-27 04:53:44 +00:00
Niels Martin Hansen d244277ac9 More fixing build system
Originally committed to SVN as r1148.
2007-04-26 21:38:42 +00:00
Niels Martin Hansen e52740570a More correct playback position reporting.
Originally committed to SVN as r1147.
2007-04-26 20:17:20 +00:00
Niels Martin Hansen 7a89405f18 So apparently Alsa mostly works now. Not thorougly tested.
Originally committed to SVN as r1146.
2007-04-26 20:11:48 +00:00
Niels Martin Hansen 2e82606c29 Alsa player is still broken... but trying to do things differently at least.
Originally committed to SVN as r1145.
2007-04-26 18:34:36 +00:00
Rodrigo Braz Monteiro e04c25d378 Probably fixed OS X errors on gl_wrap.cpp, but I really don't think that I want to fix the retarded warnings
Originally committed to SVN as r1144.
2007-04-25 18:57:56 +00:00
Rodrigo Braz Monteiro 3f0b3eebae Another attempt to fix gl_wrap.cpp on OS X.
Originally committed to SVN as r1143.
2007-04-25 18:45:09 +00:00
Rodrigo Braz Monteiro aef7dd3e61 Possible fix for gl_wrap.cpp on OS X
Originally committed to SVN as r1142.
2007-04-25 18:35:27 +00:00
Rodrigo Braz Monteiro 577295495e Commiting text now commits times as well.
Originally committed to SVN as r1141.
2007-04-25 04:31:36 +00:00
Rodrigo Braz Monteiro 399a7396cf Attempt at a dummy video dialog fix and fixed mythes's function duplication issues once and for all.
Originally committed to SVN as r1140.
2007-04-25 04:09:42 +00:00
Rodrigo Braz Monteiro dfeb714019 restored boost
Originally committed to SVN as r1139.
2007-04-25 02:39:17 +00:00
Niels Martin Hansen 4a54dd2bf8 Forgot yet another Makefile in configure.ac.
Originally committed to SVN as r1138.
2007-04-25 02:23:07 +00:00
Niels Martin Hansen 1b0201995f Forgot a makefile... and removed redundant stuff from main Makefile.am.
Originally committed to SVN as r1137.
2007-04-25 02:18:55 +00:00
Niels Martin Hansen e8409a44cd Forgot to reference additional Makefiles to be configured in configure.ac.
Originally committed to SVN as r1136.
2007-04-25 02:13:54 +00:00
Niels Martin Hansen dcfb3fc2ed Killed off unused boost headers.
And final commit in Makefile.am updates for now... I hope.

Originally committed to SVN as r1135.
2007-04-25 02:03:02 +00:00
Niels Martin Hansen b068353513 Adding Makefile.am's in smaller steps.. SVN doesn't like me.
Originally committed to SVN as r1134.
2007-04-25 01:59:46 +00:00
Niels Martin Hansen 93d0b0a469 Adding Makefile.am's in smaller steps.. SVN doesn't like me.
Originally committed to SVN as r1133.
2007-04-25 01:59:01 +00:00
Niels Martin Hansen 1ba8e934f2 Deleted old, unused files.
Originally committed to SVN as r1132.
2007-04-25 01:56:09 +00:00
Niels Martin Hansen f41e701422 Minor updates to kara-templater. (Also removed now-empty auto3/factorybrew/ dir.)
Originally committed to SVN as r1131.
2007-04-25 01:55:15 +00:00
Niels Martin Hansen 2069b993bc Moving around a couple of auto3 scripts to get rid of unneeded subdirs.
Originally committed to SVN as r1130.
2007-04-25 01:53:34 +00:00
Niels Martin Hansen 4d0a78b9a9 DSound player seems good now... stop breaking it.
Originally committed to SVN as r1129.
2007-04-25 00:35:10 +00:00
Niels Martin Hansen 14582ad00a Fixed Alsa player, now mostly works. (Incorrect position reporting, strange samplerate glitch at start of playback.) And more fixes to build system.
Originally committed to SVN as r1128.
2007-04-24 22:29:27 +00:00
Niels Martin Hansen a278e4e4a3 More fixing of build system: Properly link GL framework on OS X (I hope.) FFmpeg is now optional. Check for a working pthreads. More detailed warnings when no audio players or video/audio providers are available.
Originally committed to SVN as r1127.
2007-04-24 00:52:49 +00:00
Niels Martin Hansen bd72e621b8 Fixed "invalid -e option" warning when converting images to xpm
Originally committed to SVN as r1126.
2007-04-23 23:38:13 +00:00
Niels Martin Hansen 5ee7106920 Various fixes in build system
Originally committed to SVN as r1125.
2007-04-23 22:34:52 +00:00
Niels Martin Hansen 3e5d49d46c Seem to have fixed asserts randomly triggering. Taking the mainloop mutex is important!
Originally committed to SVN as r1124.
2007-04-23 20:58:21 +00:00
Niels Martin Hansen 470f8d05c6 Better error reporting
Originally committed to SVN as r1123.
2007-04-23 20:26:39 +00:00
Niels Martin Hansen e4051efbf0 Somewhat working playpack position indicator, but restarting playback doesn't always work properly.
Originally committed to SVN as r1122.
2007-04-23 17:34:39 +00:00
Niels Martin Hansen b63a2ade85 Commented out some trace-prints in PulseAudio player, and added device selection to (still broken) Alsa player.
Originally committed to SVN as r1121.
2007-04-23 17:01:00 +00:00
Niels Martin Hansen 15a5e39fff PulseAudio player seems to kinda work, it just doesn't report playback position yet
Originally committed to SVN as r1120.
2007-04-23 16:16:39 +00:00
Rodrigo Braz Monteiro 760cb49475 Made Aegisub use -O2 on posix
Originally committed to SVN as r1119.
2007-04-23 02:58:49 +00:00
Niels Martin Hansen 0617076b72 Added (broken) PulseAudio audio player. It currently deadlocks.
Originally committed to SVN as r1118.
2007-04-23 02:30:27 +00:00
Rodrigo Braz Monteiro e3d67151c0 Defaulted audio player to portaudio on non-win32
Originally committed to SVN as r1117.
2007-04-22 22:38:49 +00:00
Rodrigo Braz Monteiro 244b28ecf1 Ruby should hopefully work on posix now, but is hopefully optional. Aegisub is a project made of hopes.
Originally committed to SVN as r1116.
2007-04-22 22:20:53 +00:00
Niels Martin Hansen 455f7aa7b6 Fix for stupid "missing m4 dir" error
Originally committed to SVN as r1115.
2007-04-22 22:10:23 +00:00
Niels Martin Hansen 5851f0561f Implemented (seemingly broken) Alsa audio player.
Fixed hunspell-related bugs in autoconf/automake system.

Originally committed to SVN as r1114.
2007-04-22 21:59:35 +00:00
Niels Martin Hansen ba944fd9b2 REALLY fixed DSound playback this time.
Originally committed to SVN as r1113.
2007-04-22 16:03:28 +00:00
Niels Martin Hansen cf2d2ff5d4 Fixed "cannot wait for thread termination (invalid handle)" error in Auto4/Lua on wxMSW 2.8.3 by removing threading dependency in Auto4LuaScript::Create. It wasn't needed there anyway.
Also removed absolute dependency on hunspell, Aegisub should just build without spellchecking support now. Finally removed requirement to have built with at least one spellchecker. (That was stupid.)

Originally committed to SVN as r1112.
2007-04-22 15:45:29 +00:00
Rodrigo Braz Monteiro 7f6c3a4ba1 1111 GET - failed attempt to get Ruby to work (commented out) and made PortAudio optional (I hope)
Originally committed to SVN as r1111.
2007-04-22 07:04:31 +00:00
Rodrigo Braz Monteiro 31fac78388 Fixed hunspell support in Linux.
Originally committed to SVN as r1110.
2007-04-22 04:21:19 +00:00
Niels Martin Hansen a05cf649fe Proper checking for OpenGL, hopefully also using the right includes on OS X.
Most OS X users will want to add --with-apple-opengl-framework to the configure command line.

Originally committed to SVN as r1109.
2007-04-22 02:24:27 +00:00
Rodrigo Braz Monteiro 4f1dc2c59d Made hunspell into a pluggable factory. This MIGHT cause issues with mythes if hunspell is not available...
Originally committed to SVN as r1108.
2007-04-22 02:03:40 +00:00
Rodrigo Braz Monteiro b2f2cf2d7f Changed the audio player interface to use pluggable factories and added audio player/provider to options (in a new page, where all advanced audio options were moved to)
Originally committed to SVN as r1107.
2007-04-22 01:23:25 +00:00
Niels Martin Hansen c6722b0587 Fixed some building on Linux, at least on Ubuntu Feisty amd64. Also
updated configure.ac to check for wxSTC instead of wxScintilla.

Originally committed to SVN as r1106.
2007-04-22 00:23:21 +00:00
Rodrigo Braz Monteiro be0cedb475 Made esc work with attachments, automation and spell checker dialogs, and jfs's suggested changes to dsound code
Originally committed to SVN as r1105.
2007-04-22 00:14:58 +00:00
Rodrigo Braz Monteiro b91f1a0511 Replaced wxScintilla with the more sane (and standard) wxStyledTextCtrl.
Originally committed to SVN as r1104.
2007-04-21 23:16:38 +00:00
Rodrigo Braz Monteiro feff4e63f3 More optimizations
Originally committed to SVN as r1103.
2007-04-20 23:07:22 +00:00
Rodrigo Braz Monteiro 83f0c94545 Optimizations to AssTime::ParseASS()
Originally committed to SVN as r1102.
2007-04-20 22:17:42 +00:00
Niels Martin Hansen 168d08acc2 Fixed compiler warning and removed some dead code.
Originally committed to SVN as r1101.
2007-04-20 21:15:21 +00:00
Niels Martin Hansen c1cb6e4367 Stable, correct and uncut audio playback GET!
Originally committed to SVN as r1100.
2007-04-20 18:07:44 +00:00
Niels Martin Hansen 4276b02f89 Fixed #320, other applications no longer interfere with audio playback. Apparently those notifications for DSound buffers aren't reliable at all.
Still one minor problem with audio display cursor making a strange jump about one second from end of selection, this doesn't seem to affect playback though.

Originally committed to SVN as r1099.
2007-04-20 16:27:18 +00:00
Niels Martin Hansen 813a487b23 Rewrote lots of the DirectSound audio code, hopefully it's more stable now.
Originally committed to SVN as r1098.
2007-04-19 23:38:54 +00:00
Rodrigo Braz Monteiro 877c4bf1b1 Much faster subtitles loading (only really relevant for huge files, though) and undo stack operations.
Originally committed to SVN as r1097.
2007-04-19 15:22:47 +00:00
Rodrigo Braz Monteiro 95bc4227f2 fixed an odd option
Originally committed to SVN as r1096.
2007-04-18 20:59:36 +00:00
Rodrigo Braz Monteiro f64d5341ce A few Linux fixes
Originally committed to SVN as r1095.
2007-04-18 20:24:32 +00:00
Rodrigo Braz Monteiro 8a7fc29c5d Fixed makefile to include two missing cpp files
Originally committed to SVN as r1094.
2007-04-18 19:44:45 +00:00
Rodrigo Braz Monteiro 9f18c2d448 Fixed hidden cursor on right click
Originally committed to SVN as r1093.
2007-04-18 04:51:17 +00:00
Rodrigo Braz Monteiro 9dcb9d7884 Added a "defaults" button to options dialog.
Originally committed to SVN as r1092.
2007-04-18 04:03:22 +00:00
Rodrigo Braz Monteiro 0c7b674e55 General tweaks
Originally committed to SVN as r1091.
2007-04-18 03:38:48 +00:00
Rodrigo Braz Monteiro 870d249123 Fixed autosaving of some file types.
Originally committed to SVN as r1090.
2007-04-18 01:59:50 +00:00
Rodrigo Braz Monteiro e6331a182a Forgot to add browse button to linux makefile
Originally committed to SVN as r1089.
2007-04-17 23:03:08 +00:00
Rodrigo Braz Monteiro edeaf98352 Created browse button and added it to several (but not all) places on the options dialog.
Originally committed to SVN as r1088.
2007-04-17 23:00:30 +00:00
Niels Martin Hansen 0fa8464d62 Made colour format conversion functions in utils.lua actually usable and added some sanity checking
Originally committed to SVN as r1087.
2007-04-17 21:49:21 +00:00
Rodrigo Braz Monteiro e7eb42906a Fixed unloading of video.
Originally committed to SVN as r1086.
2007-04-17 01:19:04 +00:00
Rodrigo Braz Monteiro 6724424880 Forgot changelog for 1084. >_>
Originally committed to SVN as r1085.
2007-04-17 00:20:26 +00:00
Rodrigo Braz Monteiro 38dd7b1a4a Set csri/vsfilter_textsub as the default subtitles provider under win32
Originally committed to SVN as r1084.
2007-04-17 00:02:17 +00:00
Rodrigo Braz Monteiro 9f58957fd9 Styles editor seems totally finished, although it will probably still conflict on temporary subs filename.
Originally committed to SVN as r1083.
2007-04-16 23:59:38 +00:00
Rodrigo Braz Monteiro 94260f649d Several improvements to style editor, but still not 100% done
Originally committed to SVN as r1082.
2007-04-16 23:41:06 +00:00
Rodrigo Braz Monteiro 85cafc22bc Clean up of DialogStyleEditor constructor.
Originally committed to SVN as r1081.
2007-04-16 22:13:09 +00:00
Rodrigo Braz Monteiro 3726c82f21 Tweaks to style editor.
Originally committed to SVN as r1080.
2007-04-16 15:08:09 +00:00
Rodrigo Braz Monteiro 50f63ba3fe Style editor layout redesign and added a style preview box to it (doesn't autoupdate yet, though).
Originally committed to SVN as r1079.
2007-04-16 04:26:42 +00:00
Rodrigo Braz Monteiro e2c9befeae Fixed display of video coordinates.
Originally committed to SVN as r1078.
2007-04-15 22:44:52 +00:00
Rodrigo Braz Monteiro cb1f794b3e Actually completed spell checker dialog.
Originally committed to SVN as r1077.
2007-04-14 16:08:50 +00:00
Rodrigo Braz Monteiro bd03fbc3ce Spell checker dialog is complete.
Originally committed to SVN as r1076.
2007-04-14 15:26:46 +00:00
Rodrigo Braz Monteiro 79341020fd Early and mostly uncoded spellchecker dialog.
Originally committed to SVN as r1075.
2007-04-14 01:02:21 +00:00
Rodrigo Braz Monteiro 9292b79e1d Fixed double clicking on video
Originally committed to SVN as r1074.
2007-04-13 20:21:37 +00:00
Niels Martin Hansen 4b569de80d Fixed bug with grid scrollbar not updating.
Removed some old, unused auto3 files.

Originally committed to SVN as r1073.
2007-04-13 15:30:57 +00:00
Rodrigo Braz Monteiro 51cd2f5ced Completed (although it could still use some new features) OpenGL Text drawing code, and fully re-implemented video mouse coordinates.
Originally committed to SVN as r1072.
2007-04-13 14:38:27 +00:00
Rodrigo Braz Monteiro dbd64d935e Almost working gl text code (seemingly uploads and retrieves glyphs fine, but only rendering white rectangles, and there are many things that could be causing that)
Originally committed to SVN as r1071.
2007-04-13 03:52:25 +00:00
Rodrigo Braz Monteiro f1c9a1695d Fixed loading of unicode paths in win32
Originally committed to SVN as r1070.
2007-04-13 02:28:29 +00:00
Rodrigo Braz Monteiro f8a711a0db Made text file reader use iostream on all platforms... this will probably need some testing, though, so old code is only #ifdefed out.
Originally committed to SVN as r1069.
2007-04-13 02:05:38 +00:00
Niels Martin Hansen d342a55418 Windows debug builds now really shouldn't associate themselves.
Also some (preliminary, untested, possibly bad) file type registration code for Mac.

Originally committed to SVN as r1068.
2007-04-13 01:54:47 +00:00
Rodrigo Braz Monteiro 0ef48599e6 Stopped change of AR from re-displaying audio.
Originally committed to SVN as r1067.
2007-04-13 01:46:50 +00:00
Rodrigo Braz Monteiro c014c93c4c Fixed drawing of inactive lines in audio display to prevent it from being drawn over selection.
Originally committed to SVN as r1066.
2007-04-13 01:29:05 +00:00
Rodrigo Braz Monteiro 58c7a6f4e8 Failed attempt to get threaded video to work.
Originally committed to SVN as r1065.
2007-04-13 00:44:46 +00:00
Niels Martin Hansen 07cc2d8042 Use wxLaunchDefaultBrowser instead of custom-built solution for opening URL's
Originally committed to SVN as r1064.
2007-04-13 00:04:44 +00:00
Rodrigo Braz Monteiro 50c14d9067 More incomplete gl text code
Originally committed to SVN as r1063.
2007-04-12 20:37:56 +00:00
Niels Martin Hansen b91f8f29ae Add some more colour handling code, including interpolation functions
Originally committed to SVN as r1062.
2007-04-12 19:05:45 +00:00
Niels Martin Hansen 16ab6082df Un-broke selected_lines in Automation
Originally committed to SVN as r1061.
2007-04-12 18:27:14 +00:00
Niels Martin Hansen 943c8c2564 Fixed karaoke mode + vector drawings crash
Originally committed to SVN as r1060.
2007-04-12 15:02:05 +00:00
Rodrigo Braz Monteiro f173204498 Very early, incomplete, and so far unused gl text class.
Originally committed to SVN as r1059.
2007-04-12 12:49:41 +00:00
Rodrigo Braz Monteiro a891964bc2 Merged the hotkeys dialog into the options dialog.
Originally committed to SVN as r1058.
2007-04-11 21:24:31 +00:00
David Lamparter 29e529367e get rid of numbers in bitmap names
Originally committed to SVN as r1057.
2007-04-10 20:46:16 +00:00
Rodrigo Braz Monteiro 2e1263055b Moved stdint.h to win32 to avoid issues with Linux, and removed
video_zoom.cpp from Linux makefile.

Originally committed to SVN as r1056.
2007-04-10 16:16:31 +00:00
Rodrigo Braz Monteiro 161f07f6be Made the relevant audio options reload audio.
Originally committed to SVN as r1055.
2007-04-10 02:55:23 +00:00
Niels Martin Hansen 6f6f53f1b2 Karaoke is now more properly autoscrolled into audio display, per bug #334, it still can use some tweaking though
Originally committed to SVN as r1054.
2007-04-10 00:51:03 +00:00
Rodrigo Braz Monteiro c42dff5d65 Added a "Scale Border and Shadow" check box to script properties dialog.
Originally committed to SVN as r1053.
2007-04-09 21:47:59 +00:00
Niels Martin Hansen d4e99d152c Colour picker now remembers its last position within the session
Originally committed to SVN as r1052.
2007-04-09 19:26:32 +00:00
Niels Martin Hansen 425e8748ea Colour picker history now correctly only keeps one copy of each colour used
Originally committed to SVN as r1051.
2007-04-09 19:04:11 +00:00
Rodrigo Braz Monteiro 33b62e2ad5 Added option to disable automatic grabbing of times from selected lines on the audio display. Also, it will never pick the times from 0:00:00.00 -> 0:00:00.00 lines.
Originally committed to SVN as r1050.
2007-04-09 18:25:58 +00:00
Rodrigo Braz Monteiro 7e398170d9 Fixed memory leak on exception throw in csri.
Originally committed to SVN as r1049.
2007-04-09 16:09:45 +00:00
Rodrigo Braz Monteiro 34c9492f97 Made csri/vsfilter_textsub use csri_open_file() instead of csri_open_mem()
Originally committed to SVN as r1048.
2007-04-09 16:08:57 +00:00
Rodrigo Braz Monteiro 1c6bea3220 No longer try to automatically backup binary files (especially nasty when loading subs from mkv).
Originally committed to SVN as r1047.
2007-04-09 05:59:46 +00:00
Rodrigo Braz Monteiro be5c36bcab Modified all projects to output their files to /trunk/lib/
Originally committed to SVN as r1046.
2007-04-09 05:36:05 +00:00
Rodrigo Braz Monteiro 0a225055ba vcproj fixes
Originally committed to SVN as r1045.
2007-04-09 05:25:03 +00:00
Rodrigo Braz Monteiro 0f2c244818 Avisynth PRS interface project added.
Originally committed to SVN as r1044.
2007-04-09 05:22:15 +00:00
Rodrigo Braz Monteiro 24b52ae9bf Added project file for libprs
Originally committed to SVN as r1043.
2007-04-09 05:13:58 +00:00
Rodrigo Braz Monteiro f6dc903891 Added project for universalchardet library.
Originally committed to SVN as r1042.
2007-04-09 05:04:49 +00:00
Rodrigo Braz Monteiro 47e5c5a003 Forgot to remove video_zoom.cpp
Originally committed to SVN as r1041.
2007-04-09 04:39:53 +00:00
Rodrigo Braz Monteiro f841b52d72 Removed more dead code.
Originally committed to SVN as r1040.
2007-04-09 04:28:16 +00:00
Rodrigo Braz Monteiro 7e94e8c7b0 Removed obsolete subtitle providers (pre-csri asa and dtextsub)
Originally committed to SVN as r1039.
2007-04-09 04:16:15 +00:00
Rodrigo Braz Monteiro 62cf73283e Fixed building of libass in msvc (was including the wrong ass.h...)
Originally committed to SVN as r1037.
2007-04-09 04:12:37 +00:00
Rodrigo Braz Monteiro afc5bf9527 libass patched to build on MSVC.
Originally committed to SVN as r1036.
2007-04-09 02:13:03 +00:00
Rodrigo Braz Monteiro 41843bf292 Added libass 0.9.3try2 as is to repository (patched for MSVC on next revision)
Originally committed to SVN as r1035.
2007-04-09 02:02:40 +00:00
Rodrigo Braz Monteiro 1e3694d859 Small tweak to options dialog.
Originally committed to SVN as r1034.
2007-04-08 21:56:52 +00:00
Rodrigo Braz Monteiro d3836e350f Fixed loading of subtitles from Matroska files.
Originally committed to SVN as r1033.
2007-04-08 21:20:32 +00:00
Rodrigo Braz Monteiro 716539b54a Allowed using detached subtitles providers on avisynth video provider, and changed the advanced video options in the options dialog to reload the video (so you can immediately see the changes)
Originally committed to SVN as r1032.
2007-04-08 19:27:46 +00:00
Rodrigo Braz Monteiro 5d3442f567 Moved YV12->RGB32 conversion to video provider, before caching.
Originally committed to SVN as r1031.
2007-04-08 18:12:51 +00:00
Rodrigo Braz Monteiro ebc0e37a2d Added multiple subtype support for provider factories, in particular, csri.
Originally committed to SVN as r1030.
2007-04-08 16:33:53 +00:00
Rodrigo Braz Monteiro cb75613747 Disabled autodetection on non-windows for now.
Originally committed to SVN as r1029.
2007-04-08 06:10:52 +00:00
Rodrigo Braz Monteiro 4dcd02ab0a Instead of falling back to your local charset, Aegisub will now use the "universalchardet" library (the one used by the Mozilla project) to autodetect the character set of non-Unicode files.
Originally committed to SVN as r1028.
2007-04-08 06:01:41 +00:00
Rodrigo Braz Monteiro e0ef2c9f55 Fixed undo & redo items in edit menu.
Originally committed to SVN as r1027.
2007-04-08 02:41:40 +00:00
Rodrigo Braz Monteiro 821399e03c Added "Video Formats" to "Open Audio"'s file selector, so you can open audio directly from video files (regardless of whether they're loaded or not). This has always worked, but it was never explicit.
Originally committed to SVN as r1026.
2007-04-08 02:26:32 +00:00
Rodrigo Braz Monteiro e49058f0cf Major cleanup to dynamic menu code, fixed menu flickering/slowness and replaced old hack to use wxWidgets 2.8.3's fixed handling of bitmaps in menus, which means that all the _disable bitmaps are now obsolete.
Originally committed to SVN as r1025.
2007-04-08 02:19:21 +00:00
Rodrigo Braz Monteiro b1ce35f817 2^10 GET! Style editor will no longer admit creation of styles with equal names. Also, hitting enter it will now "OK" it.
Originally committed to SVN as r1024.
2007-04-08 00:21:56 +00:00
Rodrigo Braz Monteiro 1c027dd44a Two storages with the same name can no longer be created in the styles manager.
Originally committed to SVN as r1023.
2007-04-08 00:10:42 +00:00
Rodrigo Braz Monteiro 9e4701cc61 Changed order of controls in the jump to dialog, so it defaults to frame instead of time.
Originally committed to SVN as r1022.
2007-04-07 23:50:31 +00:00
Rodrigo Braz Monteiro c0b62ff377 Re-coded threaded video mode, but it fails spetacularly. It's currently disabled in source, but there.
Originally committed to SVN as r1021.
2007-04-07 23:45:46 +00:00
Rodrigo Braz Monteiro 7da5406572 Allowed saving of screenshots and copying video frames to clipboard without subtitles. This will not work with the avisynth video provider (options will be greyed out).
Originally committed to SVN as r1020.
2007-04-07 22:03:06 +00:00
David Lamparter cfd9065cb4 add (rather useless) log window
Originally committed to SVN as r1019.
2007-04-07 05:27:32 +00:00
Rodrigo Braz Monteiro 0abb0bd433 Added setting of subtitles provider and toggling of pixel shader use to options/video.
Originally committed to SVN as r1018.
2007-04-07 04:40:44 +00:00
Rodrigo Braz Monteiro 6d988bdf4d Made middle click on audio display jump video to position, fixed a few uninitialized variable warnings and removed the GetString() method from AssFile, since it was only used by the old libass provider.
Originally committed to SVN as r1017.
2007-04-07 03:12:55 +00:00
Rodrigo Braz Monteiro 263df94e69 Some clean up to audio display code, added option to show/hide keyframes on audio display, and individual options to automatically snap to keyframes and adjascent lines (behavior can always be toggled by holding down shift).
Originally committed to SVN as r1016.
2007-04-07 02:39:18 +00:00
Rodrigo Braz Monteiro 7e040f6a66 Changing script resolution when asked to on video loading will now set an undo point.
Originally committed to SVN as r1015.
2007-04-07 01:56:55 +00:00
David Lamparter 89d62b85f5 bitch when no CSRI provider was found
Originally committed to SVN as r1014.
2007-04-06 16:32:46 +00:00
Dan Donovan f59df9233d Fix GetFloat again, I guess.
Originally committed to SVN as r1013.
2007-04-05 22:01:33 +00:00
Dan Donovan ae307d9f74 Why did someone screw up GetFloat in video_frame.cpp?
Originally committed to SVN as r1012.
2007-04-05 21:54:47 +00:00
David Lamparter a274bbc1aa detect PortAudio v19 and use accordingly
Originally committed to SVN as r1011.
2007-04-05 16:39:49 +00:00
Niels Martin Hansen 55db15f9d9 Fixed kara templater so basic syl templating works (same as old multi-template)
Originally committed to SVN as r1010.
2007-04-04 22:13:57 +00:00
David Lamparter 86c84ec3cd uber-evil casts. not really fixes, but let's get rid of the warnings
Originally committed to SVN as r1009.
2007-04-04 21:30:45 +00:00
Rodrigo Braz Monteiro 97d996f995 Fixed all warnings while building on Linux, except for the ones on MatroskaParser.c and the ones about image conversion. Poke equinox for the later.
Originally committed to SVN as r1008.
2007-04-04 20:42:44 +00:00
Niels Martin Hansen 06d5929bea Semi-complete kara-templater implementation, regular syl and line handling should be in place now (untested though)
Originally committed to SVN as r1007.
2007-04-04 20:33:37 +00:00
David Lamparter 5b0255a59d check for libass / add --with[out]-libass parameter to configure
Originally committed to SVN as r1006.
2007-04-04 19:40:06 +00:00
David Lamparter 758cd7e2e7 enable make dist
Originally committed to SVN as r1005.
2007-04-04 18:50:43 +00:00
David Lamparter ef725cc8a2 disable strict aliasing
Originally committed to SVN as r1004.
2007-04-04 17:18:20 +00:00
Niels Martin Hansen e35bb8e745 More useful positioning fields for lines in karaskel
Originally committed to SVN as r1003.
2007-04-04 15:07:07 +00:00
Rodrigo Braz Monteiro 217c617a78 Fixed parsing of [Script Info] for libass, makes resolution work properly, and, apparently, all of libass behave correctly.
Originally committed to SVN as r1002.
2007-04-04 04:22:05 +00:00
Rodrigo Braz Monteiro f15c03b1cc Removed the old libass cpp to avoid confusion.
Originally committed to SVN as r1001.
2007-04-04 04:14:14 +00:00
Rodrigo Braz Monteiro 29072f75af 1000 GET. Actually added the libass .cpp (oops), and optimizations to its blender.
Originally committed to SVN as r1000.
2007-04-04 04:12:38 +00:00
Rodrigo Braz Monteiro 2b680c3e5b libass reimplemented on subtitles_provider_libass.cpp, although still slightly buggy. It will be built on Linux by default (it has been added to aegisub/Makefile.am)
Originally committed to SVN as r999.
2007-04-04 03:57:12 +00:00
Niels Martin Hansen a1cdffdb85 704x396 is not 640x396
Originally committed to SVN as r998.
2007-04-04 02:55:22 +00:00
Niels Martin Hansen a524881505 Misc. sizer tweaks
Originally committed to SVN as r997.
2007-04-04 02:54:03 +00:00
Niels Martin Hansen 5457b64925 Changes to sizer setup in dummy video options
Originally committed to SVN as r996.
2007-04-04 02:24:46 +00:00
Niels Martin Hansen e74727f634 Option for checkerboard pattern in dummy video
Originally committed to SVN as r995.
2007-04-04 01:54:37 +00:00
Niels Martin Hansen f292339808 Dummy video provider was always creating 640x480 frames, now creates in the right resolution
Originally committed to SVN as r994.
2007-04-04 01:21:23 +00:00
Rodrigo Braz Monteiro 28504a5c9b very minor changes to utils.h
Originally committed to SVN as r993.
2007-04-04 01:14:02 +00:00
Rodrigo Braz Monteiro e72b0ae8c0 Fixed audio display on Linux, and had to change
__attribute__((always_inline)) to just inline, since my g++ was bitching
about that.

Originally committed to SVN as r992.
2007-04-04 00:52:50 +00:00
Niels Martin Hansen 9c85a4795c Load/store Auto4 export filter settings to original subs file
Originally committed to SVN as r991.
2007-04-04 00:01:17 +00:00
Rodrigo Braz Monteiro a0f3e58894 Blind attempt to get audio box to work on Linux.
Originally committed to SVN as r990.
2007-04-03 23:29:51 +00:00
David Lamparter 9339f1c45b properly make inlines static
Originally committed to SVN as r989.
2007-04-03 21:24:29 +00:00
Rodrigo Braz Monteiro 0568af7ce0 added ClampSignedInteger32() to utils and used that to remove branching from YV12->RGB32 conversion, hopefully making it faster. Also, fixed a warning in lavc audio provider.
Originally committed to SVN as r988.
2007-04-03 21:05:33 +00:00
Rodrigo Braz Monteiro 29923cb8e1 Optimized the YV12->RGB32 conversion in AegiVideoFrame
Originally committed to SVN as r987.
2007-04-03 20:41:33 +00:00
Niels Martin Hansen 16ac9e6e21 More bugfix to future windy blur
Originally committed to SVN as r986.
2007-04-03 18:28:28 +00:00
Niels Martin Hansen 807ba68ef0 Bugfix to future windy blur.
Added note/license to raytracer.

Originally committed to SVN as r985.
2007-04-03 18:19:43 +00:00
Niels Martin Hansen a2f6d60655 Useful auto4/lua karaoke sample
Originally committed to SVN as r984.
2007-04-03 17:55:23 +00:00
David Lamparter 91c11fbf09 get locale stuff more correct
Originally committed to SVN as r983.
2007-04-03 04:34:56 +00:00
Rodrigo Braz Monteiro 246be56350 Made YV12->RGB32 conversion happen before subtitling, so asa works without glitching.
Originally committed to SVN as r982.
2007-04-03 02:55:43 +00:00
Rodrigo Braz Monteiro 4e2af4cd57 Added a method to AegiVideoFrame to allow conversion from YV12->RGB32, which is used by screenshot taking and video context, if the video provider can only provide YV12 (ffmpeg).
Originally committed to SVN as r981.
2007-04-03 02:31:51 +00:00
Niels Martin Hansen 325b88df19 Merged in changes from Lua 5.1.2 (hopefully didn't miss anything)
Originally committed to SVN as r980.
2007-04-03 00:37:09 +00:00
Rodrigo Braz Monteiro 292ad1af33 Added dummy provider to changelog:
- Added a dummy video provider to create a blank video with customizeable options. (jfs & AMZ)

Originally committed to SVN as r979.
2007-04-03 00:22:19 +00:00
Rodrigo Braz Monteiro 0acbf6eb61 Small fix to make dummy video's dialog build on some machines.
Originally committed to SVN as r978.
2007-04-03 00:14:05 +00:00
Niels Martin Hansen c9ce15bb01 GUI for dummy video provider
Originally committed to SVN as r977.
2007-04-02 18:28:09 +00:00
Rodrigo Braz Monteiro 77e21c985d Better dealing of shaders.
Originally committed to SVN as r976.
2007-04-02 00:44:47 +00:00
Rodrigo Braz Monteiro 6b26ebd99b Made video context respect the setting of "video use pixel shaders", which was being ignored by ffmpeg, since it can only output yv12.
Originally committed to SVN as r975.
2007-04-01 23:27:22 +00:00
Rodrigo Braz Monteiro bef344645b Fixed memory handling in dummy provider.
Originally committed to SVN as r974.
2007-04-01 23:13:29 +00:00
Rodrigo Braz Monteiro 1d03da6844 Added a hack to video loading to allow the creation of a context in some platforms, and changed the colour of dummy video provider to sky-blue.
Originally committed to SVN as r973.
2007-04-01 23:07:29 +00:00
Rodrigo Braz Monteiro 14edd1fe3b Added dummy video provider.
Originally committed to SVN as r972.
2007-04-01 22:06:00 +00:00
Niels Martin Hansen 0fa69e80e0 Mostly working raytracer, still missing a few details to be fully usable though
Originally committed to SVN as r971.
2007-04-01 16:42:08 +00:00
Niels Martin Hansen fbe1aa65d2 More work on kara templater, misc. additions to Lua includes
Originally committed to SVN as r970.
2007-04-01 12:22:30 +00:00
Niels Martin Hansen 88639cf70c Update both top and bottom margins when vertical margin is changed
Originally committed to SVN as r969.
2007-04-01 12:21:16 +00:00
David Lamparter ae37b2481f CSRI helper library; fixup build system while at it
Originally committed to SVN as r968.
2007-03-31 22:04:57 +00:00
David Lamparter 7c38076d4f fix INT64_C breakage with ffmpeg
Originally committed to SVN as r967.
2007-03-31 21:28:43 +00:00
Rodrigo Braz Monteiro af7bfcc858 Applied demi's patch to fix the view menu and committed some unfinished (commented out) rgb lavc code
Originally committed to SVN as r966.
2007-03-31 03:23:46 +00:00
Rodrigo Braz Monteiro 867218fd0b Removed a seemingly useless call to glFinish(), which could also be causing issues, maybe.
line 2 test.

Originally committed to SVN as r965.
2007-03-29 23:09:40 +00:00
Rodrigo Braz Monteiro cc99e37e2c Added several asserts to Video Display and stopped it from running Reset() when hidden, which could be leading to odd results.
Originally committed to SVN as r964.
2007-03-29 23:04:26 +00:00
Rodrigo Braz Monteiro 0dd4f96757 Fix for lavc audio provider to prevent it from crashing if it cannot load the file (was causing video playback to crash if no audio was loaded)
Originally committed to SVN as r963.
2007-03-29 21:05:22 +00:00
Rodrigo Braz Monteiro bc1897049b Complement to jfs's fix.
Originally committed to SVN as r962.
2007-03-28 15:24:06 +00:00
Niels Martin Hansen 4e7ddbbe85 Fix for non-pixelshader video rendering
Originally committed to SVN as r961.
2007-03-28 15:17:47 +00:00
Rodrigo Braz Monteiro b44540e63f Added video_provider_lavc.cpp to the unix makefile.
Originally committed to SVN as r960.
2007-03-28 01:59:14 +00:00
Rodrigo Braz Monteiro af757cf6fe Fixed paste over.
Originally committed to SVN as r959.
2007-03-28 01:37:13 +00:00
Rodrigo Braz Monteiro 58f4dae158 Fixed display of overridden key frames on audio display (#349).
Originally committed to SVN as r958.
2007-03-28 01:17:56 +00:00
Rodrigo Braz Monteiro ee3178a8e1 Fixed replace bug (#338) and cleaned search and replace code up a bit.
Originally committed to SVN as r957.
2007-03-28 01:11:52 +00:00
Rodrigo Braz Monteiro 27b08cc8aa Fixed ffmpeg memory leak.
Originally committed to SVN as r956.
2007-03-27 22:56:08 +00:00
Rodrigo Braz Monteiro 493bc75ed1 Slight Linux cosmic fix.
Originally committed to SVN as r955.
2007-03-27 22:41:33 +00:00
Rodrigo Braz Monteiro c722ce9741 ffmpeg video provider now works as expected, except that it leaks memory. This fix should also help with certain videos being loaded with other providers. Also added some asserts and clean up to video frame class.
Originally committed to SVN as r954.
2007-03-27 22:29:35 +00:00
Rodrigo Braz Monteiro d7a6ca1d76 ffmpeg provider almost works now
Originally committed to SVN as r953.
2007-03-24 02:07:06 +00:00
Rodrigo Braz Monteiro 4f1f9ccdf0 Made ffmpeg video provider compile again, conforming to the new video provider interface, but it still won't work.
Originally committed to SVN as r952.
2007-03-24 00:11:49 +00:00
Dan Donovan aba48b68e3 Can save an audio clip of multiple lines (just goes earliest start to latest end for now), and a little more error checking
Originally committed to SVN as r951.
2007-03-19 20:01:09 +00:00
Dan Donovan 4eb824ea16 Make the escape key work for more stuff in Style Manager
Originally committed to SVN as r950.
2007-03-18 02:18:25 +00:00
Dan Donovan 26cba4b46f Styles can be renamed when copied
Always call Stop in AudioDisplay on Play

Originally committed to SVN as r949.
2007-03-18 01:20:25 +00:00
Rodrigo Braz Monteiro d566e629f9 Marked readme.txt as outdated
Originally committed to SVN as r948.
2007-03-14 22:28:43 +00:00
Rodrigo Braz Monteiro 55f7f0ea15 Small fixes to paste over.
Originally committed to SVN as r947.
2007-03-14 16:39:45 +00:00
pomyk fab3dd81a1 updated ruby scripts
Originally committed to SVN as r946.
2007-03-10 20:33:49 +00:00
Niels Martin Hansen ef403060f8 Template parsing seems to be done
Originally committed to SVN as r945.
2007-03-09 01:58:39 +00:00
Niels Martin Hansen 6055eea81f Minor fixes for Auto3 support, still breaks badly though. Beginnings of auto4/lua karaoke template.
Originally committed to SVN as r944.
2007-03-08 23:37:41 +00:00
Dan Donovan cd4332ac04 Kanji timer: don't FlagAsModified if no changes are made
Originally committed to SVN as r943.
2007-03-08 18:57:55 +00:00
pomyk 4dd9a52482 Ruby: fixed some compiler warnings
Originally committed to SVN as r942.
2007-02-25 18:31:09 +00:00
pomyk 12c1e6f498 fixed a crash when no subs selected
Originally committed to SVN as r941.
2007-02-25 18:08:19 +00:00
Niels Martin Hansen 3a1d4ee18e Lua export filters didn't work when there was no configuration dialog function. Really stupid fix. Also, Lua include files are now more usable and karaskel pre-calculation actually works.
Originally committed to SVN as r940.
2007-02-20 02:50:40 +00:00
pomyk 9dcae98180 Separate thread for Ruby
Originally committed to SVN as r939.
2007-02-15 18:54:46 +00:00
Niels Martin Hansen bfa2edbe04 Oops, forgot to include vfr.h, previous rev doesn't compile
Originally committed to SVN as r938.
2007-02-15 13:02:36 +00:00
Niels Martin Hansen ffe5558ba1 Added VFR handling functions to Auto4/Lua.
Originally committed to SVN as r937.
2007-02-15 12:56:36 +00:00
Niels Martin Hansen 30792ec961 Multiple export filters with same name are now allowed, name clashes are resolved by adding (1), (2) etc. to the names.
Fixes to error reporting from Lua, now the error messages are more concise, and instead of exploding with an error message box, the script is just marked as "not loaded" and the actual error as its description.

Originally committed to SVN as r936.
2007-02-14 00:43:01 +00:00
Rodrigo Braz Monteiro ccdd960982 Fixed writing of styles
Originally committed to SVN as r935.
2007-02-10 23:56:10 +00:00
pomyk 8d837d6a90 Ruby: key_frames function, improvements in scripts
Originally committed to SVN as r934.
2007-02-08 18:29:50 +00:00
pomyk 99cc856076 Ruby: better error reporting (full backtrace)
Originally committed to SVN as r933.
2007-02-08 13:17:29 +00:00
pomyk 538a825eff some useless Ruby scripts
Originally committed to SVN as r932.
2007-02-07 21:07:03 +00:00
pomyk f3535cdf41 Ruby: using symbols for hash keys
Originally committed to SVN as r931.
2007-02-07 18:52:23 +00:00
Rodrigo Braz Monteiro 63ad2baf5d Fixed event handling in styles manager.
Originally committed to SVN as r930.
2007-02-07 16:39:05 +00:00
Rodrigo Braz Monteiro dc803725bf Made Ruby automatically include the libraries it needs, and stdwx.h declare WIN32_LEAN_AND_MEAN (which also required a new header inclusion on audio_player_dsoun.h)
Originally committed to SVN as r929.
2007-02-07 00:12:15 +00:00
pomyk 507de4c4cd Ruby: some fixes, optimizations, support for selecting lines on grid...
Originally committed to SVN as r928.
2007-02-06 22:58:05 +00:00
Dan Donovan 317fba2e1e Trim raw data from left before parsing a style, else the mid(6) to get rid of "style:" can fail, usually leaving the :
Originally committed to SVN as r927.
2007-02-06 22:35:15 +00:00
Niels Martin Hansen 6dcb5ff4a8 Runtime errors in auto3 scripts no longer kill the program but are reported properly instead.
Apparently Lua 5.1 has changed the semantics of table.insert so it's incompatible with the way used in all Auto3 demo scripts etc. Now it's overridden in utils.auto3 and all instances of it in sample scripts etc. replaced with code having the expected behaviour.

Originally committed to SVN as r926.
2007-02-06 12:30:17 +00:00
Dan Donovan caea5872b4 Added copy+paste to style manager, ctrl+c/v only (so far, anyway)
Originally committed to SVN as r925.
2007-02-06 03:25:14 +00:00
Dan Donovan 56c7891baf Added keyboard shortcuts escape and delete to style manager
Originally committed to SVN as r924.
2007-02-05 19:09:45 +00:00
pomyk 008d60ba65 bug in line reading
Originally committed to SVN as r923.
2007-02-04 23:46:10 +00:00
pomyk 505e09257e Ruby: configuration dialogs
Originally committed to SVN as r922.
2007-02-03 20:31:20 +00:00
pomyk 2f52b36910 Ruby: scripts run in a separate thread
Originally committed to SVN as r921.
2007-02-02 19:40:50 +00:00
Niels Martin Hansen 6da6f1bc57 Fix stupid syntax errors
Originally committed to SVN as r920.
2007-02-02 01:01:12 +00:00
pomyk b5ac82d5b2 Ruby: move to 1.9 version
Originally committed to SVN as r919.
2007-02-01 18:20:55 +00:00
Rodrigo Braz Monteiro 5aaf235655 Traditional chinese translation by Karasu
Originally committed to SVN as r918.
2007-02-01 17:02:16 +00:00
pomyk 17088eb723 Ruby: fixes in debug output & file including
Originally committed to SVN as r917.
2007-01-31 17:52:12 +00:00
David Lamparter 66b91c41c3 enable FexTracker on unix, and fix a bulkload of warnings in it
Originally committed to SVN as r916.
2007-01-30 23:09:33 +00:00
David Lamparter 9434459821 fix _script_factory name clash, how the heck is this supposed to work at all?
Originally committed to SVN as r915.
2007-01-30 22:16:50 +00:00
David Lamparter 0e39514e14 add new files
Originally committed to SVN as r914.
2007-01-30 22:13:26 +00:00
David Lamparter dd77b5970d convert kana table to ASCII + escapes
Originally committed to SVN as r913.
2007-01-30 22:13:02 +00:00
David Lamparter 920d4d06ad autoconf: check for OpenGL & wxWidgets support for it; add libs while at it
Originally committed to SVN as r912.
2007-01-30 21:33:52 +00:00
Rodrigo Braz Monteiro 5d2f7bbe2c Hopefully fixed building when fextracker is disabled.
Originally committed to SVN as r911.
2007-01-30 20:49:22 +00:00
pomyk 5ef911d93c empty string fixes and working ruby support
Originally committed to SVN as r910.
2007-01-30 14:53:42 +00:00
Rodrigo Braz Monteiro 44712f0d7b GL fix, now with 100% more unicode cast for unix
Originally committed to SVN as r909.
2007-01-30 00:45:42 +00:00
Rodrigo Braz Monteiro 67f4beabb2 Hopefully fixed gl_wrap on non-win32
Originally committed to SVN as r908.
2007-01-30 00:44:17 +00:00
pomyk dee1c6760e some fixes (less crashing)
Originally committed to SVN as r907.
2007-01-29 21:25:13 +00:00
pomyk 614758ac6c Auto4 Ruby - not working yet
Originally committed to SVN as r906.
2007-01-29 17:52:46 +00:00
Rodrigo Braz Monteiro 370512917c Applied Pomyk's patch and fixed YV12 DirectShow
Originally committed to SVN as r905.
2007-01-29 05:47:29 +00:00
Rodrigo Braz Monteiro 420ac447ee video frame improvement
Originally committed to SVN as r904.
2007-01-28 03:26:03 +00:00
Rodrigo Braz Monteiro e07a71368b possible fix to dshow with shaders off.
Originally committed to SVN as r903.
2007-01-27 15:25:53 +00:00
Niels Martin Hansen d92222294e Undo descriptions for auto4-lua scripts
Originally committed to SVN as r902.
2007-01-27 15:11:10 +00:00
Rodrigo Braz Monteiro d5c7749138 Originally committed to SVN as r901. 2007-01-27 07:14:22 +00:00
Rodrigo Braz Monteiro 5d6282aee5 Shaders no longer need glew
Originally committed to SVN as r900.
2007-01-27 07:13:29 +00:00
Rodrigo Braz Monteiro 3b9afa126e Mostly operational pixel shaded YV12->RGB32 conversion. (needs glew for now)
Originally committed to SVN as r899.
2007-01-27 06:15:25 +00:00
Rodrigo Braz Monteiro 9a292d6091 Fixed styling manager, editor, and kanji timer.
Originally committed to SVN as r898.
2007-01-26 23:42:19 +00:00
Rodrigo Braz Monteiro 7a209feb22 Implemented direct saving to memory for asa
Originally committed to SVN as r897.
2007-01-26 22:55:42 +00:00
Rodrigo Braz Monteiro f711887167 Made recombine lines deal with two new cases.
Originally committed to SVN as r896.
2007-01-26 04:11:32 +00:00
Rodrigo Braz Monteiro 21e8d0ce2c (Probably) fixed some issue with audio clip saving.
Originally committed to SVN as r895.
2007-01-26 01:24:38 +00:00
Dan Donovan bd84faa650 Added descriptions for undo/redo
Originally committed to SVN as r894.
2007-01-26 00:48:42 +00:00
Dan Donovan 4565a18369 Originally committed to SVN as r893. 2007-01-26 00:47:42 +00:00
Dan Donovan a29fcb2d47 Kanji timer now changes all lines at once on dialogue close (for easier undo)
Originally committed to SVN as r892.
2007-01-25 22:47:29 +00:00
Rodrigo Braz Monteiro 297dbd74b8 Fixed almost a hundred warning messages issued with /W4 in VC++ (with warning 4100 disabled)
Originally committed to SVN as r891.
2007-01-24 03:54:32 +00:00
David Lamparter 3ab9822ed3 bring Makefile.am up to date; fix win32 CSRIAPI spec
Originally committed to SVN as r890.
2007-01-24 03:03:16 +00:00
David Lamparter 4247fa0ceb fix linux extent getting screwups
Originally committed to SVN as r889.
2007-01-24 02:35:09 +00:00
Rodrigo Braz Monteiro 3c46ab72ac More Linux fixes.
Originally committed to SVN as r888.
2007-01-24 02:25:45 +00:00
Rodrigo Braz Monteiro 6d84bde8da Several fixes to build on Linux
Originally committed to SVN as r887.
2007-01-24 02:11:26 +00:00
Rodrigo Braz Monteiro f058f5779f Fixes to detached video window.
Originally committed to SVN as r886.
2007-01-23 21:38:20 +00:00
Rodrigo Braz Monteiro 19ea57a544 Fix to video loading, but probably only for me...
Originally committed to SVN as r885.
2007-01-23 20:50:41 +00:00
Rodrigo Braz Monteiro 83cdb12457 Fixed several bugs related to detached video display.
Originally committed to SVN as r884.
2007-01-23 06:44:08 +00:00
Rodrigo Braz Monteiro 8231034cb1 Detached Video display mostly works.
Originally committed to SVN as r883.
2007-01-23 06:32:16 +00:00
Rodrigo Braz Monteiro c232b625ff Forgot to remove a file.
Originally committed to SVN as r882.
2007-01-23 04:42:52 +00:00
Rodrigo Braz Monteiro 02bf068052 Basic (and somewhat broken) detached video dialog implemented.
Originally committed to SVN as r881.
2007-01-23 04:42:08 +00:00
Rodrigo Braz Monteiro 52060ceb03 Video will now load without an available subtitles provider.
Originally committed to SVN as r880.
2007-01-23 00:38:59 +00:00
Rodrigo Braz Monteiro 99e9dce99f Made a million changes to GL mode, and one of them seems to have fixed video display on ATI cards.
Originally committed to SVN as r879.
2007-01-22 22:57:45 +00:00
Rodrigo Braz Monteiro 563ba5ae76 Yet another random OpenGL change.
Originally committed to SVN as r878.
2007-01-22 20:48:45 +00:00
Rodrigo Braz Monteiro 304b10b6d5 Added error checking routines to GL texture uploading
Originally committed to SVN as r877.
2007-01-22 20:01:07 +00:00
Niels Martin Hansen 2d1fdcdfb9 Fixes for building with wx 2.8 without 2.6-compat mode. (Hopefully) more workyness for config dialogs in auto3.
Originally committed to SVN as r876.
2007-01-22 19:31:49 +00:00
Rodrigo Braz Monteiro 914671d0a4 Yay for more random bughunting.
Originally committed to SVN as r875.
2007-01-22 19:20:46 +00:00
Rodrigo Braz Monteiro 3034d9f828 Possible fix to more GL oddity
Originally committed to SVN as r874.
2007-01-22 18:57:34 +00:00
Rodrigo Braz Monteiro bef789fb57 Fixes to DirectShow provider
Originally committed to SVN as r872.
2007-01-22 03:39:36 +00:00
Niels Martin Hansen b043898c6c Fixed error message
Originally committed to SVN as r871.
2007-01-22 00:05:49 +00:00
Rodrigo Braz Monteiro 7b6af3ac8a Another fix.
Originally committed to SVN as r870.
2007-01-22 00:03:30 +00:00
Rodrigo Braz Monteiro 8aee6bd50b Fix to factory template.
Originally committed to SVN as r869.
2007-01-21 23:45:06 +00:00
Rodrigo Braz Monteiro 62bdfae3bf bork bork fix fix?
Originally committed to SVN as r868.
2007-01-21 23:26:49 +00:00
Rodrigo Braz Monteiro 729349b314 Possible fixes.
Originally committed to SVN as r867.
2007-01-21 23:16:03 +00:00
Rodrigo Braz Monteiro e7e1469af7 Updated changelog
Originally committed to SVN as r866.
2007-01-21 18:52:19 +00:00
Rodrigo Braz Monteiro afc19b74e1 Removed all stray references to VideoDisplay throughout the code.
Originally committed to SVN as r865.
2007-01-21 17:01:22 +00:00
Rodrigo Braz Monteiro 893361cca7 Updated CSRI subtitles provider to conform to new csri.h
Originally committed to SVN as r864.
2007-01-21 07:16:55 +00:00
Rodrigo Braz Monteiro b206573965 Clean up to factory classes.
Originally committed to SVN as r863.
2007-01-21 07:12:47 +00:00
David Lamparter 287167788f repo maintenance #1 (kill opengl branch, remove csri headers)
Originally committed to SVN as r861.
2007-01-21 06:58:55 +00:00
Rodrigo Braz Monteiro 98ce168b31 Merged opengl branch from 806 to 859
Originally committed to SVN as r860.
2007-01-21 06:30:19 +00:00
Niels Martin Hansen 3c7d5fe033 Further patches to Lua to have it use Unicide/UTF-8 on Win32 (still needs more work)
Originally committed to SVN as r857.
2007-01-20 23:25:22 +00:00
Niels Martin Hansen 99e47ae943 Select Language dialog no longer complains if locale dir is missing.
Originally committed to SVN as r856.
2007-01-20 19:55:20 +00:00
Niels Martin Hansen ee8bf9274c Fixed #307 with an ugly hack
Originally committed to SVN as r855.
2007-01-20 18:26:04 +00:00
Niels Martin Hansen 23ee01ff8f File-types are now registered in HKCU instead of HKLM, making Vista UAC shut up and associations be user-specific.
Originally committed to SVN as r844.
2007-01-19 12:52:02 +00:00
Niels Martin Hansen 65b110ab98 Don't auto-mark all export filters if subs were never exported before, or no filters were used on last export
Originally committed to SVN as r843.
2007-01-19 11:50:07 +00:00
Niels Martin Hansen 91f0533a67 Auto4: Autoreload scripts on export, correctly save loaded scripts to subs file, make io and os libs available to scripts
Originally committed to SVN as r842.
2007-01-19 11:47:37 +00:00
Niels Martin Hansen 329821ed7c All further Auto4 status/todo stuff should be managed on the bug tracker.
Originally committed to SVN as r841.
2007-01-19 09:15:46 +00:00
Niels Martin Hansen 1dff6b2139 Auto4: Added aegisub.log as synonym for aegisub.debug.out
Originally committed to SVN as r836.
2007-01-18 20:55:40 +00:00
Niels Martin Hansen bbfb0e94d0 Auto4: Added trace level and format string support to aegisub.debug.out function
Originally committed to SVN as r835.
2007-01-18 20:47:56 +00:00
Niels Martin Hansen b355cf0f3d Some details for auto3 engine...
Originally committed to SVN as r834.
2007-01-18 18:49:36 +00:00
Niels Martin Hansen a2c8d7922e Auto3 engine for auto4 seems to work now
Originally committed to SVN as r833.
2007-01-18 08:15:02 +00:00
Dan Donovan 518c50d07d Don't set alpha in SetWXColor (for now?)
Originally committed to SVN as r831.
2007-01-18 08:01:16 +00:00
Dan Donovan 7b78f6e37c ass_style improvements - ParseASS and ParseSSA are now just Parse in AssColor
Originally committed to SVN as r829.
2007-01-18 06:45:55 +00:00
Niels Martin Hansen 27a9927cf2 Testcase for text_extents function
Originally committed to SVN as r824.
2007-01-17 09:20:17 +00:00
Dan Donovan a2fae2b31e Changelog and very minor commenting in subs_grid.cpp
Originally committed to SVN as r822.
2007-01-17 06:38:26 +00:00
Dan Donovan 12e558bcfc Add clear button to shifting history
Originally committed to SVN as r820.
2007-01-17 06:18:12 +00:00
Dan Donovan 2b27078cf4 Fix potential crash clicking AudioKaraoke
Originally committed to SVN as r818.
2007-01-17 05:22:21 +00:00
Dan Donovan ee3238a657 Fixing a file not meant to be changed last revision
Originally committed to SVN as r817.
2007-01-17 05:13:02 +00:00
Dan Donovan 37865943da Save PCM .wav clips of lines (right click on line -> Create audio clip)
Originally committed to SVN as r816.
2007-01-17 05:06:17 +00:00
Dan Donovan 92e6d4cb8f Testing bot... And Kanji Timer slightly updated. But mostly testing the bot.
Originally committed to SVN as r811.
2007-01-17 00:06:42 +00:00
Dan Donovan aa553263d2 More Kanji Timer improvements...
Originally committed to SVN as r809.
2007-01-16 22:32:05 +00:00
Dan Donovan 09412e6be8 Some Kanji Timer improvements
Originally committed to SVN as r808.
2007-01-16 20:55:27 +00:00
Niels Martin Hansen 4fae59c826 Started implementation of Auto3 compatibility engine
Originally committed to SVN as r803.
2007-01-15 22:19:50 +00:00
Rodrigo Braz Monteiro df4a8a3e27 Fixed the loading of SRT files without a line break at the end.
Originally committed to SVN as r802.
2007-01-15 21:35:34 +00:00
Rodrigo Braz Monteiro 21c8587d1c Fixed loading with mpeg2dec3 on avs 2.5.7+ (Myrsloik)
Originally committed to SVN as r801.
2007-01-15 20:48:58 +00:00
Rodrigo Braz Monteiro 6b9dc5e401 800 GET
Originally committed to SVN as r800.
2007-01-15 19:59:43 +00:00
Rodrigo Braz Monteiro ddcc52b0fd Fixed visual typesetting overwriting wrong tags.
Originally committed to SVN as r799.
2007-01-15 19:44:48 +00:00
Niels Martin Hansen c3995de991 Possible fix for Automation text_extents function being inaccurate, yet untested
Originally committed to SVN as r798.
2007-01-15 17:02:39 +00:00
Niels Martin Hansen 818b31edc3 Fixes for misc. compiler warnings.
Originally committed to SVN as r797.
2007-01-15 15:27:13 +00:00
Rodrigo Braz Monteiro a8abb99e6b Fixed some minor memory leaks, and failed to fix another.
Originally committed to SVN as r796.
2007-01-15 06:56:35 +00:00
Rodrigo Braz Monteiro e5ad6e4b60 Originally committed to SVN as r795. 2007-01-15 05:38:32 +00:00
Rodrigo Braz Monteiro b4d1384c6d Fixes to bugs #275 and #276, related to audio display.
Originally committed to SVN as r794.
2007-01-15 03:50:49 +00:00
Rodrigo Braz Monteiro 4cc3db5426 Originally committed to SVN as r793. 2007-01-15 03:02:59 +00:00
Rodrigo Braz Monteiro b1fb222591 Aegisub now supports asa instead of vsfilter under avisynth
Originally committed to SVN as r792.
2007-01-15 01:46:59 +00:00
Rodrigo Braz Monteiro 0901d0157e Originally committed to SVN as r791. 2007-01-14 23:34:27 +00:00
Karl Blomster 0adbb2a443 cosmetics in dialog_options.cpp
Originally committed to SVN as r790.
2007-01-14 22:57:25 +00:00
Fredrik Mellbin e638c96e32 load the last line in srt files not ending with a blank line
Originally committed to SVN as r789.
2007-01-14 22:55:09 +00:00
Rodrigo Braz Monteiro a33692c852 Made call tips vanish when the text edit loses focus.
Originally committed to SVN as r788.
2007-01-13 23:34:04 +00:00
Rodrigo Braz Monteiro 40e113d368 Visual typesetting new strips relevant tags before applying changes.
Originally committed to SVN as r787.
2007-01-13 22:33:02 +00:00
David Lamparter 956d1d0842 fix missing 'throw' found by gcc
Originally committed to SVN as r786.
2007-01-13 08:35:04 +00:00
David Lamparter 8bae6a855a incoming patches from Dansolo; fix aspect ratio bug & minor kanjitimer issue
Originally committed to SVN as r785.
2007-01-13 08:34:42 +00:00
Rodrigo Braz Monteiro f470100ccd Dansolo's general tweaks and fixes to kanji timer and styling assistant
Originally committed to SVN as r784.
2007-01-13 07:04:12 +00:00
Rodrigo Braz Monteiro c4233199c5 Fixes to audio and typesetting
Originally committed to SVN as r783.
2007-01-13 06:17:14 +00:00
Rodrigo Braz Monteiro 73ae14e548 Tweaks to layout of kanji timer dialog
Originally committed to SVN as r782.
2007-01-13 02:42:19 +00:00
Rodrigo Braz Monteiro 0492fae298 Added Dansolo's Kanji Timer code
Originally committed to SVN as r781.
2007-01-13 02:22:28 +00:00
Rodrigo Braz Monteiro 9d8ed0fd1d Originally committed to SVN as r780. 2007-01-12 05:57:45 +00:00
Rodrigo Braz Monteiro cd0fd49916 Originally committed to SVN as r779. 2007-01-11 22:02:51 +00:00
Rodrigo Braz Monteiro e9e21eba7d Updated Hungarian translation and added Catalan translation.
Originally committed to SVN as r778.
2007-01-11 21:56:17 +00:00
Rodrigo Braz Monteiro ab4a62d545 Replaced the UGLY LIEK XBOX buttons in Visual Typesetting with bitmap buttons.
Originally committed to SVN as r777.
2007-01-11 21:03:12 +00:00
Rodrigo Braz Monteiro 2da6766cc7 Originally committed to SVN as r776. 2007-01-11 20:12:21 +00:00
Fredrik Mellbin f21437d33f use SetLegacyPlanarAlignment() when old mpeg2decs are used with avisynth 2.5.7+
Originally committed to SVN as r775.
2007-01-11 19:49:37 +00:00
Rodrigo Braz Monteiro 31663420f4 Originally committed to SVN as r774. 2007-01-11 18:54:48 +00:00
Rodrigo Braz Monteiro a310231d83 Tweaks and fixes to visual typesetting and fixed keyframe unloading.
Originally committed to SVN as r773.
2007-01-11 17:14:25 +00:00
Rodrigo Braz Monteiro 907a4a0045 ops, forgot changelog.
Originally committed to SVN as r772.
2007-01-11 06:20:11 +00:00
Rodrigo Braz Monteiro 31c2cd5455 Added an early GUI for visual typesetting.
Originally committed to SVN as r771.
2007-01-11 06:15:56 +00:00
Rodrigo Braz Monteiro 71b8e4b81f Finished isolating videobox
Originally committed to SVN as r770.
2007-01-11 05:33:36 +00:00
David Lamparter 3784a131dd proper casting
Originally committed to SVN as r769.
2007-01-11 04:06:55 +00:00
Rodrigo Braz Monteiro 1e4a5b8050 Changes to how video controls are related.
Originally committed to SVN as r768.
2007-01-11 03:53:20 +00:00
David Lamparter 88a00fbdb0 make it build on Linux
Originally committed to SVN as r767.
2007-01-11 03:52:17 +00:00
Rodrigo Braz Monteiro 20f7e80ec2 Small fixes around that were causing warnings to be issued on gcc
Originally committed to SVN as r766.
2007-01-11 03:18:14 +00:00
David Lamparter 6636b56a52 fix non-POD varargs
Originally committed to SVN as r765.
2007-01-11 01:29:01 +00:00
Rodrigo Braz Monteiro 5108f81cc1 Visual typesetting for \clip implemented.
Originally committed to SVN as r764.
2007-01-10 21:53:00 +00:00
Rodrigo Braz Monteiro 849067ecc9 Added scaling to visual typesetting.
Originally committed to SVN as r763.
2007-01-10 21:01:47 +00:00
Rodrigo Braz Monteiro 9cf9d0dc60 Added missing library to setup.cpp
Originally committed to SVN as r762.
2007-01-10 05:50:55 +00:00
Niels Martin Hansen da5e1260a5 One field had wrong colour
Originally committed to SVN as r761.
2007-01-10 05:43:56 +00:00
Niels Martin Hansen faa91242ee Forgot some colours... now all green should be fixed
Originally committed to SVN as r760.
2007-01-10 05:42:48 +00:00
Niels Martin Hansen 077034a4e2 Fixed ugly colours
Originally committed to SVN as r759.
2007-01-10 05:42:00 +00:00
Niels Martin Hansen 57c177f298 Updated comparison and added ugly colour coding to chart.
Originally committed to SVN as r758.
2007-01-10 05:27:52 +00:00
Rodrigo Braz Monteiro bb3ec99843 Small wx <2.7 fix
Originally committed to SVN as r757.
2007-01-10 04:53:39 +00:00
Rodrigo Braz Monteiro 5b93f561db Committed early working \frz visual typesetting
Originally committed to SVN as r756.
2007-01-10 04:33:03 +00:00
Niels Martin Hansen 283bb7f48d #155
Originally committed to SVN as r755.
2007-01-10 03:59:57 +00:00
Niels Martin Hansen 34e0ef4145 Selectable thread priority for Auto4/Lua
Originally committed to SVN as r754.
2007-01-10 02:51:11 +00:00
Niels Martin Hansen c0b3721a7f Fixed karaoke mode committing
Other minor fixes/cleanup

Originally committed to SVN as r753.
2007-01-10 01:36:05 +00:00
Rodrigo Braz Monteiro 08ff09ee59 Fixed crash in translation assistant
Originally committed to SVN as r752.
2007-01-09 22:46:22 +00:00
Rodrigo Braz Monteiro bae00f3734 A little more visual typesetting coded
Originally committed to SVN as r751.
2007-01-09 06:25:25 +00:00
Rodrigo Braz Monteiro 6812f203e2 ops. :D
Originally committed to SVN as r750.
2007-01-09 02:42:45 +00:00
Fredrik Mellbin 7652879aad fix stupidity in previous commit
Originally committed to SVN as r749.
2007-01-09 02:15:08 +00:00
Rodrigo Braz Monteiro 241a837e44 Fixed visual typesetting
Originally committed to SVN as r748.
2007-01-09 02:13:23 +00:00
Fredrik Mellbin 9c803be482 fix inno installer bugs
Originally committed to SVN as r747.
2007-01-09 02:12:12 +00:00
Rodrigo Braz Monteiro d0c0e2a318 Early operation visual typesetting.
Originally committed to SVN as r746.
2007-01-09 01:52:30 +00:00
Rodrigo Braz Monteiro 6ea8475941 New class to isolate visual typesetting
Originally committed to SVN as r745.
2007-01-08 21:11:06 +00:00
Rodrigo Braz Monteiro 739806ea4e Small tests to prepare for real-time subtitle visual manipulation
Originally committed to SVN as r744.
2007-01-08 05:32:29 +00:00
Rodrigo Braz Monteiro 1e1d88b613 Timing Post-Processor can now be restricted to selection.
Originally committed to SVN as r743.
2007-01-08 03:27:47 +00:00
Rodrigo Braz Monteiro 0ad1815eed Changes to text will no longer be discarded when you commit timing in the audio display and vice-versa, fixed glitches related to the Duration time edit box, and fixed snapping.
Originally committed to SVN as r742.
2007-01-08 03:05:26 +00:00
Rodrigo Braz Monteiro 0fbfd67864 Added support for reading v4.00++ (ASS2) files.
Originally committed to SVN as r741.
2007-01-08 01:54:02 +00:00
Rodrigo Braz Monteiro a477f58582 More preparations for ASS2
Originally committed to SVN as r740.
2007-01-08 01:08:50 +00:00
Rodrigo Braz Monteiro b96c7932b9 Changes to prepare support for ASS2
Originally committed to SVN as r739.
2007-01-08 01:00:44 +00:00
Rodrigo Braz Monteiro 91ac4bef10 Swapped "automation" and "view" menus, and added option to settings to auto-check for update on program start.
Originally committed to SVN as r738.
2007-01-07 23:14:21 +00:00
Rodrigo Braz Monteiro 85ca326bc9 Ops, forgot to commit the new files.
Originally committed to SVN as r737.
2007-01-07 23:03:05 +00:00
Rodrigo Braz Monteiro 43841c24b8 Implemented a version checker that can automatically or manually check if there are any updates to Aegisub, and a few other tweaks.
Originally committed to SVN as r736.
2007-01-07 22:54:04 +00:00
Niels Martin Hansen a6773bf842 Additional sanity check in spectrum code
Changed default settings for spectrum (no reason to throw away 32 perfectly good bands!)

Originally committed to SVN as r735.
2007-01-07 07:28:39 +00:00
Niels Martin Hansen 4e463a098a Added timer to progress dialog so it updates even when no idle events would normally be fired. Also (unsuccessfully) attempted to reduce the flicker.
Originally committed to SVN as r734.
2007-01-07 07:10:01 +00:00
Niels Martin Hansen b3ac7e40cb Removed now unused Spectrum Invert Selection option (it should possibly be replaced with something else)
Fixed scaling of spectrum to also take FFT size into account
Fixed selection drawing in karaoke mode for spectrum
Moved syllable texts to top of audio display in karaoke mode

Originally committed to SVN as r733.
2007-01-07 06:36:10 +00:00
Niels Martin Hansen a88feab986 More fixes for dsound playing code and a bit for spectrum rendering
Originally committed to SVN as r732.
2007-01-07 04:52:33 +00:00
Niels Martin Hansen 9babda0720 New spectrum rendering code, scrapped threading and now caches FFT results instead. Also the visual appearance of the selection in spectrum was improved.
Originally committed to SVN as r731.
2007-01-07 04:44:11 +00:00
Niels Martin Hansen d0a7745d41 Fixed uninited variable causing exception
Originally committed to SVN as r730.
2007-01-07 03:19:48 +00:00
Rodrigo Braz Monteiro 064db890eb REALLY fixed snapping.
Originally committed to SVN as r729.
2007-01-06 22:13:56 +00:00
Rodrigo Braz Monteiro 71828a2df5 Fixed (I hope?) boundary snapping.
Originally committed to SVN as r728.
2007-01-06 22:07:48 +00:00
Niels Martin Hansen 2d7af197ee Seems to fix audio spectrum crash.
Originally committed to SVN as r727.
2007-01-06 21:56:25 +00:00
Rodrigo Braz Monteiro 8ec4322174 Destination of screenshots can now be set in the options dialog, and some tweaks to options dialog.
Originally committed to SVN as r726.
2007-01-06 21:07:51 +00:00
Rodrigo Braz Monteiro cd4b6c0f93 Holding down ctrl lets you retime the original line while in Karaoke mode.
Originally committed to SVN as r725.
2007-01-06 20:11:38 +00:00
Rodrigo Braz Monteiro 7843e2e89c Added options to toggle the display of the audio timeline and of the time over the mouse cursor.
Originally committed to SVN as r724.
2007-01-06 06:14:35 +00:00
Rodrigo Braz Monteiro d58fba3839 Fixed loading of SRT and TXT files, which were causing an empty line to appear at the start of the file. Also changed default WarpStyle to 0, instead of 1.
Originally committed to SVN as r723.
2007-01-06 05:04:57 +00:00
Rodrigo Braz Monteiro 1d647a9b09 Implemented new hotkeys for audio mode
Originally committed to SVN as r722.
2007-01-06 04:27:09 +00:00
Rodrigo Braz Monteiro 1a948d3bb9 All audio changes proposed in http://www.malakith.net/aegisub/viewtopic.php?t=632 done.
Originally committed to SVN as r721.
2007-01-06 04:19:00 +00:00
Rodrigo Braz Monteiro 7bdcb03fba Finished merging of SSA mode with standard mode and fixed auto-commit to work with it.
Originally committed to SVN as r720.
2007-01-06 03:40:58 +00:00
Rodrigo Braz Monteiro b3ddefa5ee Merged SSA mode & normal mode
Originally committed to SVN as r719.
2007-01-05 23:43:24 +00:00
Niels Martin Hansen 1d87fd3934 Show ghosted notice if no Automation macros are loaded.
Better checking for whether Automation autoload dir is present.

Originally committed to SVN as r718.
2007-01-05 19:52:39 +00:00
Rodrigo Braz Monteiro cc81523bbe Fix to loading of margins
Originally committed to SVN as r717.
2007-01-05 18:33:48 +00:00
Rodrigo Braz Monteiro b3f2f069d3 Fixed and completed the implementation of DirectSound audio player, and made some changes for future ASS2 support.
Originally committed to SVN as r716.
2007-01-05 18:27:15 +00:00
Niels Martin Hansen 4384dbe2c4 Beginnings of auto4-lua karaskel - untested!
Originally committed to SVN as r715.
2007-01-05 14:53:21 +00:00
Rodrigo Braz Monteiro fce56dcfe1 Added a Normal/Reverse dropdown to collisions on Script Properties.
Originally committed to SVN as r714.
2007-01-04 22:16:39 +00:00
Rodrigo Braz Monteiro 4552e87ec7 Originally committed to SVN as r713. 2007-01-04 17:34:00 +00:00
Rodrigo Braz Monteiro d63848b36e Updated about dialog.
Originally committed to SVN as r712.
2007-01-04 17:24:16 +00:00
Rodrigo Braz Monteiro 0187620642 About screen updated
Originally committed to SVN as r711.
2007-01-04 05:04:31 +00:00
Niels Martin Hansen d93ccab44d Some basic UTF-8 support functions for Lua
Originally committed to SVN as r710.
2007-01-04 05:04:29 +00:00
Rodrigo Braz Monteiro 552af58826 Fixed fonts collector.
Originally committed to SVN as r709.
2007-01-04 03:53:56 +00:00
Rodrigo Braz Monteiro 6eac993949 Finished all of the options dialog :D \o\ \o/ /o/
Originally committed to SVN as r708.
2007-01-04 03:12:41 +00:00
Rodrigo Braz Monteiro 7aafca1477 Audio options page implemented
Originally committed to SVN as r707.
2007-01-04 02:45:30 +00:00
Rodrigo Braz Monteiro 78f4b98b8b Automation options page done
Originally committed to SVN as r706.
2007-01-04 01:46:00 +00:00
Rodrigo Braz Monteiro 193cb72e99 Options' video page done.
Originally committed to SVN as r705.
2007-01-04 01:13:46 +00:00
Rodrigo Braz Monteiro a632611cad Fourth page of options, grid settings, is complete.
Originally committed to SVN as r704.
2007-01-03 23:29:03 +00:00
Rodrigo Braz Monteiro 0fec62dfd6 Made wx fall back to wxChoicebook if wxTreebook is unavailable.
Originally committed to SVN as r703.
2007-01-03 22:43:05 +00:00
Rodrigo Braz Monteiro 8d4cdcbd7d Small fix regarding Unicode characters.
Originally committed to SVN as r702.
2007-01-03 22:22:51 +00:00
Niels Martin Hansen 38241d0eb5 More fix for building on wx pre-2.8
Originally committed to SVN as r701.
2007-01-03 22:05:43 +00:00
Niels Martin Hansen 8b014f41ca Fix for building on wx 2.6
Originally committed to SVN as r700.
2007-01-03 21:51:09 +00:00
Rodrigo Braz Monteiro f221bc1a1f "Apply" button to options dialog, and made subs edit box refresh when its options are changed in the dialog.
Originally committed to SVN as r699.
2007-01-03 21:49:13 +00:00
Rodrigo Braz Monteiro 637dfda62c A lot more work done to the options dialog.Finished the "edit box" options page.
Originally committed to SVN as r698.
2007-01-03 21:22:06 +00:00
Niels Martin Hansen 326fbe8961 Misc fixes for building on GCC
Originally committed to SVN as r697.
2007-01-03 21:18:19 +00:00
Niels Martin Hansen 8d069ffad5 Further fixing of lua include paths
Originally committed to SVN as r696.
2007-01-03 19:23:18 +00:00
Niels Martin Hansen 9499b17d18 More fixes for non-win32 building
Originally committed to SVN as r695.
2007-01-03 19:16:29 +00:00
Niels Martin Hansen f75ad038bd Fix for auto4 compilation on non-win32
Originally committed to SVN as r694.
2007-01-03 18:51:25 +00:00
Niels Martin Hansen 65b28d2737 Missing () broke compilation
Originally committed to SVN as r693.
2007-01-03 05:38:26 +00:00
Rodrigo Braz Monteiro 9054a696ac A lot more work done to the options dialog.
Originally committed to SVN as r692.
2007-01-03 05:33:17 +00:00
Niels Martin Hansen 576f43249a CHANGED AUTO4 API: Removed the option for selecting which menu to put a macro in, since it wasn't used.
Originally committed to SVN as r691.
2007-01-03 04:31:17 +00:00
Niels Martin Hansen ab9e184009 Removed some more superfluous Begin/EndDrawing
Originally committed to SVN as r690.
2007-01-03 03:56:40 +00:00
Rodrigo Braz Monteiro 74d54d3272 Early options dialog
Originally committed to SVN as r689.
2007-01-03 03:47:08 +00:00
Niels Martin Hansen cb08347bdc Fixed loading utf8-bom Lua scripts
Originally committed to SVN as r688.
2007-01-03 03:39:15 +00:00
Karl Blomster 679367af9d working on getting the config.dat docs up-to-date again
Originally committed to SVN as r687.
2007-01-02 23:24:38 +00:00
Rodrigo Braz Monteiro d554953a72 ops, forgot to actually commit the new class
Originally committed to SVN as r686.
2007-01-02 22:18:10 +00:00
Rodrigo Braz Monteiro 48321dc868 Implemented ColourButton class
Originally committed to SVN as r685.
2007-01-02 22:10:45 +00:00
Rodrigo Braz Monteiro cf94a0e77f VFR fix, maybe?
Originally committed to SVN as r684.
2007-01-02 20:07:52 +00:00
Rodrigo Braz Monteiro cec25b0678 Originally committed to SVN as r683. 2007-01-02 18:28:09 +00:00
Rodrigo Braz Monteiro 3ec34573a8 Call tips implemented
Originally committed to SVN as r682.
2007-01-02 18:15:17 +00:00
Rodrigo Braz Monteiro 893955d773 Mostly working call tip code
Originally committed to SVN as r681.
2007-01-02 18:09:56 +00:00
Rodrigo Braz Monteiro 6b702b0666 Early call tip code
Originally committed to SVN as r680.
2007-01-02 05:00:55 +00:00
Rodrigo Braz Monteiro 8b58b368d5 Implemented syntax highlight for drawing codes
Originally committed to SVN as r679.
2007-01-02 02:33:42 +00:00
Rodrigo Braz Monteiro aafeba93f3 Fixes and improvements to syntax highlighter
Originally committed to SVN as r678.
2007-01-02 02:24:23 +00:00
Rodrigo Braz Monteiro 4c792dc6ba Fixed splash and added a "add to dictionary" option
Originally committed to SVN as r677.
2007-01-02 00:47:47 +00:00
Rodrigo Braz Monteiro 9d1a3466dd Added option to let user disable spellchecker and thesaurus from right click menu, and a possible fix to splash screen.
Originally committed to SVN as r676.
2007-01-01 23:47:09 +00:00
Rodrigo Braz Monteiro af78223810 Hopeful fix for splash screen
Originally committed to SVN as r675.
2007-01-01 23:08:26 +00:00
Rodrigo Braz Monteiro 17d2ba4f1d Fixed the colour box on the colour pick dialogue.
Originally committed to SVN as r674.
2007-01-01 22:56:16 +00:00
Niels Martin Hansen 57451272ff Changes to fix building on non-Win32 systems (hopefully)
Originally committed to SVN as r673.
2007-01-01 19:45:32 +00:00
Rodrigo Braz Monteiro e30e65674d New pre-release splash
Originally committed to SVN as r672.
2007-01-01 05:27:51 +00:00
Rodrigo Braz Monteiro bac9e14fc4 Implemented setting of language for Thesaurus
Originally committed to SVN as r671.
2007-01-01 05:15:05 +00:00
Rodrigo Braz Monteiro 166e7cba7c Language picker for dictionary fully implemented.
Originally committed to SVN as r670.
2007-01-01 04:53:55 +00:00
Rodrigo Braz Monteiro 62c1f80eea Improvements to spell checker file handling
Originally committed to SVN as r669.
2007-01-01 04:15:54 +00:00
Rodrigo Braz Monteiro e79ef00863 Originally committed to SVN as r668. 2007-01-01 03:34:08 +00:00
Rodrigo Braz Monteiro 5813033fa8 Improved handling of VFR files with DirectShow and Avisynth providers.
Originally committed to SVN as r667.
2007-01-01 03:29:20 +00:00
Rodrigo Braz Monteiro 1ea3e085d9 DirectShow Video Provider now supports zoom and aspect ratio, but it's ugly and slow... still no subs.
Originally committed to SVN as r666.
2006-12-31 22:38:54 +00:00
Rodrigo Braz Monteiro 79ec29c204 Originally committed to SVN as r665. 2006-12-31 05:36:20 +00:00
Rodrigo Braz Monteiro 0fc5a75ac8 Mostly working DirectShow Video Provider
Originally committed to SVN as r664.
2006-12-31 05:01:01 +00:00
Rodrigo Braz Monteiro f0938ca9f9 Merged the three "Recombine" functions into a single one that autodetects the correct type.
Originally committed to SVN as r663.
2006-12-30 22:38:05 +00:00
Rodrigo Braz Monteiro 280b9acf61 Added Medusa-style (numpad) global timing shortcuts, that can be enabled with the button under the audio display. This is disabled by default.
Originally committed to SVN as r662.
2006-12-30 22:08:23 +00:00
Rodrigo Braz Monteiro 23e73cb505 Fixed a few dialogs and added the early medusa shortcuts stuff
Originally committed to SVN as r661.
2006-12-30 20:58:24 +00:00
Rodrigo Braz Monteiro 9037e186f9 Added a "Selection Onward" option to the Shift Times dialogue.
Originally committed to SVN as r660.
2006-12-30 18:53:19 +00:00
Rodrigo Braz Monteiro 5d242641d8 Minor fix to the calculation of the grid's "Style" column width and style editor.
Originally committed to SVN as r659.
2006-12-30 18:19:54 +00:00
Rodrigo Braz Monteiro 6ee06d8478 Tweaked the behavior of the margin boxes, now they no longer show padding zeros.
Originally committed to SVN as r658.
2006-12-30 14:31:41 +00:00
Rodrigo Braz Monteiro fcdf986f81 Tweaks to the find dialogue
Originally committed to SVN as r657.
2006-12-29 22:58:09 +00:00
Rodrigo Braz Monteiro 8f50ee08a7 Fixed weird bug related to committing on various text controls.
Originally committed to SVN as r656.
2006-12-29 21:45:22 +00:00
Rodrigo Braz Monteiro ce71322af8 Actor and Effect fields now show a "ghosted" caption saying their name when they are not focused on and blank.
Originally committed to SVN as r655.
2006-12-29 03:02:17 +00:00
Rodrigo Braz Monteiro c0000fd434 Updated version number to 2.00
Originally committed to SVN as r654.
2006-12-29 00:17:03 +00:00
Rodrigo Braz Monteiro 5366521a33 Made some blind changes to unix/mac projects, so they hopefully build after the directory name changes
Originally committed to SVN as r653.
2006-12-28 23:49:16 +00:00
Rodrigo Braz Monteiro 06cff2e2f2 Renamed /core/ to /aegisub/ to avoid issues with unix systems being unable to delete core dumps.
Originally committed to SVN as r652.
2006-12-28 23:43:23 +00:00
Niels Martin Hansen 5799e791af Forgot an include file...
Originally committed to SVN as r651.
2006-12-28 23:25:15 +00:00
Niels Martin Hansen a6bebb3da7 Fixed auto4 script engine manager (hopefully)
Originally committed to SVN as r650.
2006-12-28 23:03:26 +00:00
Niels Martin Hansen e39bc37271 Warn if Auto3 scripts are loaded into Auto4-lua
Originally committed to SVN as r649.
2006-12-28 22:55:41 +00:00
Rodrigo Braz Monteiro 9ae7d72d44 Fixed warnings and Lua's vc8 project file
Originally committed to SVN as r648.
2006-12-28 22:41:20 +00:00
Niels Martin Hansen 5f1d8c414d And Automation 4 is now in the trunk!
Originally committed to SVN as r647.
2006-12-28 22:31:33 +00:00
Rodrigo Braz Monteiro 8617602bb1 VC8 Project for Lua 5.1 added
Originally committed to SVN as r646.
2006-12-28 22:25:45 +00:00
Niels Martin Hansen ef6ef4c603 More auto4 files...
Originally committed to SVN as r645.
2006-12-28 21:19:59 +00:00
Niels Martin Hansen b39451823e Continuing auto3 removal/auto4 merge
Originally committed to SVN as r644.
2006-12-28 21:18:35 +00:00
Rodrigo Braz Monteiro fbb881f823 More tweaks to menu
Originally committed to SVN as r643.
2006-12-28 20:59:39 +00:00
Niels Martin Hansen 064f6b7b9b Removed Automation 3 support (will be replaced with Automation 4 soon)
Removed stale p-designer project
Updated FexTracker to work with pre-compiled headers
Removed deprecated dc.BeginPaint()/EndPaint() calls causing warnings

Originally committed to SVN as r642.
2006-12-28 20:56:28 +00:00
Rodrigo Braz Monteiro 36ea067861 More menu work... yay~ <3
Originally committed to SVN as r641.
2006-12-28 20:20:55 +00:00
Rodrigo Braz Monteiro 3cd356bedf Originally committed to SVN as r640. 2006-12-28 20:11:34 +00:00
Rodrigo Braz Monteiro d29f71de58 Originally committed to SVN as r639. 2006-12-27 20:55:04 +00:00
Rodrigo Braz Monteiro 7c9f51491f More menu work
Originally committed to SVN as r638.
2006-12-27 20:35:50 +00:00
Rodrigo Braz Monteiro 3a24974e0b More menu work, and removed ancient aspell code
Originally committed to SVN as r637.
2006-12-27 20:16:47 +00:00
Rodrigo Braz Monteiro 2302713ec1 A few more menu tweaks
Originally committed to SVN as r635.
2006-12-27 03:16:07 +00:00
Rodrigo Braz Monteiro cb38df86a8 Menu changes and new icons
Originally committed to SVN as r634.
2006-12-27 03:03:18 +00:00
Rodrigo Braz Monteiro 0dd1b49e05 Early menu rebuilding
Originally committed to SVN as r633.
2006-12-27 01:56:34 +00:00
Rodrigo Braz Monteiro 15e70fa194 Tweaked the layout of Subtitles Edit area.
Originally committed to SVN as r632.
2006-12-27 00:00:41 +00:00
Rodrigo Braz Monteiro ccabf8ec15 Added sorting functionality to Styles Manager, for both storage and current script.
Originally committed to SVN as r631.
2006-12-26 22:28:44 +00:00
Rodrigo Braz Monteiro 3a14ec38dc Forced move buttons to only work on continuous selection
Originally committed to SVN as r630.
2006-12-26 22:02:17 +00:00
Rodrigo Braz Monteiro cf6414d200 Added buttons to Styles Manager to move styles up, down, to top or to bottom, on both storage and current script.
Originally committed to SVN as r629.
2006-12-26 21:45:23 +00:00
Rodrigo Braz Monteiro 8e112341de Added "All Supported Formats" to last commit
Originally committed to SVN as r627.
2006-12-26 18:32:25 +00:00
Rodrigo Braz Monteiro a14ab15c94 Wildcards in file open dialogs are now generated from the subtitle formats themselves.
Originally committed to SVN as r626.
2006-12-26 18:26:13 +00:00
Rodrigo Braz Monteiro 95059b79bf Added an "Import from script..." button to Styles Manager, to import styles directly from other subtitle files.
Originally committed to SVN as r625.
2006-12-26 04:48:53 +00:00
Rodrigo Braz Monteiro be8ebd8faa Updated splash screen
Originally committed to SVN as r624.
2006-12-26 03:57:24 +00:00
Rodrigo Braz Monteiro e4825d4067 Improved Splash Screen behavior to show up even if the program is frozen loading subtitles, and to center on the current display.
Originally committed to SVN as r623.
2006-12-26 03:32:48 +00:00
Rodrigo Braz Monteiro b54198b721 Audio HD cache improvements
Originally committed to SVN as r621.
2006-12-26 03:00:15 +00:00
Rodrigo Braz Monteiro 4a1c778595 Implemented option to set audio HD cache location
Originally committed to SVN as r620.
2006-12-26 02:05:35 +00:00
Rodrigo Braz Monteiro 3b4ea46cca Fixes, fixes, fixes...
Originally committed to SVN as r619.
2006-12-26 01:30:30 +00:00
Rodrigo Braz Monteiro ac36d6f0cd More fixes related to scintilla & Unicode...
Originally committed to SVN as r618.
2006-12-26 01:20:58 +00:00
Rodrigo Braz Monteiro 8b055489eb Several unicode fixes related to wxScintilla, spellcheck and thesaurus
Originally committed to SVN as r617.
2006-12-26 01:08:46 +00:00
Rodrigo Braz Monteiro 518c4d3766 Fixed thesaurus/spellchecker character set reading
Originally committed to SVN as r616.
2006-12-26 00:12:18 +00:00
Rodrigo Braz Monteiro 3e021fad29 Originally committed to SVN as r615. 2006-12-25 23:24:29 +00:00
Rodrigo Braz Monteiro 39a690247a Improved thesaurus/spellcheck menus
Originally committed to SVN as r614.
2006-12-25 23:10:23 +00:00
Rodrigo Braz Monteiro 929a914024 Originally committed to SVN as r613. 2006-12-25 22:52:21 +00:00
Rodrigo Braz Monteiro ab98702591 Small fix to thesaurus
Originally committed to SVN as r612.
2006-12-25 22:30:11 +00:00
Rodrigo Braz Monteiro 6b8fc30463 Originally committed to SVN as r611. 2006-12-25 22:25:12 +00:00
Rodrigo Braz Monteiro 17f5c8e6d9 Thesaurus implemented
Originally committed to SVN as r610.
2006-12-25 22:21:44 +00:00
Rodrigo Braz Monteiro 081c24efc7 Early thesaurus support.
Originally committed to SVN as r609.
2006-12-25 21:56:56 +00:00
Rodrigo Braz Monteiro dc9b16b747 Changed suggestions menu to reflect Firefox's
Originally committed to SVN as r608.
2006-12-25 05:52:29 +00:00
Rodrigo Braz Monteiro 523b79ad20 Add word and accept suggestion are now working
Originally committed to SVN as r607.
2006-12-25 05:43:00 +00:00
Rodrigo Braz Monteiro 4122fa1198 Originally committed to SVN as r606. 2006-12-25 03:44:07 +00:00
Rodrigo Braz Monteiro 204b0332d6 Several fixes to scintilla, regarding weird styling and spellchecker
Originally committed to SVN as r605.
2006-12-25 03:42:44 +00:00
Rodrigo Braz Monteiro 1e1841fc86 Early spellchecker implemented
Originally committed to SVN as r604.
2006-12-24 22:46:20 +00:00
Rodrigo Braz Monteiro c80133f2bd Renamed several source files to have "dialog_" appended before them, fixed some stuff, and created early hunspell code.
Originally committed to SVN as r603.
2006-12-24 21:52:54 +00:00
Rodrigo Braz Monteiro ccb085660f Originally committed to SVN as r602. 2006-12-24 18:45:11 +00:00
Rodrigo Braz Monteiro 21dbd0633f Somewhat fixed the wxScintilla crap, but not entirely
Originally committed to SVN as r601.
2006-12-24 17:42:09 +00:00
Rodrigo Braz Monteiro 9023e039ff 600 GET
Originally committed to SVN as r600.
2006-12-24 16:18:29 +00:00
Rodrigo Braz Monteiro 0eb1afc5c7 wxScintilla almost entirelly fixed... ctrl+enter still b0rks, though
Originally committed to SVN as r599.
2006-12-24 16:17:40 +00:00
Rodrigo Braz Monteiro 8e357ab4c4 Replaced SubsEditBox with a wxScintilla control
Originally committed to SVN as r598.
2006-12-24 04:54:35 +00:00
Rodrigo Braz Monteiro 99f2323799 Originally committed to SVN as r597. 2006-12-23 19:31:48 +00:00
Rodrigo Braz Monteiro 5c1d9b28c4 Added stdwx.cpp/.h, for use with Precompiled Headers. See comments on files on how to use them. Also fixed setup.h support for many files.
Originally committed to SVN as r595.
2006-12-23 15:37:33 +00:00
Rodrigo Braz Monteiro 0accf7431d Added setup.cpp, which automatically links to everything that Aegisub needs, on MSVC++, and made USE_PORTAUDIO be respected
Originally committed to SVN as r594.
2006-12-23 14:15:04 +00:00
Rodrigo Braz Monteiro 75837c2df5 Originally committed to SVN as r593. 2006-12-23 13:22:26 +00:00
Rodrigo Braz Monteiro 97346bbc58 Commited setup0.h. To build aegisub, copy it as setup.h and edit whatever options you want. DON'T COMMIT SETUP.H TO REPOSITORY.
Originally committed to SVN as r592.
2006-12-23 03:55:00 +00:00
Rodrigo Braz Monteiro b935075945 Fixed directsound player
Originally committed to SVN as r591.
2006-12-23 03:07:21 +00:00
Rodrigo Braz Monteiro 3ac1000cfa ops... really fixed, now
Originally committed to SVN as r590.
2006-12-23 02:44:02 +00:00
Rodrigo Braz Monteiro 7cbab8cdfe Fixed crash related to the new keyframe system
Originally committed to SVN as r589.
2006-12-23 02:42:34 +00:00
Rodrigo Braz Monteiro d89e522fd4 Added DirectSound audio output
Originally committed to SVN as r588.
2006-12-23 02:31:34 +00:00
Niels Martin Hansen 4573ec72fa More commenting work on FexTracker.
Originally committed to SVN as r587.
2006-12-21 23:20:04 +00:00
Niels Martin Hansen d972e6e69c Fix for font collector to build on wx 2.6.3.
Started to document FexTracker source. (Also see wiki.)

Originally committed to SVN as r586.
2006-12-21 08:43:27 +00:00
Rodrigo Braz Monteiro 4a79a056a2 Originally committed to SVN as r585. 2006-12-20 00:45:02 +00:00
Rodrigo Braz Monteiro 9ea6989ff0 Very early DirectShow Video Provider commited, mostly based on Haali's DSS2 code
Originally committed to SVN as r584.
2006-12-20 00:31:52 +00:00
Rodrigo Braz Monteiro 16e34c32c2 Added support for DirectShowSource2 if avss.dll is on Aegisub's folder.
Originally committed to SVN as r583.
2006-12-19 17:30:25 +00:00
Rodrigo Braz Monteiro 091226bb4b Disabled DSS error message, which was causing Aegisub to crash when a DSS video file was dropped on it
Originally committed to SVN as r581.
2006-12-19 02:59:03 +00:00
Rodrigo Braz Monteiro d4e2b2ce4f Fonts collector can now collect fonts directly to a zip archive.
Originally committed to SVN as r580.
2006-12-18 22:24:25 +00:00
Rodrigo Braz Monteiro 76dbc901f9 - Switching to a new line in audio mode now centers the line on the grid. (AMZ)
- Commiting changes in audio to the last line will insert a new line after it. (AMZ)

Originally committed to SVN as r579.
2006-12-18 20:13:23 +00:00
Rodrigo Braz Monteiro 2f9a086a22 Finished keyframe support, although not tested too much
Originally committed to SVN as r578.
2006-12-18 18:47:45 +00:00
Rodrigo Braz Monteiro 90d7d02926 Added a new py script for SVN 1.3+
Originally committed to SVN as r577.
2006-12-18 17:25:01 +00:00
Rodrigo Braz Monteiro 3d5be2bc55 Fixed warning messages while compiling dialog_export.cpp and added a recent list for keyframe read/write.
Originally committed to SVN as r576.
2006-12-18 17:18:14 +00:00
Rodrigo Braz Monteiro b739497bdf Some more tweaks to keyframes
Originally committed to SVN as r575.
2006-12-18 16:20:45 +00:00
Rodrigo Braz Monteiro c55af72ed3 Some more work on keyframe override support
Originally committed to SVN as r574.
2006-12-18 16:08:58 +00:00
Rodrigo Braz Monteiro dd1ed05e21 Changes to VideoDisplay class to allow the new keyframe functionality to work
Originally committed to SVN as r573.
2006-12-18 04:53:40 +00:00
Rodrigo Braz Monteiro caba16ae8b Originally committed to SVN as r572. 2006-12-18 04:07:10 +00:00
Rodrigo Braz Monteiro 7573a814ad Early work on options dialog (won't really work without wxWidgets 2.8.0) and save/load keyframes.
Originally committed to SVN as r571.
2006-12-18 02:44:38 +00:00
Rodrigo Braz Monteiro 0bccc65219 Added global hotkey for Video Play (default Ctrl+P).
Originally committed to SVN as r569.
2006-12-17 20:46:01 +00:00
Rodrigo Braz Monteiro 25120f8461 Style name collisions (when moving from storage, creating or renaming) will now prompt the user before performing the action.
Originally committed to SVN as r568.
2006-12-17 20:30:59 +00:00
Rodrigo Braz Monteiro 73fdf2a9d3 Renaming a style will now ask you if you want to rename all instances of it on the script.
Originally committed to SVN as r567.
2006-12-17 20:16:22 +00:00
Rodrigo Braz Monteiro a5105d2552 Added Paste Over function, which allows you to paste subtitle lines over others, overwriting the fields of your choice.
Originally committed to SVN as r566.
2006-12-17 19:41:52 +00:00
Rodrigo Braz Monteiro c5e479875f Early "Paste Over" functionality (basically it all works, but it needs a popup dialog asking which fields to paste over)
Originally committed to SVN as r565.
2006-12-17 18:30:19 +00:00
Rodrigo Braz Monteiro 8b95b2a3f7 Another changelog update
Originally committed to SVN as r564.
2006-12-17 17:36:12 +00:00
Rodrigo Braz Monteiro 68d741bed6 Changelog for last commit
Originally committed to SVN as r563.
2006-12-17 17:20:31 +00:00
Rodrigo Braz Monteiro 1fe045ba92 Times can now be copy and pasted with ctrl+c and ctrl+v, as well as from context menu, in the time edit boxes.
Originally committed to SVN as r562.
2006-12-17 17:19:45 +00:00
Rodrigo Braz Monteiro ae26a23d96 Added mkv, mka and mks to open subtitles dialog
Originally committed to SVN as r561.
2006-12-17 06:46:13 +00:00
Rodrigo Braz Monteiro a87f8ee283 Added support for reading ASS, SSA and SRT softsubs directly from Matroska files.
Originally committed to SVN as r560.
2006-12-17 05:32:18 +00:00
Niels Martin Hansen db1e70157c Added Avisynth call tracing code (disabled by default, define DEBUG_AVISYNTH_CODE to use)
Minor change in implementation of audio spectrum power scaling

Originally committed to SVN as r559.
2006-12-17 04:58:10 +00:00
Rodrigo Braz Monteiro 7bcfae18b7 Merged Azzy's libass patch
Originally committed to SVN as r558.
2006-12-03 00:33:20 +00:00
Rodrigo Braz Monteiro 30544bcfd9 New splash screen
Originally committed to SVN as r557.
2006-12-01 21:30:28 +00:00
Rodrigo Braz Monteiro 60c2df968f Fixed style manager assertion error
Originally committed to SVN as r556.
2006-11-30 23:37:34 +00:00
Rodrigo Braz Monteiro 72071301e4 Added a "Auto Save on Every Change" option to config.dat (default false), that automatically saves the files whenever you change anything.
Originally committed to SVN as r555.
2006-11-30 23:27:59 +00:00
Niels Martin Hansen c69f347035 Work on #209, tweak audio spectrum scaling
Originally committed to SVN as r554.
2006-11-23 21:43:45 +00:00
Niels Martin Hansen 5c80e6fad2 Fixed #162, subsgrid scrollbar didn't update to to reflect changed line counts in the grid after various operations.
Fixed #171, style storages can no longer be created with illegal filename characters, they are replaced with underscores.

Originally committed to SVN as r553.
2006-11-23 19:08:46 +00:00
Niels Martin Hansen 7b68c13318 Implemented #202 (frame-number in framegrab filenames)
Originally committed to SVN as r552.
2006-11-23 17:26:53 +00:00
Niels Martin Hansen b9a61aaa4f Fixed textbox alignment in fextracker dialog.
Originally committed to SVN as r551.
2006-11-11 01:57:46 +00:00
Niels Martin Hansen 075caa6f33 Fix for Linux not detecting right CPU count didn't compile, fixed.
Started re-layouting the FexTracker config dialog.

Originally committed to SVN as r550.
2006-11-11 01:47:35 +00:00
Niels Martin Hansen 2251867890 Minor fixes for building on Linux.
(Why does wxThread::GetCPUCount like failing?)

Originally committed to SVN as r549.
2006-11-08 23:40:40 +00:00
Fredrik Mellbin b5aa079df8 Inno setup installer script
Originally committed to SVN as r547.
2006-10-28 17:39:50 +00:00
Rodrigo Braz Monteiro 3642fc578e Committed installer bitmaps
Originally committed to SVN as r546.
2006-10-28 15:08:38 +00:00
Rodrigo Braz Monteiro 8746849a98 Commited the license to installer folder.
Originally committed to SVN as r545.
2006-10-28 14:35:21 +00:00
Niels Martin Hansen e75de69783 Patches by Azzy:
- Search for both lua and lua50 libraries (fixes building on Debian/Ubuntu)
- Fix GCC preprocessor failing on version.cpp
Also forgot changelog for last commit

Originally committed to SVN as r541.
2006-10-25 10:33:02 +00:00
Karl Blomster e728c02f30 minor manual fixes.
\fade uses decimal, not hex.
save charset in config.dat is case sensitive.

Originally committed to SVN as r540.
2006-10-24 01:56:46 +00:00
Niels Martin Hansen 407cd603b2 Minor Linux fixes (thanks Azzy)
Originally committed to SVN as r539.
2006-10-23 22:17:27 +00:00
Niels Martin Hansen fc531f7e7f Forgot the changelog
Originally committed to SVN as r538.
2006-10-19 23:23:21 +00:00
Niels Martin Hansen e5ef7b4be2 Various Unicode-related fixes.
Changed some types to lower the amount of int/size_t inconsistencies. This might have introduced some stupid bugs... beware!
Removed old, unused "project file" code. (cleanup)

Fixed bug #195: "Join (as karaoke)" is broken when 2 lines don't follow immediately after another

Implemented feature req #184: Text Only Export

Fixed bug #180: conversion from srt to ass doesn't specify WrapStyle

Implemented feature req #188: highlighting of currently selected style in the styles manager

Originally committed to SVN as r537.
2006-10-19 22:53:06 +00:00
Niels Martin Hansen e3d0a51c81 Removed unused auto4 files.
Originally committed to SVN as r536.
2006-09-20 22:16:53 +00:00
Niels Martin Hansen f7abf13dd5 Text file reader and writer classes now have special cases for Win32, for properly handling Unicode filenames.
Originally committed to SVN as r533.
2006-08-28 20:00:51 +00:00
Niels Martin Hansen 2af4a0c5c8 Originally committed to SVN as r532. 2006-08-28 14:29:12 +00:00
Niels Martin Hansen a6fca3677f Cut off spectrum at 2/3 of nyquist frequency.
Define SPECTRUM_LOGARITHMIC to get decibel scale rather than power in the spectrum (generally less useful, therefore disabled by default).

Originally committed to SVN as r531.
2006-08-27 23:31:20 +00:00
Niels Martin Hansen df964c78cd Rewrote audio spectrum rendering algo
Originally committed to SVN as r530.
2006-08-27 22:29:14 +00:00
Niels Martin Hansen 29961a029e Made most audio spectrum related code multithreaded (automatic number of threads, based on CPU count)
Changed palette for spectrum

Originally committed to SVN as r529.
2006-08-27 19:54:51 +00:00
Rodrigo Braz Monteiro deea37e0ba Fixed loading of sections with unexpected cases.
Originally committed to SVN as r528.
2006-08-26 22:39:05 +00:00
Niels Martin Hansen 0fa1abf273 Drawing parser should be done. Untested.
Originally committed to SVN as r527.
2006-08-24 01:23:12 +00:00
Niels Martin Hansen 4b8d7b4dc8 Updated version.cpp to say 1.11.
Hack to allow loading files with mixed V4 and V4+ style sections.

Originally committed to SVN as r526.
2006-08-24 00:38:49 +00:00
Niels Martin Hansen da0da02ac0 Starting out on a \p drawing editor
Originally committed to SVN as r525.
2006-08-23 22:34:37 +00:00
2614 changed files with 582341 additions and 122000 deletions

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

@ -0,0 +1,234 @@
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
-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
-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
-Davisynth=enabled
-Dbestsource=enabled
-Dvapoursynth=enabled
- {
name: macOS Release,
os: macos-12,
buildtype: release,
args: -Ddefault_library=static -Dbuild_osx_bundle=true -Dlocal_boost=true -Dvapoursynth=enabled --force-fallback-for=ffms2
}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: actions/setup-python@v4
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: matrix.config.os == 'macos-12'
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
luarocks install luafilesystem 1.8.0
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 libjansson-dev nasm
- name: Configure
run: meson setup build ${{ matrix.config.args }} -Dbuildtype=${{ matrix.config.buildtype }}
- 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@v3
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@v3
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: matrix.config.os == 'macos-12'
run: |
meson compile osx-bundle -C build
meson compile osx-build-dmg -C build
- name: Upload artifacts - macOS dmg
uses: actions/upload-artifact@v3
if: matrix.config.os == 'macos-12'
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@v3
if: matrix.config.appimage
with:
name: ${{ matrix.config.name }}
path: appimage/*.AppImage
if-no-files-found: error

49
.gitignore vendored Normal file
View File

@ -0,0 +1,49 @@
/tests/data
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/jansson
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

View File

@ -1,86 +0,0 @@
// This file is part of FexGenericFilter and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
#include <math.h>
#include "FexGenericFilter_Include.h"
FexFilter::FexFilter()
{
Width = 3;
}
FexFilter::~FexFilter()
{
}
double FexFilter::Filter( double t )
{
return t/Width;
}
/*
f(x) = e^(-x^2 / (2 s^2) )
f(x) = e^(-x^2 / t)
width:
SOLVE(0.1 = f(x), x, Real)
x = - sqrt(t LN(10) ? x = sqrt(t LN(10)
x = - 1.517427129·sqrt t ? x = 1.517427129·sqrt t
x = - sqrt(2*s*s* LN(10)) ? x = sqrt(2*s*s* LN(10))
x = - 2.145966026·s ? x = 2.145966026·s
sum:
Integral from -sqrt(t LN(10) to sqrt(t LN(10) of f(x) dx
1.715955662·sqrt(t)
2.426727768·s
*/
FexFilter_Gauss::FexFilter_Gauss( double sigma )
{
Sigma = sigma;
TwoSigmaSq = 2*sigma*sigma;
Width = 2.145966026 * sigma;
Normalize = 1.0 / (2.426727768 * sigma);
Normalize *= 1.0 + 0.1 / Width; //its the 0.1 we left out
}
FexFilter_Gauss::~FexFilter_Gauss()
{
}
double FexFilter_Gauss::Filter( double t )
{
return exp( -t*t / TwoSigmaSq ) * Normalize;
}
/*
f(x) = -x * e^(-x^2 / (2 s^2) )
f(x) = -x * e^(-x^2 / t)
width:
use the width of gauss since i'm clueless here
sum:
Integral from -sqrt(t LN(10) to sqrt(t LN(10) of -x*f(x) dx
0.7062351183·t^1.5
*/
FexFilter_GaussDerivation::FexFilter_GaussDerivation( double sigma )
{
Sigma = sigma;
TwoSigmaSq = 2*sigma*sigma;
Width = 2.145966026 * sigma;
Normalize = 1.0 / (0.7062351183 * pow( TwoSigmaSq, 1.5 ));
}
FexFilter_GaussDerivation::~FexFilter_GaussDerivation()
{
}
double FexFilter_GaussDerivation::Filter( double t )
{
return -t * exp( -t*t / TwoSigmaSq ) * Normalize;
}

View File

@ -1,94 +0,0 @@
// This file is part of FexGenericFilter and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
#include "stdio.h"
#include "math.h"
#include "memory.h"
#include "FexGenericFilter_Include.h"
void BaseFloatImage_Filter( float* in, int inSx, int inSy, FexFilter* filter, float* out, int outSx, int outSy )
{
#define FilterWidth (filter->Width)
#define FilterWeight(t) (filter->Filter(t))
float* tmp = new float[outSx*inSy];
#include "FexGenericFilter_BaseFloatImageApply.h"
delete []tmp;
#undef FilterWidth
#undef FilterWeight
}
void BaseFloatImage_FilterSeperate( float* in, int inSx, int inSy, FexFilter* filterX, FexFilter* filterY, float* out, int outSx, int outSy )
{
float* tmp = new float[outSx*inSy];
#define FilterWidth (filterX->Width)
#define FilterWeight(t) (filterX->Filter(t))
#define FILTER_NO_Y
#include "FexGenericFilter_BaseFloatImageApply.h"
#undef FilterWidth
#undef FilterWeight
#undef FILTER_NO_Y
#define FilterWidth (filterY->Width)
#define FilterWeight(t) (filterY->Filter(t))
#define FILTER_NO_X
#include "FexGenericFilter_BaseFloatImageApply.h"
#undef FilterWidth
#undef FilterWeight
#undef FILTER_NO_X
delete []tmp;
}
void BaseFloatImage_GaussEdgeDetect( float* Img, int sizx, int sizy, float sigma, float* GradX, float* GradY )
{
FexFilter_Gauss gauss (sigma);
FexFilter_GaussDerivation gaussDeriv (sigma);
BaseFloatImage_FilterSeperate( Img, sizx, sizy, &gaussDeriv, &gauss, GradX, sizx, sizy );
BaseFloatImage_FilterSeperate( Img, sizx, sizy, &gauss, &gaussDeriv, GradY, sizx, sizy );
}
void BaseFloatImage_GaussSmooth( float* Img, int sizx, int sizy, float sigma, float* Out )
{
FexFilter_Gauss gauss (sigma);
BaseFloatImage_Filter( Img, sizx,sizy, &gauss, Out, sizx, sizy );
}
#include <math.h>
inline double sinc( double x )
{
x *= 3.1415;
if( x != 0 )
return( sin(x) / x );
return( 1.0 );
}
inline double RescaleFilter( double t )
{
if( t < 0 )
t = -t;
if( t < 3.0 )
return( sinc(t) * sinc(t/3.0) );
return( 0.0 );
}
void BaseFloatImage_LanczosRescale( float* in, int inSx, int inSy, float* out, int outSx, int outSy )
{
#define FilterWidth (3)
#define FilterWeight(t) (RescaleFilter(t))
float* tmp = new float[outSx*inSy];
#include "FexGenericFilter_BaseFloatImageApply.h"
delete []tmp;
#undef FilterWidth
#undef FilterWeight
}

View File

@ -1,49 +0,0 @@
// This file is part of FexGenericFilter and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
{
#define PixelType float
#define PixelMin 0
#define PixelMax 255
#define ImagePlanes 1
//do filtering + scaling in x-dir
#define ImageInSX (inSx)
#define ImageInSY (inSy)
#define ImageIn(x,y,p) (in[ (y*inSx+x) ])
#define ImageOutSX (outSx)
#define ImageOut(x,y,p) (tmp[ (y*outSx+x) ])
#ifndef FILTER_NO_X
#include "FexGenericFilter_FilteringCore.h"
#endif
#undef ImageInSX
#undef ImageInSY
#undef ImageIn
#undef ImageOutSX
#undef ImageOut
//do filtering + scaling in y-dir by using transposed image
#define ImageInSX (inSy)
#define ImageInSY (outSx)
#define ImageIn(y,x,p) (tmp[ (y*outSx+x) ])
#define ImageOutSX (outSy)
#define ImageOut(y,x,p) (out[ (y*outSx+x) ])
#ifndef FILTER_NO_Y
#include "FexGenericFilter_FilteringCore.h"
#endif
#undef ImageInSX
#undef ImageInSY
#undef ImageIn
#undef ImageOutSX
#undef ImageOut
#undef PixelType
#undef PixelMin
#undef PixelMax
#undef ImagePlanes
}

View File

@ -1,41 +0,0 @@
// This file is part of FexGenericFilter and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
{
double width = FilterWidth;
#ifdef CONTRIB_XSCALE
width /= XScale;
double fscale = 1.0 / XScale;
#endif
for(int i=0;i<ImageOutSX;++i)
{
double center = (double) i / XScale;
FexFilterContribution* cc = &Contrib[i];
int left = (int) ceil(center - width);
int right = (int) (floor(center + width) + 0.1);
cc->xMin = left;
cc->xMax = right;
if( cc->xMin < 0 ) cc->xMin = 0;
if( cc->xMax > ImageInSX-1 ) cc->xMax = ImageInSX - 1;
int len = cc->xMax-cc->xMin+1;
cc->Weight = new double[ len ];
memset( cc->Weight, 0x00, sizeof(double)*len );
for(int j=left;j<=right;++j) {
double weight = center - (double) j;
#ifdef CONTRIB_XSCALE
weight = FilterWeight(weight / fscale) / fscale;
#else
weight = FilterWeight(weight);
#endif
int n;
if(j < 0) n=0;
else if(j >= ImageInSX) n = ImageInSX - 1;
else n = j;
cc->Weight[n-cc->xMin] += weight;
}
}
}

View File

@ -1,56 +0,0 @@
// This file is part of FexGenericFilter and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
{
FexFilterContribution* Contrib = new FexFilterContribution[ ImageOutSX ];
double XScale = (double)ImageOutSX / (double) ImageInSX;
//calculate contributions
if( XScale < 1.0 )
{
#define CONTRIB_XSCALE
#include "FexGenericFilter_Contribution.h"
#undef CONTRIB_XSCALE
}
else
{
#include "FexGenericFilter_Contribution.h"
}
#include "FexGenericFilter_StaticFor.h"
//apply filter
for( int y=0;y<ImageInSY;++y)
{
for( int x=0;x<ImageOutSX;++x )
{
FexFilterContribution* cc = &Contrib[x];
double Sum[ImagePlanes];
#define DOFOR(i) Sum[i] = 0.0;
STATIC_FOR
#undef DOFOR
for( int lx=cc->xMin;lx<=cc->xMax;++lx )
{
#define DOFOR(i) Sum[i] += ((double)ImageIn(lx,y,i))*cc->Weight[lx-cc->xMin];
STATIC_FOR
#undef DOFOR
}
#define DOFOR(i) {if(Sum[i]<PixelMin)Sum[i]=PixelMin;if(Sum[i]>PixelMax)Sum[i]=PixelMax;}
STATIC_FOR
#undef DOFOR
#define DOFOR(i) ImageOut(x,y,i) = (PixelType) Sum[i];
STATIC_FOR
#undef DOFOR
}
}
for( int x=0;x<ImageOutSX;++x )
delete []Contrib[x].Weight;
delete []Contrib;
}

View File

@ -1,41 +0,0 @@
// This file is part of FexGenericFilter and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
class FexFilter {
public:
FexFilter();
~FexFilter();
virtual double Filter( double t );
double Width;
};
class FexFilter_Gauss : public FexFilter {
public:
FexFilter_Gauss( double sigma );
~FexFilter_Gauss();
double Filter( double t );
double Sigma;
double TwoSigmaSq;
double Normalize;
};
class FexFilter_GaussDerivation : public FexFilter {
public:
FexFilter_GaussDerivation( double sigma );
~FexFilter_GaussDerivation();
double Filter( double t );
double Sigma;
double TwoSigmaSq;
double Normalize;
};
struct FexFilterContribution {
int xMin, xMax;
double* Weight;
};

View File

@ -1,13 +0,0 @@
// This file is part of FexGenericFilter and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
#if ImagePlanes==1
#define STATIC_FOR {DOFOR(0)}
#elif ImagePlanes==3
#define STATIC_FOR {DOFOR(0) DOFOR(1) DOFOR(2)}
#elif ImagePlanes==4
#define STATIC_FOR {DOFOR(0) DOFOR(1) DOFOR(2) DOFOR(3)}
#else
#define STATIC_FOR {for( int dofori=0;dofori<ImagePlanes;++doforti ){DOFOR(i)}}
#endif

View File

@ -1,111 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// FexImgPyramid.cpp: implementation of the FexImgPyramid class.
//
//////////////////////////////////////////////////////////////////////
#include "StdAfx.h"
#include "FexImgPyramid.h"
#include "FexGenericFilter_Include.h"
void BaseFloatImage_GaussEdgeDetect( float* Img, int sizx, int sizy, float sigma, float* GradX, float* GradY );
void BaseFloatImage_GaussSmooth( float* Img, int sizx, int sizy, float sigma, float* Out );
void BaseFloatImage_LanczosRescale( float* in, int inSx, int inSy, float* out, int outSx, int outSy );
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//turn off image debugging
#ifndef imdebug
#define imdebug //
#endif
FexImgPyramidLevel::FexImgPyramidLevel( int isx, int isy )
{
sx = isx;
sy = isy;
Img = new float[ sx*sy ];
GradX = new float[ sx*sy ];
GradY = new float[ sx*sy ];
}
FexImgPyramidLevel::~FexImgPyramidLevel()
{
delete [] Img;
delete [] GradX;
delete [] GradY;
}
void FexImgPyramidLevel::Fill( float* iImg, float DetectSmoothSigma )
{
imdebug("lum b=32f w=%d h=%d %p /255", sx, sy, iImg);
BaseFloatImage_GaussSmooth( iImg, sx, sy, DetectSmoothSigma, Img );
imdebug("lum b=32f w=%d h=%d %p /255", sx, sy, Img);
}
void FexImgPyramidLevel::Scale( FexImgPyramidLevel* old )
{
imdebug("lum b=32f w=%d h=%d %p /255", old->sx, old->sy, old->Img);
BaseFloatImage_LanczosRescale( old->Img, old->sx, old->sy, Img, sx, sy );
imdebug("lum b=32f w=%d h=%d %p /255", sx, sy, Img);
}
void FexImgPyramidLevel::Calc( float EdgeDetectSigma )
{
imdebug("lum b=32f w=%d h=%d %p /255", sx, sy, Img);
BaseFloatImage_GaussEdgeDetect( Img, sx, sy, EdgeDetectSigma, GradX, GradY );
imdebug("lum b=32f w=%d h=%d %p /2", sx, sy, GradX);
imdebug("lum b=32f w=%d h=%d %p /2", sx, sy, GradY);
}
FexImgPyramid::FexImgPyramid( float* Img, int SizX, int SizY, float EdgeDetectSigma, float DetectSmoothSigma, int iSubsampling, int Levels )
{
int i;
Subsampling = iSubsampling;
if( Levels == -1 ) Levels = 999;
int mLvl = 0;
int tsm = min(SizX,SizY);
while( tsm>1 && tsm%2==0 )
{
tsm/=Subsampling;
++mLvl;
}
if( Levels > mLvl ) Levels = mLvl;
if( Levels < 1 ) Levels = 1;
nLevels = Levels;
lLevels = new FexImgPyramidLevel*[ nLevels ];
lLevels[0] = new FexImgPyramidLevel( SizX, SizY );
lLevels[0]->Fill( Img, DetectSmoothSigma );
for( i=1;i<nLevels;i++ )
{
SizX /= Subsampling;
SizY /= Subsampling;
lLevels[i] = new FexImgPyramidLevel( SizX, SizY );
lLevels[i]->Scale( lLevels[i-1] );
}
float cmul = 1.f;
for( i=0;i<nLevels;i++ )
{
lLevels[i]->CoordMul = cmul;
lLevels[i]->Calc( EdgeDetectSigma );
cmul /= Subsampling;
}
}
FexImgPyramid::~FexImgPyramid()
{
for( int i=0;i<nLevels;i++ )
delete lLevels[i];
delete [] lLevels;
}

View File

@ -1,45 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// FexImgPyramid.h: interface for the FexImgPyramid class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FEXIMGPYRAMID_H__B289955E_6660_483D_AF51_CE78F2D03944__INCLUDED_)
#define AFX_FEXIMGPYRAMID_H__B289955E_6660_483D_AF51_CE78F2D03944__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class FexImgPyramidLevel
{
public:
FexImgPyramidLevel( int sx, int sy );
~FexImgPyramidLevel();
int sx, sy;
float CoordMul;
float* Img;
float* GradX;
float* GradY;
void Fill( float* Img, float DetectSmoothSigma );
void Scale( FexImgPyramidLevel* old );
void Calc( float EdgeDetectSigma );
};
class FexImgPyramid
{
public:
FexImgPyramid( float* Img, int SizX, int SizY, float EdgeDetectSigma, float DetectSmoothSigma, int Subsampling, int Levels );
~FexImgPyramid();
int Subsampling;
FexImgPyramidLevel** lLevels;
int nLevels;
};
#endif // !defined(AFX_FEXIMGPYRAMID_H__B289955E_6660_483D_AF51_CE78F2D03944__INCLUDED_)

View File

@ -1,79 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// FexMovement.cpp: implementation of the FexMovement class.
//
//////////////////////////////////////////////////////////////////////
#include "StdAfx.h"
#include "stdio.h"
#include <conio.h>
#include <ctype.h>
#include <string.h>
#include <time.h>
//#include <mmsystem.h>
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
FexMovement::FexMovement()
{
FileName = 0;
}
FexMovement::~FexMovement()
{
if( FileName ) delete []FileName;
}
FEXTRACKER_API FexMovement* CreateMovement()
{
return new FexMovement();
}
FEXTRACKER_API void LoadMovement( FexMovement* me, const wchar_t* Filename )
{
me->Frames.nVal = 0;
me->FileName = new WCHAR[ wcslen(Filename)+1 ];
wcscpy( me->FileName, Filename );
FILE *fi = _wfopen( Filename, L"rt" );
if( !fi ) return;
int CurFeat = -1;
char Line[512];
while( !feof(fi) )
{
Line[0]=0;
fgets( Line, 510, fi );
if( !Line[0] ) break;
FexMovementFrame f;
int r = sscanf( Line, "(%f %f)(%f %f %f)(%f %f)",
&f.Pos.x, &f.Pos.y,
&f.Rot.x, &f.Rot.y, &f.Rot.z,
&f.Scale.x, &f.Scale.y );
if( r != 7 ) continue;
me->Frames.Add( f );
}
fclose( fi );
}
FEXTRACKER_API void SaveMovement( FexMovement* me, const wchar_t* Filename )
{
FILE *fi = _wfopen( Filename, L"wt" );
if( !fi ) return;
for( int i=0;i<me->Frames.size();i++ )
{
const FexMovementFrame f = me->Frames[i];
fprintf( fi, "(%f %f)(%f %f %f)(%f %f)\n",
f.Pos.x, f.Pos.y,
f.Rot.x, f.Rot.y, f.Rot.z,
f.Scale.x, f.Scale.y );
}
fclose( fi );
}
FEXTRACKER_API void DeleteMovement( FexMovement* delme )
{
delete delme;
}

View File

@ -1,39 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// FexMovement.h: interface for the FexMovement class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FEXMOVEMENT_H__63D8ADD8_4EA1_4C56_8D6F_7B587A1A61A4__INCLUDED_)
#define AFX_FEXMOVEMENT_H__63D8ADD8_4EA1_4C56_8D6F_7B587A1A61A4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
typedef struct
{
vec2 Pos;
vec3 Rot;
vec2 Scale;
}FexMovementFrame;
#include "tenlist.h"
class FexMovement
{
public:
FexMovement();
~FexMovement();
WCHAR* FileName;
tenlist<FexMovementFrame> Frames;
};
FEXTRACKER_API FexMovement* CreateMovement();
FEXTRACKER_API void LoadMovement( FexMovement* me, const wchar_t* Filename );
FEXTRACKER_API void SaveMovement( FexMovement* me, const wchar_t* Filename );
FEXTRACKER_API void DeleteMovement( FexMovement* delme );
#endif // !defined(AFX_FEXMOVEMENT_H__63D8ADD8_4EA1_4C56_8D6F_7B587A1A61A4__INCLUDED_)

View File

@ -1,476 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// FexTracker.cpp : Defines the entry point for the DLL application.
//
#include "StdAfx.h"
#include "stdio.h"
FexTracker::FexTracker( int sx, int sy, int inFeatures )
{
printf( "[ using FexTracker (c)2006 Hajo Krabbenhoft ]\n" );
nFeatures = inFeatures;
minFeatures = 0;
mFeatures = 8;
lFeatures = (FexTrackingFeature*) new FexTrackingFeature[mFeatures];
SizX = sx;
SizY = sy;
CurImg = 0;
CurFrame = 0;
bDebug = 0;
float subsampling = float(Cfg.SearchRange) / min(Cfg.WindowX,Cfg.WindowY);
if (subsampling < 1.0) { /* 1.0 = 0+1 */
PyramidMaxLevels = 1;
} else if (subsampling <= 3.0) { /* 3.0 = 2+1 */
PyramidMaxLevels = 2;
PyramidSubsampling = 2;
} else if (subsampling <= 5.0) { /* 5.0 = 4+1 */
PyramidMaxLevels = 2;
PyramidSubsampling = 4;
} else if (subsampling <= 9.0) { /* 9.0 = 8+1 */
PyramidMaxLevels = 2;
PyramidSubsampling = 8;
} else {
/* The following lines are derived from the formula:
search_range =
window_halfwidth * \sum_{i=0}^{nPyramidLevels-1} 8^i,
which is the same as:
search_range =
window_halfwidth * (8^nPyramidLevels - 1)/(8 - 1).
Then, the value is rounded up to the nearest integer. */
float val = (float) (log(7.0*subsampling+1.0)/log(8.0));
PyramidMaxLevels = (int) (val + 0.99);
PyramidSubsampling = 8;
}
}
FexTracker::~FexTracker()
{
delete [] lFeatures;
if( CurImg ) delete CurImg;
}
void FexTracker::ProcessImage( float *Img, bool bFirst )
{
if( bFirst || !CurImg )
{
CurFrame = 0;
CurImg = new FexImgPyramid( Img, SizX, SizY, Cfg.EdgeDetectSigma, Cfg.DetectSmoothSigma, PyramidSubsampling, PyramidMaxLevels );
nActiveFeatures = 0;
int tmp = nFeatures;
nFeatures = 0;
FindFeatures( tmp );
}
else
{
CountActiveFeatures();
if( nActiveFeatures<minFeatures )
FindFeatures( minFeatures );
NextImg = new FexImgPyramid( Img, SizX, SizY, Cfg.EdgeDetectSigma, Cfg.DetectSmoothSigma, PyramidSubsampling, PyramidMaxLevels );
TrackFeatures();
delete CurImg;
CurImg = NextImg;
NextImg = 0;
}
CurFrame++;
}
void FexTracker::ProcessingDone()
{
if( CurImg ) delete CurImg;
CurImg = 0;
}
void FexTracker::CountActiveFeatures()
{
nActiveFeatures = 0;
for( int i=0;i<nFeatures;i++ )
{
if( lFeatures[i].StartTime + lFeatures[i].Pos.size() >= CurFrame )
nActiveFeatures++;
}
}
FexTrackingFeature* FexTracker::operator [] ( int i )
{
if( i<0 || i>=nFeatures ) return 0;
return & lFeatures[i];
}
int FexTracker::GetEigenvalueForPoint( int px, int py )
{
int sx = px - Cfg.WindowX;
int ex = px + Cfg.WindowX;
int sy = py - Cfg.WindowY;
int ey = py + Cfg.WindowY;
if( sx<0 )sx=0;
if( sy<0 )sy=0;
if( ex>SizX-1 )ex=SizX-1;
if( ey>SizY-1 )ey=SizY-1;
int imgSX = CurImg->lLevels[0]->sx;
float* gradx = CurImg->lLevels[0]->GradX;
float* grady = CurImg->lLevels[0]->GradY;
register float gxx = 0, gyy = 0, gxy = 0;
for( int y=sy;y<ey;y++ )
{
for( int x=sx;x<ex;x++ )
{
float gx = gradx[ imgSX*y + x ];
float gy = grady[ imgSX*y + x ];
gxx += gx*gx;
gyy += gy*gy;
gxy += gx*gy;
}
}
float val = gxx + gyy - sqrtf((gxx - gyy)*(gxx - gyy) + 4*gxy*gxy);
if( val>(1<<30) ) val=(1<<30);
return (int) val;
}
typedef struct{
int val, x, y;
}littleFeature;
#define SWAP3(list, i, j) \
{register int *pi, *pj, tmp; \
pi=list+3*(i); pj=list+3*(j); \
\
tmp=*pi; \
*pi++=*pj; \
*pj++=tmp; \
\
tmp=*pi; \
*pi++=*pj; \
*pj++=tmp; \
\
tmp=*pi; \
*pi=*pj; \
*pj=tmp; \
}
void _quicksort(int *pointlist, int n)
{
unsigned int i, j, ln, rn;
while (n > 1)
{
SWAP3(pointlist, 0, n/2);
for (i = 0, j = n; ; )
{
do
--j;
while (pointlist[3*j] < pointlist[0]);
do
++i;
while (i < j && pointlist[3*i] > pointlist[0]);
if (i >= j)
break;
SWAP3(pointlist, i, j);
}
SWAP3(pointlist, j, 0);
ln = j;
rn = n - ++j;
if (ln < rn)
{
_quicksort(pointlist, ln);
pointlist += 3*j;
n = rn;
}
else
{
_quicksort(pointlist + 3*j, rn);
n = ln;
}
}
}
#undef SWAP3
void FexTracker::FindFeatures( int minFeatures )
{
int nli=0;
littleFeature *list = new littleFeature[SizX*SizY];
for( int y=0;y<SizY;y++ )
{
for( int x=0;x<SizX;x++ )
{
int v = GetEigenvalueForPoint( x, y );
if( v>0 )
{
list[nli].val = v;
list[nli].x = x;
list[nli].y = y;
nli++;
}
}
}
_quicksort( (int*)list, nli );
int oldN = nFeatures;
for( int i=0;i<nli && nActiveFeatures<minFeatures;i++ )
{
int j;
for( j=0;j<nFeatures;j++ )
{
if( lFeatures[j].StartTime + lFeatures[j].Pos.size() < CurFrame ) continue; //feature was lost
float dx = list[i].x - lFeatures[j].Pos[ CurFrame - lFeatures[j].StartTime ].x;
float dy = list[i].y - lFeatures[j].Pos[ CurFrame - lFeatures[j].StartTime ].y;
float sqr = dx*dx+dy*dy;
if( sqr < Cfg.MinDistanceSquare ) break;
}
if( j!=nFeatures ) continue;
if( nFeatures >= mFeatures )
{
mFeatures = nFeatures+9;
mFeatures -= mFeatures%8;
FexTrackingFeature * nlFeatures = (FexTrackingFeature*) new FexTrackingFeature[mFeatures];
for( int cpy=0;cpy<nFeatures;cpy++ )
{
nlFeatures[ cpy ].Eigenvalue = lFeatures[ cpy ].Eigenvalue;
nlFeatures[ cpy ].StartTime = lFeatures[ cpy ].StartTime;
nlFeatures[ cpy ].Influence = lFeatures[ cpy ].Influence;
for( int cpy2=0;cpy2<lFeatures[ cpy ].Pos.size();cpy2++ )
nlFeatures[ cpy ].Pos.Add( lFeatures[ cpy ].Pos[cpy2] );
}
delete [] lFeatures;
lFeatures = nlFeatures;
}
lFeatures[nFeatures].Eigenvalue = list[i].val;
vec2 pt;
pt.x = (float)list[i].x;
pt.y = (float)list[i].y;
lFeatures[nFeatures].Pos.Add( pt );
lFeatures[nFeatures].StartTime = CurFrame;
lFeatures[nFeatures].Influence = 0;
nFeatures++;
nActiveFeatures++;
}
for( int j=oldN;j<nFeatures;j++ )
lFeatures[j].StartTime = max(0,lFeatures[j].StartTime-1);
delete []list;
}
void FexTracker::TrackFeatures()
{
for( int i=0;i<nFeatures;i++ )
{
if( lFeatures[i].StartTime + lFeatures[i].Pos.size() < CurFrame ) continue; //feature was lost
int FeatureFrame = CurFrame - lFeatures[i].StartTime;
float orig_px = lFeatures[i].Pos[FeatureFrame-1].x;
float orig_py = lFeatures[i].Pos[FeatureFrame-1].y;
vec2 op;
op.x = orig_px * CurImg->lLevels[ CurImg->nLevels-1 ]->CoordMul / CurImg->Subsampling;
op.y = orig_py * CurImg->lLevels[ CurImg->nLevels-1 ]->CoordMul / CurImg->Subsampling;
vec2 np;
np = op;
int l;
for( l=CurImg->nLevels-1;l>=0;l-- )
{
op.x *= CurImg->Subsampling;
op.y *= CurImg->Subsampling;
np.x *= CurImg->Subsampling;
np.y *= CurImg->Subsampling;
if( !TrackOneFeature( l, op, np ) ) break;
}
if( l!=-1 ) continue; //we aborted
if( np.x<0 || np.y<0 || np.x>SizX || np.y>SizY ) continue;
lFeatures[i].Pos.Add( np );
}
}
bool FexTracker::TrackOneFeature( int lvl, vec2 op, vec2& np )
{
static float bordereps = 1.1f;
if( op.x - Cfg.WindowX < bordereps || op.x + Cfg.WindowX > CurImg->lLevels[lvl]->sx - bordereps ) return 0;
if( op.y - Cfg.WindowY < bordereps || op.y + Cfg.WindowY > CurImg->lLevels[lvl]->sy - bordereps ) return 0;
if( np.x - Cfg.WindowX < bordereps || np.x + Cfg.WindowX > CurImg->lLevels[lvl]->sx - bordereps ) return 0;
if( np.y - Cfg.WindowY < bordereps || np.y + Cfg.WindowY > CurImg->lLevels[lvl]->sy - bordereps ) return 0;
int isx = (Cfg.WindowX*2+1);
int imsiz = isx*(Cfg.WindowY*2+1);
float *diff = new float[imsiz];
float *gradx = new float[imsiz];
float *grady = new float[imsiz];
bool bOk = 1;
for( int iteration=0;iteration<Cfg.MaxIterations;iteration++ )
{
GetDiffForPointset( lvl, op, np, diff );
GetGradForPointset( lvl, op, np, gradx, grady );
/*
imdebug("lum b=32f w=%d h=%d %p /255", isx, imsiz/isx, diff);
imdebug("lum b=32f w=%d h=%d %p /255", isx, imsiz/isx, gradx);
imdebug("lum b=32f w=%d h=%d %p /255", isx, imsiz/isx, grady);
*/
register float gx, gy, di;
float gxx = 0, gyy = 0, gxy = 0, ex = 0, ey = 0;
for( int i=0;i<imsiz;i++ )
{
di = diff[i];
gx = gradx[i];
gy = grady[i];
gxx += gx*gx;
gyy += gy*gy;
gxy += gx*gy;
ex += di*gx;
ey += di*gy;
}
float det = gxx*gyy - gxy*gxy;
if( det < Cfg.MinDeterminant )
{
bOk = 0;
break;
}
float dx = (gyy*ex - gxy*ey)/det;
float dy = (gxx*ey - gxy*ex)/det;
np.x += dx;
np.y += dy;
if( ( np.x - Cfg.WindowX < bordereps || np.x + Cfg.WindowX > CurImg->lLevels[lvl]->sx - bordereps )
|| ( np.y - Cfg.WindowY < bordereps || np.y + Cfg.WindowY > CurImg->lLevels[lvl]->sy - bordereps ) )
{
bOk = 0;
break;
}
if( fabs(dx) < Cfg.MinDisplacement && fabs(dy) < Cfg.MinDisplacement )break;
}
delete [] gradx;
delete [] grady;
if( bOk )
{
GetDiffForPointset( lvl, op, np, diff );
float sum = 0;
for( int i=0;i<imsiz;i++ )
sum += fabsf( diff[i] );
if( sum / float(imsiz) > Cfg.MaxResidue ) bOk = 0;
}
delete [] diff;
return bOk;
}
inline float Interpolate( float *img, int ImgSX, float x, float y )
{
int xt = (int) x; /* coordinates of top-left corner */
int yt = (int) y;
float ax = x - xt;
float ay = y - yt;
float *ptr = img + (ImgSX*yt) + xt;
return ( (1-ax) * (1-ay) * *ptr +
ax * (1-ay) * *(ptr+1) +
(1-ax) * ay * *(ptr+(ImgSX)) +
ax * ay * *(ptr+(ImgSX)+1) );
}
void FexTracker::GetDiffForPointset( int lvl, vec2 op, vec2 np, float* diff )
{
float* img1 = CurImg->lLevels[lvl]->Img;
int isx1 = CurImg->lLevels[lvl]->sx;
float* img2 = NextImg->lLevels[lvl]->Img;
int isx2 = NextImg->lLevels[lvl]->sx;
for( int y = -Cfg.WindowY; y <= Cfg.WindowY; y++ )
{
for( int x = -Cfg.WindowX; x <= Cfg.WindowX; x++ )
{
*diff++ = Interpolate(img1,isx1,op.x+x,op.y+y) - Interpolate(img2,isx2,np.x+x,np.y+y);
}
}
}
void FexTracker::GetGradForPointset( int lvl, vec2 op, vec2 np, float* gradx, float* grady )
{
int isx = CurImg->lLevels[lvl]->sx;
float* gx1 = CurImg->lLevels[lvl]->GradX;
float* gx2 = NextImg->lLevels[lvl]->GradX;
float* gy1 = CurImg->lLevels[lvl]->GradY;
float* gy2 = NextImg->lLevels[lvl]->GradY;
for( int y = -Cfg.WindowY; y <= Cfg.WindowY; y++ )
{
for( int x = -Cfg.WindowX; x <= Cfg.WindowX; x++ )
{
*gradx++ = Interpolate(gx1,isx,op.x+x,op.y+y) + Interpolate(gx2,isx,np.x+x,np.y+y);
*grady++ = Interpolate(gy1,isx,op.x+x,op.y+y) + Interpolate(gy2,isx,np.x+x,np.y+y);
}
}
}
/*
static float _minEigenvalue(float gxx, float gxy, float gyy)
{
return (float) ((gxx + gyy - sqrt((gxx - gyy)*(gxx - gyy) + 4*gxy*gxy))/2.0f);
}
//gen eigenvalue matrix:
gxx = 0; gxy = 0; gyy = 0;
for (yy = y-window_hh ; yy <= y+window_hh ; yy++)
{
for (xx = x-window_hw ; xx <= x+window_hw ; xx++)
{
gx = *(gradx->data + ncols*yy+xx);
gy = *(grady->data + ncols*yy+xx);
gxx += gx * gx;
gxy += gx * gy;
gyy += gy * gy;
}
}
//get eigenvalue number
val = _minEigenvalue(gxx, gxy, gyy);
for every frame:
for every feature:
through all pyramid levels from lowres to highres:
calculate diff, gradx, grady
gen eigenvalue matrix
error vector = [gradx, grady]*imdiff
float det = gxx*gyy - gxy*gxy;
if (det < small) return KLT_SMALL_DET;
*dx = (gyy*ex - gxy*ey)/det;
*dy = (gxx*ey - gxy*ex)/det;
add [dx,dy] to search position
*/

View File

@ -1,138 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// The following ifdef block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the FEXTRACKER_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// FEXTRACKER_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifndef AEGISUB
#ifdef FEXTRACKER_EXPORTS
#define FEXTRACKER_API __declspec(dllexport)
#else
#define FEXTRACKER_API __declspec(dllimport)
#endif
#else
#define FEXTRACKER_API
#endif
class FEXTRACKER_API FexTrackerConfig
{
public:
inline FexTrackerConfig() :
FeatureNumber(0),
EdgeDetectSigma(1.f),
WindowX(3), WindowY(3),
SearchRange(15),
MaxIterations(10),
MinDeterminant(0.01f),
MinDisplacement(0.1f),
MaxResidue(10.f),
IgnoreLightning(0),
DetectSmoothSigma(0.9f),
MinDistanceSquare(100.f)
{};
int FeatureNumber;
int WindowX, WindowY; //static const int window_size = 7;
int SearchRange;
float DetectSmoothSigma; //static const float pyramid_sigma_fact = 0.9f;
float EdgeDetectSigma; //static const float grad_sigma = 1.0f;
int MaxIterations; //static const int max_iterations = 10;
float MinDeterminant; //static const float min_determinant = 0.01f;
float MinDisplacement; //static const float min_displacement = 0.1f;
float MaxResidue; //static const float max_residue = 10.0f;
bool IgnoreLightning; //static const KLT_BOOL lighting_insensitive = FALSE;
float MinDistanceSquare; //static const int mindist = 10;
//static const int min_eigenvalue = 1;
//static const float smooth_sigma_fact = 0.1f;
//static const KLT_BOOL sequentialMode = FALSE;
///* for affine mapping*/
//static const int affineConsistencyCheck = -1;
//static const int affine_window_size = 15;
//static const int affine_max_iterations = 10;
//static const float affine_max_residue = 10.0;
//static const float affine_min_displacement = 0.02f;
//static const float affine_max_displacement_differ = 1.5f;
};
typedef struct{
float x, y;
}vec2;
typedef struct{
float x, y, z;
}vec3;
class FexImgPyramid;
class FexTrackingFeature;
class FexMovement;
class FEXTRACKER_API FexTracker
{
public:
FexTracker( int sx, int sy, int nFeatures );
~FexTracker();
//config
FexTrackerConfig Cfg;
//work
void ProcessImage( float *Img, bool bFirst=0 ); //we assume grayscale image here
void ProcessingDone(); // call after last call to ProcessImage to clear temporary storage
//point -> movement
void InfluenceFeatures( int Frame, float x, float y, float off );
FexMovement* GetMovement();
//feature access
FexTrackingFeature* operator [] ( int i );
inline int GetCount(){ return nFeatures; };
inline int GetFrame(){ return CurFrame; };
inline int GetSizeX(){ return SizX; };
inline int GetSizeY(){ return SizY; };
bool bDebug;
int minFeatures;
private:
int SizX, SizY;
int PyramidSubsampling;
int PyramidMaxLevels;
FexImgPyramid* CurImg;
FexImgPyramid* NextImg;
void FindFeatures( int minFeatures );
void TrackFeatures();
bool TrackOneFeature( int lvl, vec2 op, vec2& np );
int GetEigenvalueForPoint( int px, int py );
void GetDiffForPointset( int lvl, vec2 op, vec2 np, float* diff );
void GetGradForPointset( int lvl, vec2 op, vec2 np, float* gradx, float* grady );
void CountActiveFeatures();
//result
FexTrackingFeature* lFeatures;
int nFeatures;
int nActiveFeatures;
int mFeatures;
int CurFrame;
};
FEXTRACKER_API void FexBaseResize( float* out, int newx, int newy, float* in, int sizx, int sizy );
FEXTRACKER_API void GaussKernelWidths( float sigma, int *gauss_width, int *gaussderiv_width );
FEXTRACKER_API void GaussEdgeDetect( float* Img, int sizx, int sizy, float sigma, float* GradX, float* GradY );
FEXTRACKER_API void GaussSmooth( float* Img, int sizx, int sizy, float sigma, float* Out );

View File

@ -1,160 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// FexTrackerMovement.cpp
//
#include "StdAfx.h"
#include "stdio.h"
void FexTracker::InfluenceFeatures( int Frame, float x, float y, float off )
{
for( int i=0;i<nFeatures;i++ )
{
if( Frame < lFeatures[i].StartTime ) continue;
int FeatureFrame = Frame - lFeatures[i].StartTime;
if( lFeatures[i].Pos.size() < FeatureFrame ) continue; //feature was lost
vec2 p = lFeatures[i].Pos[ FeatureFrame ];
float dist = sqrtf( (p.x-x)*(p.x-x)+(p.y-y)*(p.y-y) );
float infl = 1/(dist+1);
if( infl < 0.1 ) continue;
lFeatures[i].Influence += infl * off;
if( lFeatures[i].Influence<0 ) lFeatures[i].Influence = 0;
if( lFeatures[i].Influence>1 ) lFeatures[i].Influence = 1;
}
}
#define VEC2LEN(a) sqrtf( (a).x*(a).x+(a).y*(a).y )
FexMovement* FexTracker::GetMovement()
{
FILE *log = fopen( "movementlog.txt", "wt" );
int i;
for( i=0;i<nFeatures;i++ )
{
if( lFeatures[i].Influence>0.01 )
fprintf( log, "Feature(%.2f): %d - %d\n", lFeatures[i].Influence, lFeatures[i].StartTime, lFeatures[i].StartTime+lFeatures[i].Pos.size() );
}
FexMovement *m = new FexMovement();
FexMovementFrame f;
float FirstInfluenceSum = 0;
vec2 FirstPos;
FirstPos.x = FirstPos.y = 0;
for( i=0;i<nFeatures;i++ )
{
if( 0 < lFeatures[i].StartTime ) continue;
if( lFeatures[i].Pos.size() <= 0 ) continue;
vec2 p = lFeatures[i].Pos[ 0 ];
FirstPos.x += p.x * lFeatures[i].Influence;
FirstPos.y += p.y * lFeatures[i].Influence;
FirstInfluenceSum += lFeatures[i].Influence;
}
FirstPos.x /= FirstInfluenceSum;
FirstPos.y /= FirstInfluenceSum;
float FirstLen = 1;
vec2* MidOffset = (vec2*) new vec2[nFeatures];
float* MidOffsetLen = (float*) new float[nFeatures];
for( int Frame = 0; Frame < CurFrame; Frame ++ )
{
//set feature offset
for( i=0;i<nFeatures;i++ )
{
if( Frame == lFeatures[i].StartTime )
{
MidOffset[i].x = FirstPos.x - lFeatures[i].Pos[0].x;
MidOffset[i].y = FirstPos.y - lFeatures[i].Pos[0].y;
//realOffLen / MidOffLen = FirstLen
// => MidOffLen /= FirstLen;
MidOffset[i].x /= FirstLen;
MidOffset[i].y /= FirstLen;
MidOffsetLen[i] = VEC2LEN( MidOffset[i] );
}
}
//accumulate position
float NextLen = 0;
float NextInfluenceSum = 0;
vec2 NextPos;
NextPos.x = NextPos.y = 0;
for( i=0;i<nFeatures;i++ )
{
if( Frame < lFeatures[i].StartTime ) continue;
int FeatureFrame = Frame - lFeatures[i].StartTime;
if( lFeatures[i].Pos.size() <= FeatureFrame ) continue; //feature was lost
vec2 p = lFeatures[i].Pos[ FeatureFrame ];
NextPos.x += (p.x+MidOffset[i].x*FirstLen) * lFeatures[i].Influence;
NextPos.y += (p.y+MidOffset[i].y*FirstLen) * lFeatures[i].Influence;
NextInfluenceSum += lFeatures[i].Influence;
}
if( NextInfluenceSum > 0.01 )
{
NextPos.x /= NextInfluenceSum;
NextPos.y /= NextInfluenceSum;
}
else
NextPos = FirstPos; //take over last one
for( i=0;i<nFeatures;i++ )
{
if( Frame < lFeatures[i].StartTime ) continue;
int FeatureFrame = Frame - lFeatures[i].StartTime;
if( lFeatures[i].Pos.size() <= FeatureFrame ) continue; //feature was lost
vec2 p = lFeatures[i].Pos[ FeatureFrame ];
vec2 realMidOff;
realMidOff.x = NextPos.x-p.x;
realMidOff.y = NextPos.y-p.y;
float realMidOffLen = VEC2LEN( realMidOff );
NextLen += realMidOffLen/MidOffsetLen[i] *lFeatures[i].Influence;
}
if( NextInfluenceSum > 0.01 )
{
NextLen /= NextInfluenceSum;
}
else
NextLen = FirstLen; //take over last one
f.Pos = NextPos;
f.Rot.x = 0;
f.Rot.y = 0;
f.Rot.z = 0;
f.Scale.x = NextLen;
f.Scale.y = NextLen;
m->Frames.Add( f );
FirstPos = NextPos;
FirstLen = NextLen;
}
delete []MidOffset;
delete []MidOffsetLen;
fclose( log );
return m;
}

View File

@ -1,22 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// FexTrackingFeature.cpp: implementation of the FexTrackingFeature class.
//
//////////////////////////////////////////////////////////////////////
#include "StdAfx.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
FexTrackingFeature::FexTrackingFeature()
{
}
FexTrackingFeature::~FexTrackingFeature()
{
}

View File

@ -1,30 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// FexTrackingFeature.h: interface for the FexTrackingFeature class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FEXTRACKINGFEATURE_H__23B42013_9F11_467C_A0F6_F9E647D45CEB__INCLUDED_)
#define AFX_FEXTRACKINGFEATURE_H__23B42013_9F11_467C_A0F6_F9E647D45CEB__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "tenlist.h"
class FexTrackingFeature
{
public:
FexTrackingFeature();
~FexTrackingFeature();
int Eigenvalue;
tenlist<vec2> Pos;
int StartTime;
float Influence;
};
#endif // !defined(AFX_FEXTRACKINGFEATURE_H__23B42013_9F11_467C_A0F6_F9E647D45CEB__INCLUDED_)

View File

@ -1,11 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// stdafx.cpp : source file that includes just the standard includes
// FexTracker.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "StdAfx.h"
// TODO: reference any additional headers you need in STDAFX.H
// and not in this file

View File

@ -1,41 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if !defined(AFX_STDAFX_H__7E36ECD6_3192_4C7E_88C9_742CCCFA5057__INCLUDED_)
#define AFX_STDAFX_H__7E36ECD6_3192_4C7E_88C9_742CCCFA5057__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Insert your headers here
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include <stdlib.h>
#include <math.h>
#include <assert.h>
#include "FexTracker.h"
#include "FexImgPyramid.h"
#include "FexTrackingFeature.h"
#include "FexMovement.h"
#ifdef IMAGE_DEBUGGER
#include "ext/imdebug.h"
#else
#define imdebug //
#endif
// TODO: reference additional headers your program requires here
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__7E36ECD6_3192_4C7E_88C9_742CCCFA5057__INCLUDED_)

View File

@ -1,68 +0,0 @@
// This file is part of FexTracker and (C) 2006 by Hajo Krabbenhöft (tentacle)
// All rights reserved but the aegisub project is allowed to use it.
#pragma once
template< class type >
class tenlist {
public:
int nVal;
int mVal;
type* lVal;
inline tenlist()
{
mVal = 0;
nVal = 0;
lVal = 0;
//zero everything since we well over-zero it anyway
}
inline ~tenlist()
{
free( lVal );
}
inline int size()
{
return nVal;
}
inline void Add( type t )
{
if( nVal+1 >= mVal )
{
mVal += 8;
lVal = (type*)realloc( lVal, sizeof(type)*mVal );
memset( lVal+nVal, 0x00, sizeof(type)*(mVal-nVal) ); //lVal+nVal, since it'll be multiplied by sizeof(type) due to lVal being a type*
}
lVal[nVal++] = t;
}
inline void AddStr( type t )
{
if( nVal+1 >= mVal )
{
mVal += 8;
lVal = (type*)realloc( lVal, sizeof(type)*mVal );
memset( lVal+nVal, 0x00, sizeof(type)*(mVal-nVal) ); //lVal+nVal, since it'll be multiplied by sizeof(type) due to lVal being a type*
}
strcpy( lVal[nVal++], t );
}
inline void Rem( int n )
{
if( n>=nVal )
{
nVal = 0;
return;
}
for( int i=0;i<nVal;i++ )
{
lVal[i] = lVal[i+n];
}
}
type& operator[]( int i ) const
{ return lVal[i]; }
};

44
LICENCE Normal file
View File

@ -0,0 +1,44 @@
Copyright (c) 2004-2012, Aegisub Project
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.
--- 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
covered by another license in the file itself.
The following directories and file are covered by their respective licenses as
follows:
src/gl/
- MIT license. See src/gl/glext.h
src/MatroskaParser.(c|h)
- Licensed to BSDL with permission from the author.
universalchardet/
- MPL 1.1

View File

@ -1,3 +0,0 @@
AUTOMAKE_OPTIONS = foreign
SUBDIRS = ac core locale

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).
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:
- `jansson`: For BestSource
- `ffmpeg`: Becomes a direct dependency when compiling with BestSource
- `avisynth` (or `avisynthplus`): Optional run-time dependency for the Avisynth source
- `vapoursynth`: Optional run-time dependency for the VapourSynth source
The following VapourSynth plugins are used by the default scripts set in the default configuration:
- [`lsmas`](https://github.com/AkarinVS/L-SMASH-Works): For LWLibavSource
- [`bas`](https://github.com/vapoursynth/bestaudiosource): For BestAudioSource
- [`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 +0,0 @@
extra_DIST=compile config.guess config.sub depcomp install-sh missing mkinstalldirs

View File

@ -1,4 +0,0 @@
#!/bin/sh
aclocal && autoheader && automake -a && autoconf && echo "'configure' script created successfully."

1
automation/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
aegisub.so.*

View File

@ -0,0 +1,46 @@
local tr = aegisub.gettext
script_name = tr"Clean k tags"
script_description = tr"Remove double k tags"
script_author = "amoethyst"
script_version = "1.0"
local double_k = "^(.-{\\k[^}]-)(\\k.+)$"
-- if the first tag is K/kf this would break the timing for the previous timing
local expr = "^(.-){\\(ko?)([0-9.]+)[^}]-}([^{]-){\\[kK][fo]?([0-9.]+)[^}]-}( -{(\\[kK][fo]?)[0-9.]+[^}]-}.*)$"
function _special_k(subs, i)
line = subs[i]
before, after = line.text:match(double_k)
while after ~= nil do
line.text = before .. "}{" .. after
before, after = line.text:match(double_k)
end
before, tag, k1, between, k2, after = line.text:match(expr)
while after ~= nil do
line.text = before .. "{\\" .. tag .. tonumber(k1) + tonumber(k2) .. "}" .. between .. after
before, tag, k1, between, k2, after = line.text:match(expr)
end
return line
end
function special_k(subs, sel)
for _, i in ipairs(sel) do
ok, res = pcall(_special_k, subs, i)
if ok then
subs[i] = res
else
aegisub.log("error on line " .. i .. ": " .. line.text .. "\n")
aegisub.log(res .. "\n")
end
end
end
aegisub.register_macro(script_name, script_description, special_k)

View File

@ -0,0 +1,64 @@
--[[
"Clean Tags" -- An Auto4 LUA script for cleaning up ASS subtitle lines of badly-formed override
blocks and redundant/duplicate tags
* Designed to work for Aegisub 2.0 and above (only pre-release version was available at the time of
writing) @ http://www.malakith.net/aegiwiki
* Requires cleantags.lua to be available in automation's include folder
* The changes performed on your subtitles are guaranteed to be undo-able provided that Aegisub's undo
mechanism works. Even so, I am not resposible if it damages your subtitles permanently, so please
back up your subtitle file before applying the cleaning up
Copyright (c) 2007-2009 Muhammad Lukman Nasaruddin (aka ai-chan, Aegisub's forum member)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
]]
local tr = aegisub.gettext
script_name = tr"Clean Tags"
script_description = tr"Clean subtitle lines by re-arranging ASS tags and override blocks within the lines"
script_author = "Muhammad Lukman Nasaruddin (ai-chan)"
script_version = "1.20"
script_modified = "25 February 2009"
include("cleantags.lua")
function cleantags_subs(subtitles)
local linescleaned = 0
for i = 1, #subtitles do
aegisub.progress.set(i * 100 / #subtitles)
if subtitles[i].class == "dialogue" and not subtitles[i].comment and subtitles[i].text ~= "" then
ntext = cleantags(subtitles[i].text)
local nline = subtitles[i]
nline.text = ntext
subtitles[i] = nline
linescleaned = linescleaned + 1
aegisub.progress.task(linescleaned .. " lines cleaned")
end
end
end
function cleantags_macro(subtitles, selected_lines, active_line)
cleantags_subs(subtitles)
aegisub.set_undo_point(script_name)
end
function cleantags_filter(subtitles, config)
cleantags_subs(subtitles)
end
aegisub.register_macro(script_name, script_description, cleantags_macro)
aegisub.register_filter(script_name, script_description, 0, cleantags_filter)

View File

@ -0,0 +1,26 @@
local tr = aegisub.gettext
script_name = tr"driftfix"
script_description = tr"shift drifting lines"
script_author = "amoethyst"
script_version = "1.0"
function split_line(subs, sel)
local step = -200 -- drift step in milliseconds
local drift = step
for _, i in ipairs(sel) do
line = subs[i]
line.start_time = line.start_time + drift
line.end_time = line.end_time + drift
drift = drift + step
subs[i] = line
end
aegisub.set_undo_point(script_name)
end
aegisub.register_macro(script_name, script_description, split_line)

View File

@ -0,0 +1,175 @@
local tr = aegisub.gettext
script_name = tr"Duetto Meika"
script_description = tr"The ultimate tool for karaoke duets"
script_author = "amoethyst"
include("utils.lua")
function replace_style(line, style_name, style_string)
before_style, after_style = line.text:match("^(.-{[^}]-)\\?s:".. style_name .."(.*)$")
return before_style .. style_string .. after_style
end
function duetto(subs, sel)
styles = {}
-- create the style map
for _, line in ipairs(subs) do
if line.class == "style" then
styles[line.name] = line
end
end
-- duetto~
for _, i in ipairs(sel) do
line = subs[i]
current_style = styles[line.style]
-- match every `s:` marker
for style_name in line.text:gmatch("{[^}]*s:([^}\\]*)[^}]*}") do
if style_name ~= current_style.name then
style = styles[style_name]
-- build the tags to use the new style
style_string = ""
if current_style.color1 ~= style.color1 then
style_string = style_string .. "\\c" .. style.color1
end
if current_style.color2 ~= style.color2 then
style_string = style_string .. "\\2c" .. style.color2
end
if current_style.color3 ~= style.color3 then
style_string = style_string .. "\\3c" .. style.color3
end
if current_style.color4 ~= style.color4 then
style_string = style_string .. "\\4c" .. style.color4
end
-- set style
line.text = replace_style(line, style_name, style_string)
current_style = style
else
-- remove marker to not break everything
line.text = replace_style(line, style_name, "")
end
end
subs[i] = line
end
aegisub.set_undo_point(script_name)
end
function test_colors(c1, c2)
return color_from_style(c1) == color_from_style(c2)
end
function get_script_style(style, styles)
for key, script_style in pairs(styles) do
if (test_colors(style.color1, script_style.color1)
and test_colors(style.color2, script_style.color2)
and test_colors(style.color3, script_style.color3)
and test_colors(style.color4, script_style.color4)
and tonumber(style.fontsize) == tonumber(script_style.fontsize)
and style.fontname == script_style.fontname) then
return script_style
end
end
return nil
end
function deduetto_meika(subs, sel)
local styles = {}
local last_style = -1
-- create the style map
for i, line in ipairs(subs) do
if line.class == "style" then
styles[line.name] = line
last_style = i
end
end
local new_styles = {}
for _, i in ipairs(sel) do
local line = subs[i]
local current_style = table.copy(styles[line.style])
local search_index = 1
while search_index < #line.text do
local match_start, match_end = line.text:find("{[^}]*}", search_index)
if match_start == nil then
break
end
local bracketed = line.text:sub(match_start, match_end)
local new_style = false
-- change style's colors
for tag, value in bracketed:gmatch("\\([1-4]?c)([^}\\]*)") do
new_style = true
if tag == "c" or tag == "1c" then
current_style.color1 = value
elseif tag == "2c" then
current_style.color2 = value
elseif tag == "3c" then
current_style.color3 = value
elseif tag == "4c" then
current_style.color4 = value
end
end
-- change style's font
for tag, value in bracketed:gmatch("\\(f[sn])([^}\\]*)") do
new_style = true
if tag == "fs" then
current_style.fontsize = value
elseif tag == "fn" then
current_style.fontname = value
end
end
if new_style then
local script_style = get_script_style(current_style, styles)
if script_style == nil then
if get_script_style(current_style, new_styles) == nil then
new_styles[#new_styles+1] = table.copy(current_style)
end
else
-- remove inline colors
bracketed = bracketed:gsub("\\[1-4]?c[^\\}]*", "")
bracketed = bracketed:gsub("\\[1-4]?a[^\\}]*", "")
-- remove inline fonts
bracketed = bracketed:gsub("\\f[sn][^\\}]*", "")
-- add style marker
bracketed = "{s:" .. script_style.name .. bracketed:sub(2, #bracketed)
line.text = line.text:sub(1, match_start-1) .. bracketed .. line.text:sub(match_end + 1, #line.text)
end
end
search_index = match_start + 1
end
subs[i] = line
end
if #new_styles > 0 then
for i, new_style in ipairs(new_styles) do
new_style.name = "Deduetto style " .. i
subs.insert(last_style, new_style)
last_style = last_style + 1
aegisub.log("Created new style: " .. new_style.name .. "\n")
end
end
end
aegisub.register_macro(script_name, script_description, duetto)
aegisub.register_macro(tr"Deduetto Meika", tr"Create styles from inline color tags", deduetto_meika)

View File

@ -0,0 +1,861 @@
--[[
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.
]]
-- Aegisub Automation 4 Lua karaoke templater tool
-- Parse and apply a karaoke effect written in ASS karaoke template language
-- See help file and wiki for more information on this
local tr = aegisub.gettext
script_name = tr"Karaoke Templater"
script_description = tr"Macro and export filter to apply karaoke effects using the template language"
script_author = "Niels Martin Hansen"
script_version = "2.1.7"
include("karaskel.lua")
-- Find and parse/prepare all karaoke template lines
function parse_templates(meta, styles, subs)
local templates = { once = {}, line = {}, syl = {}, char = {}, furi = {}, styles = {} }
local i = 1
while i <= #subs do
aegisub.progress.set((i-1) / #subs * 100)
local l = subs[i]
i = i + 1
if l.class == "dialogue" and l.comment then
local fx, mods = string.headtail(l.effect)
fx = fx:lower()
if fx == "code" then
parse_code(meta, styles, l, templates, mods)
elseif fx == "template" then
parse_template(meta, styles, l, templates, mods)
end
templates.styles[l.style] = true
elseif l.class == "dialogue" and l.effect == "fx" then
-- this is a previously generated effect line, remove it
i = i - 1
subs.delete(i)
end
end
aegisub.progress.set(100)
return templates
end
function parse_code(meta, styles, line, templates, mods)
local template = {
code = line.text,
loops = 1,
style = line.style
}
local inserted = false
local rest = mods
while rest ~= "" do
local m, t = string.headtail(rest)
rest = t
m = m:lower()
if m == "once" then
aegisub.debug.out(5, "Found run-once code line: %s\n", line.text)
table.insert(templates.once, template)
inserted = true
elseif m == "line" then
aegisub.debug.out(5, "Found per-line code line: %s\n", line.text)
table.insert(templates.line, template)
inserted = true
elseif m == "syl" then
aegisub.debug.out(5, "Found per-syl code line: %s\n", line.text)
table.insert(templates.syl, template)
inserted = true
elseif m == "furi" then
aegisub.debug.out(5, "Found per-syl code line: %s\n", line.text)
table.insert(templates.furi, template)
inserted = true
elseif m == "all" then
template.style = nil
elseif m == "noblank" then
template.noblank = true
elseif m == "repeat" or m == "loop" then
local times, t = string.headtail(rest)
template.loops = tonumber(times)
if not template.loops then
aegisub.debug.out(3, "Failed reading this repeat-count to a number: %s\nIn template code line: %s\nEffect field: %s\n\n", times, line.text, line.effect)
template.loops = 1
else
rest = t
end
else
aegisub.debug.out(3, "Unknown modifier in code template: %s\nIn template code line: %s\nEffect field: %s\n\n", m, line.text, line.effect)
end
end
if not inserted then
aegisub.debug.out(5, "Found implicit run-once code line: %s\n", line.text)
table.insert(templates.once, template)
end
end
-- List of reserved words that can't be used as "line" template identifiers
template_modifiers = {
"pre-line", "line", "syl", "furi", "char", "all", "repeat", "loop",
"notext", "keeptags", "noblank", "multi", "fx", "fxgroup"
}
function parse_template(meta, styles, line, templates, mods)
local template = {
t = "",
pre = "",
style = line.style,
loops = 1,
layer = line.layer,
addtext = true,
keeptags = false,
fxgroup = nil,
fx = nil,
multi = false,
isline = false,
perchar = false,
noblank = false
}
local inserted = false
local rest = mods
while rest ~= "" do
local m, t = string.headtail(rest)
rest = t
m = m:lower()
if (m == "pre-line" or m == "line") and not inserted then
aegisub.debug.out(5, "Found line template '%s'\n", line.text)
-- should really fail if already inserted
local id, t = string.headtail(rest)
id = id:lower()
-- check that it really is an identifier and not a keyword
for _, kw in pairs(template_modifiers) do
if id == kw then
id = nil
break
end
end
if id == "" then
id = nil
end
if id then
rest = t
end
-- get old template if there is one
if id and templates.line[id] then
template = templates.line[id]
elseif id then
template.id = id
templates.line[id] = template
else
table.insert(templates.line, template)
end
inserted = true
template.isline = true
-- apply text to correct string
if m == "line" then
template.t = template.t .. line.text
else -- must be pre-line
template.pre = template.pre .. line.text
end
elseif m == "syl" and not template.isline then
table.insert(templates.syl, template)
inserted = true
elseif m == "furi" and not template.isline then
table.insert(templates.furi, template)
inserted = true
elseif (m == "pre-line" or m == "line") and inserted then
aegisub.debug.out(2, "Unable to combine %s class templates with other template classes\n\n", m)
elseif (m == "syl" or m == "furi") and template.isline then
aegisub.debug.out(2, "Unable to combine %s class template lines with line or pre-line classes\n\n", m)
elseif m == "all" then
template.style = nil
elseif m == "repeat" or m == "loop" then
local times, t = string.headtail(rest)
template.loops = tonumber(times)
if not template.loops then
aegisub.debug.out(3, "Failed reading this repeat-count to a number: %s\nIn template line: %s\nEffect field: %s\n\n", times, line.text, line.effect)
template.loops = 1
else
rest = t
end
elseif m == "notext" then
template.addtext = false
elseif m == "keeptags" then
template.keeptags = true
elseif m == "multi" then
template.multi = true
elseif m == "char" then
template.perchar = true
elseif m == "noblank" then
template.noblank = true
elseif m == "fx" then
local fx, t = string.headtail(rest)
if fx ~= "" then
template.fx = fx
rest = t
else
aegisub.debug.out(3, "No fx name following fx modifier\nIn template line: %s\nEffect field: %s\n\n", line.text, line.effect)
template.fx = nil
end
elseif m == "fxgroup" then
local fx, t = string.headtail(rest)
if fx ~= "" then
template.fxgroup = fx
rest = t
else
aegisub.debug.out(3, "No fxgroup name following fxgroup modifier\nIn template linee: %s\nEffect field: %s\n\n", line.text, line.effect)
template.fxgroup = nil
end
else
aegisub.debug.out(3, "Unknown modifier in template: %s\nIn template line: %s\nEffect field: %s\n\n", m, line.text, line.effect)
end
end
if not inserted then
table.insert(templates.syl, template)
end
if not template.isline then
template.t = line.text
end
end
-- Iterator function, return all templates that apply to the given line
function matching_templates(templates, line, tenv)
local lastkey = nil
local function test_next()
local k, t = next(templates, lastkey)
lastkey = k
if not t then
return nil
elseif (t.style == line.style or not t.style) and
(not t.fxgroup or
(t.fxgroup and tenv.fxgroup[t.fxgroup] ~= false)) then
return t
else
return test_next()
end
end
return test_next
end
-- Iterator function, run a loop using tenv.j and tenv.maxj as loop controllers
function template_loop(tenv, initmaxj)
local oldmaxj = initmaxj
tenv.maxj = initmaxj
tenv.j = 0
local function itor()
if tenv.j >= tenv.maxj or aegisub.progress.is_cancelled() then
return nil
else
tenv.j = tenv.j + 1
if oldmaxj ~= tenv.maxj then
aegisub.debug.out(5, "Number of loop iterations changed from %d to %d\n", oldmaxj, tenv.maxj)
oldmaxj = tenv.maxj
end
return tenv.j, tenv.maxj
end
end
return itor
end
-- Apply the templates
function apply_templates(meta, styles, subs, templates)
-- the environment the templates will run in
local tenv = {
meta = meta,
-- put in some standard libs
string = string,
math = math,
_G = _G
}
tenv.tenv = tenv
-- Define helper functions in tenv
tenv.retime = function(mode, addstart, addend)
local line, syl = tenv.line, tenv.syl
local newstart, newend = line.start_time, line.end_time
addstart = addstart or 0
addend = addend or 0
if mode == "syl" then
newstart = line.start_time + syl.start_time + addstart
newend = line.start_time + syl.end_time + addend
elseif mode == "presyl" then
newstart = line.start_time + syl.start_time + addstart
newend = line.start_time + syl.start_time + addend
elseif mode == "postsyl" then
newstart = line.start_time + syl.end_time + addstart
newend = line.start_time + syl.end_time + addend
elseif mode == "line" then
newstart = line.start_time + addstart
newend = line.end_time + addend
elseif mode == "preline" then
newstart = line.start_time + addstart
newend = line.start_time + addend
elseif mode == "postline" then
newstart = line.end_time + addstart
newend = line.end_time + addend
elseif mode == "start2syl" then
newstart = line.start_time + addstart
newend = line.start_time + syl.start_time + addend
elseif mode == "syl2end" then
newstart = line.start_time + syl.end_time + addstart
newend = line.end_time + addend
elseif mode == "set" or mode == "abs" then
newstart = addstart
newend = addend
elseif mode == "sylpct" then
newstart = line.start_time + syl.start_time + addstart*syl.duration/100
newend = line.start_time + syl.start_time + addend*syl.duration/100
-- wishlist: something for fade-over effects,
-- "time between previous line and this" and
-- "time between this line and next"
end
line.start_time = newstart
line.end_time = newend
line.duration = newend - newstart
return ""
end
tenv.fxgroup = {}
tenv.relayer = function(layer)
tenv.line.layer = layer
return ""
end
tenv.restyle = function(style)
tenv.line.style = style
tenv.line.styleref = styles[style]
return ""
end
tenv.maxloop = function(newmaxj)
tenv.maxj = newmaxj
return ""
end
tenv.maxloops = tenv.maxloop
tenv.loopctl = function(newj, newmaxj)
tenv.j = newj
tenv.maxj = newmaxj
return ""
end
tenv.recall = {}
setmetatable(tenv.recall, {
decorators = {},
__call = function(tab, name, default)
local decorator = getmetatable(tab).decorators[name]
if decorator then
name = decorator(tostring(name))
end
aegisub.debug.out(5, "Recalling '%s'\n", name)
return tab[name] or default
end,
decorator_line = function(name)
return string.format("_%s_%s", tostring(tenv.orgline), name)
end,
decorator_syl = function(name)
return string.format("_%s_%s", tostring(tenv.syl), name)
end,
decorator_basesyl = function(name)
return string.format("_%s_%s", tostring(tenv.basesyl), name)
end
})
tenv.remember = function(name, value, decorator)
getmetatable(tenv.recall).decorators[name] = decorator
if decorator then
name = decorator(tostring(name))
end
aegisub.debug.out(5, "Remembering '%s' as '%s'\n", name, tostring(value))
tenv.recall[name] = value
return value
end
tenv.remember_line = function(name, value)
return tenv.remember(name, value, getmetatable(tenv.recall).decorator_line)
end
tenv.remember_syl = function(name, value)
return tenv.remember(name, value, getmetatable(tenv.recall).decorator_syl)
end
tenv.remember_basesyl = function(name, value)
return tenv.remember(name, value, getmetatable(tenv.recall).decorator_basesyl)
end
tenv.remember_if = function(name, value, condition, decorator)
if condition then
return tenv.remember(name, value, decorator)
end
return value
end
-- run all run-once code snippets
for k, t in pairs(templates.once) do
assert(t.code, "WTF, a 'once' template without code?")
run_code_template(t, tenv)
end
-- start processing lines
local i, n = 0, #subs
while i < n do
aegisub.progress.set(i/n*100)
i = i + 1
local l = subs[i]
if l.class == "dialogue" and ((l.effect == "" and not l.comment) or l.effect:match("[Kk]araoke")) then
l.i = i
l.comment = false
karaskel.preproc_line(subs, meta, styles, l)
if apply_line(meta, styles, subs, l, templates, tenv) then
-- Some templates were applied to this line, make a karaoke timing line of it
l.comment = true
l.effect = "karaoke"
subs[i] = l
end
end
end
end
function set_ctx_syl(varctx, line, syl)
varctx.sstart = syl.start_time
varctx.send = syl.end_time
varctx.sdur = syl.duration
varctx.skdur = syl.duration / 10
varctx.smid = syl.start_time + syl.duration / 2
varctx["start"] = varctx.sstart
varctx["end"] = varctx.send
varctx.dur = varctx.sdur
varctx.kdur = varctx.skdur
varctx.mid = varctx.smid
varctx.si = syl.i
varctx.i = varctx.si
varctx.sleft = math.floor(line.left + syl.left+0.5)
varctx.scenter = math.floor(line.left + syl.center+0.5)
varctx.sright = math.floor(line.left + syl.right+0.5)
varctx.swidth = math.floor(syl.width + 0.5)
if syl.isfuri then
varctx.sbottom = varctx.ltop
varctx.stop = math.floor(varctx.ltop - syl.height + 0.5)
varctx.smiddle = math.floor(varctx.ltop - syl.height/2 + 0.5)
else
varctx.stop = varctx.ltop
varctx.smiddle = varctx.lmiddle
varctx.sbottom = varctx.lbottom
end
varctx.sheight = syl.height
if line.halign == "left" then
varctx.sx = math.floor(line.left + syl.left + 0.5)
elseif line.halign == "center" then
varctx.sx = math.floor(line.left + syl.center + 0.5)
elseif line.halign == "right" then
varctx.sx = math.floor(line.left + syl.right + 0.5)
end
if line.valign == "top" then
varctx.sy = varctx.stop
elseif line.valign == "middle" then
varctx.sy = varctx.smiddle
elseif line.valign == "bottom" then
varctx.sy = varctx.sbottom
end
varctx.left = varctx.sleft
varctx.center = varctx.scenter
varctx.right = varctx.sright
varctx.width = varctx.swidth
varctx.top = varctx.stop
varctx.middle = varctx.smiddle
varctx.bottom = varctx.sbottom
varctx.height = varctx.sheight
varctx.x = varctx.sx
varctx.y = varctx.sy
end
function apply_line(meta, styles, subs, line, templates, tenv)
-- Tell whether any templates were applied to this line, needed to know whether the original line should be removed from input
local applied_templates = false
-- General variable replacement context
local varctx = {
layer = line.layer,
lstart = line.start_time,
lend = line.end_time,
ldur = line.duration,
lmid = line.start_time + line.duration/2,
style = line.style,
actor = line.actor,
margin_l = ((line.margin_l > 0) and line.margin_l) or line.styleref.margin_l,
margin_r = ((line.margin_r > 0) and line.margin_r) or line.styleref.margin_r,
margin_t = ((line.margin_t > 0) and line.margin_t) or line.styleref.margin_t,
margin_b = ((line.margin_b > 0) and line.margin_b) or line.styleref.margin_b,
margin_v = ((line.margin_t > 0) and line.margin_t) or line.styleref.margin_t,
syln = line.kara.n,
li = line.i,
lleft = math.floor(line.left+0.5),
lcenter = math.floor(line.left + line.width/2 + 0.5),
lright = math.floor(line.left + line.width + 0.5),
lwidth = math.floor(line.width + 0.5),
ltop = math.floor(line.top + 0.5),
lmiddle = math.floor(line.middle + 0.5),
lbottom = math.floor(line.bottom + 0.5),
lheight = math.floor(line.height + 0.5),
lx = math.floor(line.x+0.5),
ly = math.floor(line.y+0.5)
}
tenv.orgline = line
tenv.line = nil
tenv.syl = nil
tenv.basesyl = nil
-- Apply all line templates
aegisub.debug.out(5, "Running line templates\n")
for t in matching_templates(templates.line, line, tenv) do
if aegisub.progress.is_cancelled() then break end
-- Set varctx for per-line variables
varctx["start"] = varctx.lstart
varctx["end"] = varctx.lend
varctx.dur = varctx.ldur
varctx.kdur = math.floor(varctx.dur / 10)
varctx.mid = varctx.lmid
varctx.i = varctx.li
varctx.left = varctx.lleft
varctx.center = varctx.lcenter
varctx.right = varctx.lright
varctx.width = varctx.lwidth
varctx.top = varctx.ltop
varctx.middle = varctx.lmiddle
varctx.bottom = varctx.lbottom
varctx.height = varctx.lheight
varctx.x = varctx.lx
varctx.y = varctx.ly
for j, maxj in template_loop(tenv, t.loops) do
if t.code then
aegisub.debug.out(5, "Code template, %s\n", t.code)
tenv.line = line
-- Although run_code_template also performs template looping this works
-- by "luck", since by the time the first loop of this outer loop completes
-- the one run by run_code_template has already performed all iterations
-- and has tenv.j and tenv.maxj in a loop-ending state, causing the outer
-- loop to only ever run once.
run_code_template(t, tenv)
else
aegisub.debug.out(5, "Line template, pre = '%s', t = '%s'\n", t.pre, t.t)
applied_templates = true
local newline = table.copy(line)
tenv.line = newline
newline.layer = t.layer
newline.text = ""
if t.pre ~= "" then
newline.text = newline.text .. run_text_template(t.pre, tenv, varctx)
end
if t.t ~= "" then
for i = 1, line.kara.n do
local syl = line.kara[i]
tenv.syl = syl
tenv.basesyl = syl
set_ctx_syl(varctx, line, syl)
newline.text = newline.text .. run_text_template(t.t, tenv, varctx)
if t.addtext then
if t.keeptags then
newline.text = newline.text .. syl.text
else
newline.text = newline.text .. syl.text_stripped
end
end
end
else
-- hmm, no main template for the line... put original text in
if t.keeptags then
newline.text = newline.text .. line.text
else
newline.text = newline.text .. line.text_stripped
end
end
newline.effect = "fx"
subs.append(newline)
end
end
end
aegisub.debug.out(5, "Done running line templates\n\n")
-- Loop over syllables
for i = 0, line.kara.n do
if aegisub.progress.is_cancelled() then break end
local syl = line.kara[i]
aegisub.debug.out(5, "Applying templates to syllable: %s\n", syl.text)
if apply_syllable_templates(syl, line, templates.syl, tenv, varctx, subs) then
applied_templates = true
end
end
-- Loop over furigana
for i = 1, line.furi.n do
if aegisub.progress.is_cancelled() then break end
local furi = line.furi[i]
aegisub.debug.out(5, "Applying templates to furigana: %s\n", furi.text)
if apply_syllable_templates(furi, line, templates.furi, tenv, varctx, subs) then
applied_templates = true
end
end
return applied_templates
end
function run_code_template(template, tenv)
local f, err = loadstring(template.code, "template code")
if not f then
aegisub.debug.out(2, "Failed to parse Lua code: %s\nCode that failed to parse: %s\n\n", err, template.code)
aegisub.cancel()
else
local pcall = pcall
setfenv(f, tenv)
for j, maxj in template_loop(tenv, template.loops) do
local res, err = pcall(f)
if not res then
aegisub.debug.out(2, "Runtime error in template code: %s\nCode producing error: %s\n\n", err, template.code)
aegisub.cancel()
end
end
end
end
function run_text_template(template, tenv, varctx)
local res = template
aegisub.debug.out(5, "Running text template '%s'\n", res)
-- Replace the variables in the string (this is probably faster than using a custom function, but doesn't provide error reporting)
if varctx then
aegisub.debug.out(5, "Has varctx, replacing variables\n")
local function var_replacer(varname)
varname = string.lower(varname)
aegisub.debug.out(5, "Found variable named '%s', ", varname)
if varctx[varname] ~= nil then
aegisub.debug.out(5, "it exists, value is '%s'\n", varctx[varname])
return varctx[varname]
else
aegisub.debug.out(5, "doesn't exist\n")
aegisub.debug.out(2, "Unknown variable name: %s\nIn karaoke template: %s\n\n", varname, template)
return "$" .. varname
end
end
res = string.gsub(res, "$([%a_]+)", var_replacer)
aegisub.debug.out(5, "Done replacing variables, new template string is '%s'\n", res)
end
-- Function for evaluating expressions
local function expression_evaluator(expression)
f, err = loadstring(string.format("return (%s)", expression))
if (err) ~= nil then
aegisub.debug.out(2, "Error parsing expression: %s\nExpression producing error: %s\nTemplate with expression: %s\n\n", err, expression, template)
aegisub.cancel()
else
setfenv(f, tenv)
local res, val = pcall(f)
if res then
return val
else
aegisub.debug.out(2, "Runtime error in template expression: %s\nExpression producing error: %s\nTemplate with expression: %s\n\n", val, expression, template)
aegisub.cancel()
end
end
end
-- Find and evaluate expressions
aegisub.debug.out(5, "Now evaluating expressions\n")
res = string.gsub(res , "!(.-)!", expression_evaluator)
aegisub.debug.out(5, "After evaluation: %s\nDone handling template\n\n", res)
return res
end
function apply_syllable_templates(syl, line, templates, tenv, varctx, subs)
local applied = 0
-- Loop over all templates matching the line style
for t in matching_templates(templates, line, tenv) do
if aegisub.progress.is_cancelled() then break end
tenv.syl = syl
tenv.basesyl = syl
set_ctx_syl(varctx, line, syl)
applied = applied + apply_one_syllable_template(syl, line, t, tenv, varctx, subs, false, false)
end
return applied > 0
end
function is_syl_blank(syl)
if syl.duration <= 0 then
return true
end
-- try to remove common spacing characters
local t = syl.text_stripped
if t:len() <= 0 then return true end
t = t:gsub("[ \t\n\r]", "") -- regular ASCII space characters
t = t:gsub(" ", "") -- fullwidth space
return t:len() <= 0
end
function apply_one_syllable_template(syl, line, template, tenv, varctx, subs, skip_perchar, skip_multi)
if aegisub.progress.is_cancelled() then return 0 end
local t = template
local applied = 0
aegisub.debug.out(5, "Applying template to one syllable with text: %s\n", syl.text)
-- Check for right inline_fx
if t.fx and t.fx ~= syl.inline_fx then
aegisub.debug.out(5, "Syllable has wrong inline-fx (wanted '%s', got '%s'), skipping.\n", t.fx, syl.inline_fx)
return 0
end
if t.noblank and is_syl_blank(syl) then
aegisub.debug.out(5, "Syllable is blank, skipping.\n")
return 0
end
-- Recurse to per-char if required
if not skip_perchar and t.perchar then
aegisub.debug.out(5, "Doing per-character effects...\n")
local charsyl = table.copy(syl)
tenv.syl = charsyl
local left, width = syl.left, 0
for c in unicode.chars(syl.text_stripped) do
charsyl.text = c
charsyl.text_stripped = c
charsyl.text_spacestripped = c
charsyl.prespace, charsyl.postspace = "", "" -- for whatever anyone might use these for
width = aegisub.text_extents(syl.style, c)
charsyl.left = left
charsyl.center = left + width/2
charsyl.right = left + width
charsyl.prespacewidth, charsyl.postspacewidth = 0, 0 -- whatever...
left = left + width
set_ctx_syl(varctx, line, charsyl)
applied = applied + apply_one_syllable_template(charsyl, line, t, tenv, varctx, subs, true, false)
end
return applied
end
-- Recurse to multi-hl if required
if not skip_multi and t.multi then
aegisub.debug.out(5, "Doing multi-highlight effects...\n")
local hlsyl = table.copy(syl)
tenv.syl = hlsyl
for hl = 1, syl.highlights.n do
local hldata = syl.highlights[hl]
hlsyl.start_time = hldata.start_time
hlsyl.end_time = hldata.end_time
hlsyl.duration = hldata.duration
set_ctx_syl(varctx, line, hlsyl)
applied = applied + apply_one_syllable_template(hlsyl, line, t, tenv, varctx, subs, true, true)
end
return applied
end
-- Regular processing
if t.code then
aegisub.debug.out(5, "Running code line\n")
tenv.line = line
run_code_template(t, tenv)
else
aegisub.debug.out(5, "Running %d effect loops\n", t.loops)
for j, maxj in template_loop(tenv, t.loops) do
local newline = table.copy(line)
newline.styleref = syl.style
newline.style = syl.style.name
newline.layer = t.layer
tenv.line = newline
newline.text = run_text_template(t.t, tenv, varctx)
if t.keeptags then
newline.text = newline.text .. syl.text
elseif t.addtext then
newline.text = newline.text .. syl.text_stripped
end
newline.effect = "fx"
aegisub.debug.out(5, "Generated line with text: %s\n", newline.text)
subs.append(newline)
applied = applied + 1
end
end
return applied
end
-- Main function to do the templating
function filter_apply_templates(subs, config)
aegisub.progress.task("Collecting header data...")
local meta, styles = karaskel.collect_head(subs, true)
aegisub.progress.task("Parsing templates...")
local templates = parse_templates(meta, styles, subs)
aegisub.progress.task("Applying templates...")
apply_templates(meta, styles, subs, templates)
end
function macro_apply_templates(subs, sel)
filter_apply_templates(subs, {ismacro=true, sel=sel})
aegisub.set_undo_point("apply karaoke template")
end
function macro_can_template(subs)
-- check if this file has templates in it, don't allow running the macro if it hasn't
local num_dia = 0
for i = 1, #subs do
local l = subs[i]
if l.class == "dialogue" then
num_dia = num_dia + 1
-- test if the line is a template
if (string.headtail(l.effect)):lower() == "template" then
return true
end
-- don't try forever, this has to be fast
if num_dia > 50 then
return false
end
end
end
return false
end
aegisub.register_macro(tr"Apply karaoke template", tr"Applies karaoke effects from templates", macro_apply_templates, macro_can_template)
aegisub.register_filter(tr"Karaoke template", tr"Apply karaoke effect templates to the subtitles.\n\nSee the help file for information on how to use this.", 2000, filter_apply_templates)

View File

@ -0,0 +1,176 @@
local tr = aegisub.gettext
script_name = tr"Karaoke 1sec adjust lead-in"
script_description = tr"Adjust karaoke leadin to 1sec"
script_author = "Flore"
script_version = "1.00"
include("cleantags.lua")
leadinmsec = 1000 --lead in time can be changed here
ktag = "\\[kK][fo]?%d+" --pattern used to detect karaoke tags
-- KM template line definition
km_template_effect = "template pre-line all keeptags"
km_template_text = '!retime("line",$start < 900 and -$start or -900,200)!{!$start < 900 and "\\\\k" .. ($start/10) or "\\\\k90"!\\fad(!$start < 900 and $start or 300!,200)}'
function hasleadin(line)--check if there is an existing lead in (2 consecutive bracket with karaoke tags at the start of the line)
return line.text:find("^{[^{}]-" .. ktag .. "[^{}]-}%s*{[^{}]-" .. ktag .. "[^{}]-}")
end
function removeleadin(line)
if not hasleadin(line) then
return line
end
leadin = tonumber( line.text:match("^{[^{}]-\\[kK][fo]?(%d+)[^{}]-}%s*{[^{}]-" .. ktag .. "[^{}]-}") ) --read lead-in value
line.text = line.text:gsub("^({[^{}]-)\\[kK][fo]?%d+(.-}%s*{[^{}]-" .. ktag .. ".-})","%1%2") --remove lead in
line.text = cleantags(line.text) --clean tags
line.start_time = line.start_time + leadin*10 --adjust start time
--aegisub.log(line.text)
return line
end
function adjust_1sec(subs, sel)
for _, i in ipairs(sel) do
local line = subs[i]
line.text = cleantags(line.text)
if( line.text:find(ktag)) then--don't do anything if there is no ktags in this line
--start by removing existing lead-in
while hasleadin(line) do
if aegisub.progress.is_cancelled() then return end
line = removeleadin(line)
end
--then add our lead in
if line.start_time >= leadinmsec then
line.text = string.format("{\\k%d}%s",leadinmsec/10, line.text)
line.start_time = line.start_time - leadinmsec
else --if line starts too early to put the needed lead in, make the line start at time 0 and fill with appropriate lead in
line.text = string.format("{\\k%d}%s",line.start_time/10, line.text)
line.start_time = 0
end
subs[i] = line
end
end
aegisub.set_undo_point(tr"1sec adjust lead-in")
end
function remove_tag(line, tag)
local expr = "^(.-{[^}]*)\\" .. tag .. "[^\\}]*(.*)"
while true do
before, after = line.text:match(expr)
if before == nil then
return line
else
line.text = cleantags(before .. after)
end
end
end
function is_template_line(line)
return (line.class == "dialogue"
and line.effect == km_template_effect
and line.text == km_template_text)
end
function mugenizer(subs)
local first = nil
local styles_different = false
local styles = 0
local i_styles = {}
local template_present = false
for i, line in ipairs(subs) do
if line.class == "info" then
if line.key == "PlayResX" or line.key == "PlayResY" then
line.value = "0"
end
if line.key == "ScaledBorderAndShadow" then
line.value = "yes"
end
end
if line.class == "style" then
line.fontname = "Arial"
line.fontsize = "24"
line.outline = "1.5"
line.shadow = "0"
line.margin_l = "15"
line.margin_r = "15"
line.margin_t = "20"
line.margin_b = "20"
i_styles[styles] = i
if styles > 0 then
styles_different = styles_different or line.color1 ~= subs[i_styles[styles-1]].color1 or line.color2 ~= subs[i_styles[styles-1]].color2 or line.color3 ~= subs[i_styles[styles-1]].color3 or line.color4 ~= subs[i_styles[styles-1]].color4
end
styles = styles + 1
end
if is_template_line(line) then
line.comment = true
template_present = true
end
if line.class == "dialogue" and not line.comment and line.effect ~= "fx" then
if first == nil then
first = i
end
line.text = cleantags(line.text)
while hasleadin(line) do
if aegisub.progress.is_cancelled() then return end
line = removeleadin(line)
end
line = remove_tag(line, "fad")
end
subs[i] = line
end
if not styles_different then
for i = 0, styles-1, 1 do
line = subs[i_styles[i]]
line.color1 = "&H008AFF"
line.color2 = "&HFFFFFF"
line.color3 = "&H000000"
line.color4 = "&H000000"
subs[i_styles[i]] = line
end
end
if not template_present then
-- add mugen's magic line
line = subs[first]
line.comment = true
line.start_time = 0
line.end_time = 0
line.effect = km_template_effect
line.text = km_template_text
subs.insert(first, line)
end
end
aegisub.register_macro(script_name, script_description, adjust_1sec)
aegisub.register_macro(tr"Mugenizer", tr"Mugenize your subs", mugenizer)

View File

@ -0,0 +1,79 @@
--[[
Copyright (c) 2007, 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.
]]
local tr = aegisub.gettext
script_name = tr"Automatic karaoke lead-in"
script_description = tr"Join up the ends of selected lines and add \\k tags to shift karaoke"
script_author = "Niels Martin Hansen"
script_version = "1.0"
function add_auto_leadin(subs, sel)
-- Smallest inter-line duration
local min_interdur = nil
for i = 2, #sel do
-- Grab two selected lines
local A = subs[sel[i-1]]
local B = subs[sel[i]]
-- Blank duration between lines
local interdur = B.start_time - A.end_time
if interdur > 0 then
-- Update smallest inter-line duration
if not min_interdur or interdur < min_interdur then
min_interdur = interdur
end
B.start_time = A.end_time
B.text = string.format("{\\k%d}%s", interdur/10, B.text)
subs[sel[i]] = B
else
aegisub.debug.out(2, "Warning: Skipping line-pair with zero or negative inter-duration:\n%s\n%s\n\n", A.text, B.text)
end
end
if min_interdur then
aegisub.debug.out(0, "Smallest inter-line duration: %d milliseconds", min_interdur)
aegisub.set_undo_point(script_name)
else
aegisub.debug.out(2, "Warning: No lines modified")
end
end
function check_minsel_2(subs, sel)
return #sel >= 2
end
aegisub.register_macro(script_name, script_description, add_auto_leadin, check_minsel_2)

View File

@ -0,0 +1,48 @@
local tr = aegisub.gettext
script_name = tr"Split karaoke line"
script_description = tr"Split line at {split} marker according to ktags"
script_author = "amoethyst"
script_version = "1.0"
function split_line(subs, sel)
function getduration(line)
d = 0
kduration = "{[^}]-\\[kK][fo]?(%d+)[^}]-}"
for match in line:gmatch(kduration) do
d = d + tonumber(match)
end
return d * 10
end
insertions = 0
for _, i in ipairs(sel) do
i = i + insertions
line1 = subs[i]
line2 = subs[i]
split_expr = "(.-)%s*{split}%s*(.*)"
line1.text, line2.text = line1.text:match(split_expr)
while line1.text ~= nil do
line1.end_time = line1.start_time + getduration(line1.text)
line2.start_time = line1.end_time
subs[i] = line1
i = i + 1
insertions = insertions + 1
subs.insert(i, line2)
line1 = subs[i]
line1.text, line2.text = line1.text:match(split_expr)
end
end
aegisub.set_undo_point(tr"Karaoke split")
end
aegisub.register_macro(script_name, script_description, split_line)

View File

@ -0,0 +1,39 @@
local tr = aegisub.gettext
script_name = tr"kf"
script_description = tr"add kf tag for 'long' syllables"
script_author = "amoethyst"
script_version = "1.0"
function split_line(subs, sel)
local expr_k = "(.-{[^}]*\\)[kK][of]?(%d+)([^{]*)"
local before, after, dur, text
for _, i in ipairs(sel) do
line = subs[i]
-- replace k tags
text = ""
for before, dur, after in line.text:gmatch(expr_k) do
if before == nil then
break
else
if tonumber(dur) >= 90 then
text = text .. before .. "kf" .. dur .. after
else
text = text .. before .. "k" .. dur .. after
end
end
end
if text ~= "" then
line.text = text
subs[i] = line
end
end
aegisub.set_undo_point(script_name)
end
aegisub.register_macro(script_name, script_description, split_line)

View File

@ -0,0 +1,21 @@
-- Automation 4 demo script
-- Macro that adds \be1 tags in front of every selected line
local tr = aegisub.gettext
script_name = tr"Add edgeblur"
script_description = tr"A demo macro showing how to do simple line modification in Automation 4"
script_author = "Niels Martin Hansen"
script_version = "1"
function add_edgeblur(subtitles, selected_lines, active_line)
for z, i in ipairs(selected_lines) do
local l = subtitles[i]
l.text = "{\\be1}" .. l.text
subtitles[i] = l
end
aegisub.set_undo_point(script_name)
end
aegisub.register_macro(script_name, tr"Adds \\be1 tags to all selected lines", add_edgeblur)

View File

@ -0,0 +1,80 @@
-- Automation 4 demo script
-- Converts halfwidth (ASCII) Latin letters to fullwidth JIS Latin letters
local tr = aegisub.gettext
script_name = tr("Make text fullwidth")
script_description = tr("Shows how to use the unicode include to iterate over characters and a lookup table to convert those characters to something else.")
script_author = "Niels Martin Hansen"
script_version = "1"
include("unicode.lua")
lookup = {
['!'] = '', ['"'] = '', ['#'] = '', ['$'] = '',
['%'] = '', ['&'] = '', ["'"] = '', ['('] = '',
[')'] = '', ['*'] = '', ['+'] = '', [','] = '',
['-'] = '', ['.'] = '', ['/'] = '',
['1'] = '', ['2'] = '', ['3'] = '', ['4'] = '',
['5'] = '', ['6'] = '', ['7'] = '', ['8'] = '',
['9'] = '', ['0'] = '',
[':'] = '', [';'] = '', ['<'] = '', ['='] = '',
['>'] = '', ['?'] = '', ['@'] = '',
['A'] = '', ['B'] = '', ['C'] = '', ['D'] = '',
['E'] = '', ['F'] = '', ['G'] = '', ['H'] = '',
['I'] = '', ['J'] = '', ['K'] = '', ['L'] = '',
['M'] = '', ['N'] = '', ['O'] = '', ['P'] = '',
['Q'] = '', ['R'] = '', ['S'] = '', ['T'] = '',
['U'] = '', ['V'] = '', ['W'] = '', ['X'] = '',
['Y'] = '', ['Z'] = '',
['['] = '', ['\\'] = '', [']'] = '', ['^'] = '',
['a'] = '', ['b'] = '', ['c'] = '', ['d'] = '',
['e'] = '', ['f'] = '', ['g'] = '', ['h'] = '',
['i'] = '', ['j'] = '', ['k'] = '', ['l'] = '',
['m'] = '', ['n'] = '', ['o'] = '', ['p'] = '',
['q'] = '', ['r'] = '', ['s'] = '', ['t'] = '',
['u'] = '', ['v'] = '', ['w'] = '', ['x'] = '',
['y'] = '', ['z'] = '',
['_'] = '_', ['`'] = '',
['{'] = '', ['|'] = '', ['}'] = '', ['~'] = '',
}
function make_fullwidth(subtitles, selected_lines, active_line)
for z, i in ipairs(selected_lines) do
local l = subtitles[i]
aegisub.debug.out(string.format('Processing line %d: "%s"\n', i, l.text))
aegisub.debug.out("Chars: \n")
local in_tags = false
local newtext = ""
for c in unicode.chars(l.text) do
aegisub.debug.out(c .. ' -> ')
if c == "{" then
in_tags = true
end
if in_tags then
aegisub.debug.out(c .. " (ignored, in tags)\n")
newtext = newtext .. c
else
if lookup[c] then
aegisub.debug.out(lookup[c] .. " (converted)\n")
newtext = newtext .. lookup[c]
else
aegisub.debug.out(c .. " (not found in lookup)\n")
newtext = newtext .. c
end
end
if c == "}" then
in_tags = false
end
end
l.text = newtext
subtitles[i] = l
end
aegisub.set_undo_point(tr"Make fullwidth")
end
aegisub.register_macro(tr"Make fullwidth", tr"Convert Latin letters to SJIS fullwidth letters", make_fullwidth)

View File

@ -0,0 +1,51 @@
-- Copyright (c) 2013, 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.
tr = aegisub.gettext
export script_name = tr"Select overlaps"
export script_description = tr"Select lines which begin while another non-comment line is active"
export script_author = "Thomas Goyne"
export script_version = "2"
select_overlaps = (subs, selection) ->
is_dialogue = (line) ->
line.class == "dialogue" and not line.comment
-- Attach the original index to each line so that we know what to update in
-- the subs object after sorting by time
prepare = (i, line) ->
line.i = i
line
-- Filter subtitles lines to just dialogue lines and sort them by time
dialogue = if #selection <= 1
[prepare i, line for i, line in ipairs subs when is_dialogue line]
else
[prepare i, subs[i] for i in *selection when is_dialogue subs[i]]
table.sort dialogue, (a,b) ->
a.start_time < b.start_time or (a.start_time == b.start_time and a.i < b.i)
end_time = 0
overlaps = {}
for line in *dialogue
if line.start_time >= end_time
end_time = line.end_time
else
table.insert overlaps, line.i
overlaps
aegisub.register_macro script_name, script_description, select_overlaps

View File

@ -0,0 +1,32 @@
-- 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.
local tr = aegisub.gettext
script_name = tr"Strip tags"
script_description = tr"Remove all override tags from selected lines"
script_author = "Thomas Goyne"
script_version = "1"
function strip_tags(subs, sel)
for _, i in ipairs(sel) do
local line = subs[i]
line.text = line.text:gsub("{[^}]+}", "")
subs[i] = line
end
aegisub.set_undo_point(tr"strip tags")
end
aegisub.register_macro(script_name, script_description, strip_tags)

View File

@ -0,0 +1,43 @@
local tr = aegisub.gettext
script_name = tr"unkf"
script_description = tr"replace kf/ko tags in selected lines by regular k tags"
script_author = "amoethyst"
script_version = "1.0"
function split_line(subs, sel)
local expr_kof = "^(.-{[^}]*\\k)[of](.*)$"
local expr_K = "^(.-{[^}]*\\)K(.*)$"
local before, after
for _, i in ipairs(sel) do
line = subs[i]
-- replace ko and kf tags
while true do
before, after = line.text:match(expr_kof)
if before == nil then
break
else
line.text = before .. after
end
end
-- replace K tags
while true do
before, after = line.text:match(expr_K)
if before == nil then
break
else
line.text = before .. "k" .. after
end
end
subs[i] = line
end
aegisub.set_undo_point(script_name)
end
aegisub.register_macro(script_name, script_description, split_line)

View File

@ -0,0 +1,55 @@
local tr = aegisub.gettext
script_name = tr"Nihongo wa muzukashii"
script_description = tr"Turn your \"o e\"s into \"wo he\"s"
script_author = "amoethyst"
script_version = "1.0"
function wohe(subs, sel)
-- "Unfortunately Lua patterns do not support this, only single characters can be repeated or chosen between, not sub-patterns or strings"
-- well, fuck
local exprs = {
"^(.* {[^}]*})([oe])({[^}]*} .*)$",
"^(.* )([oe])({[^}]*} .*)$",
"^(.* {[^}]*})([oe])( .*)$",
"^(.* )([oe])( .*)$",
"^()([oe])( .*)$",
}
for _, i in ipairs(sel) do
line = subs[i]
line.text = line.text .. " "
for _, expr in ipairs(exprs) do
local before, o_or_e, after = line.text:match(expr)
while o_or_e ~= nil do
line.text = ""
if before ~= nil then
line.text = before
end
if o_or_e == "o" then
line.text = line.text .. "wo"
else
line.text = line.text .. "he"
end
if after ~= nil then
line.text = line.text .. after
end
before, o_or_e, after = line.text:match(expr)
end
end
line.text = line.text:gsub(" $", "")
subs[i] = line
end
end
aegisub.register_macro(script_name, script_description, wohe)

View File

@ -1,548 +0,0 @@
Aegisub Automation documentation
Version 3
Copyright 2005 Niels Martin Hansen.
---
This document describes version 3 of the automation system used in Aegisub.
The automation system uses the Lua language for scripting engine.
See <http://www.lua.org/> for more information.
---
What is Automation?
Aegisub Automation is a scripting system designed to automate many processing
tasks of ASS subtitles, instead of using tedious, error-prone manual
processing. The primary purpose is creating karaoke effects for anime fansubs.
The Automation script is given the complete subtitle data from a subtitle
file, in a format suited for creating special effects.
The script will return a complete substiture for the original subtitle
data, allowing full freedom of processing.
A number of helper functions are provided, to aid in finding errors in
scripts, as well as retrieve further data about the subtitles, needed to
created advanced effects.
---
Scripts, files, functions:
A script is a file containing Lua code. One file can define just one script,
but several scripts can share code by the help of including other files.
All scripts are run in a separate interpreter, and as such don't have any way
of interacting with other loaded scripts.
All strings in a script should be in UTF-8 encoding, without byte-order mark.
All strings input to a script are encoded as UTF-8.
Script files may start with an UTF-8 BOM (byte-order mark) or not, but this
is currently not well tested.
A script must define certain global variables:
version
Number. Version of the scripting interface used.
The version described in this file is 3.
To comply with version 3, version must be: 3 <= version < 4
kind
String. Not used, but mandatory. Set it to "basic_ass" for now.
name
String. Displayed name of the script.
description
String. Optional. Long description of the script.
process_lines
Function. The main script function.
configuration
Table. Optional. Configuration options for the script.
The functions are described in detail in the following.
The script may define further global variables, but they do not have any
special meaning. Be aware, however, that later versions of the scripting
system might define further global variables with special meanings, so be
careful choosing names for private use globals.
It's recommended to prefix private global variables with "p_"; the scripting
system will never assign special meanings to global variables with that
prefix.
The scripting system defines a global variable with name "aegisub", which
contains important values. You should not hide the "aegisub" variable.
---
The processing function:
The processing function is the heart of the script.
It takes as input some meta-information about the subtitles, the styles
used in the subtitles, as well as the actual subtitle data to process.
The output is a set of subtitle data in the same format as the input.
The output subtitle data will be used as a complete replacement of the
input data.
Future versions might allow modifying style data and meta data as well.
The processing function is defined as follows:
function process_lines(meta, styles, lines, config)
The arguments are:
@meta
Table. Meta information about the script. (Script Info section.)
@styles
Table. Style definitions. (V4+ Styles section.)
@lines
Table. Subtitle events. (Events section.)
@config
Table. Values set for the configuration options provided. If no
configuration options were provided, this will be an empty table.
Returns: One value.
This value must be a table, using the same format as @lines.
Note that the indexes in the return value may be either zero-based or
one-based, to allow for greater compatibility. You are encouraged to
use one-based indexes.
Description of @meta:
This is a table with the following keys:
res_x
Horizontal resolution of the script.
res_y
Vertical resolution of the script.
Description of @styles:
This is a table with the following keys:
-1
Number. The amount of styles defined, called "n".
0 -> n-1
Table. The actual style definitions.
<string "name">
Table. The style definition with the specified name.
The key -1 is used for count rather than "n", since one might have a style
definition with the name "n".
A style definition is a table with the following keys:
name
String. Name of the style.
fontname
String. Name of the font used.
fontsize
Number. Size of the font used.
color1
String. Primary color.
All color fields use raw hexadecimal format, that is, no special characters
before or after the hex string.
color2
String. Secondary color.
color3
String. Outline color.
color4
String. Shadow color.
bold
Boolean. Bold text or not.
italic
Boolean. Italic text or not.
underline
Boolean. Underlined text or not.
strikeout
Boolean. Striked-out text or not.
scale_x
Number. Horizontal scale.
scale_y
Number. Vertical scale.
spacing
Number. Spacing between characters.
angle
Number. Rotation angle in degrees.
borderstyle
Number. 1=Outline + drop shadow, 3=Opaque box (not really used???)
outline
Number. Thickness of outline.
shadow
Number. Distance of shadow from text.
align
Number. Numpad style alignment.
margin_l
Number. Left margin in pixels.
margin_r
Number. Right margin in pixels.
margin_v
Number. Vertical margin in pixels.
encoding
Number. Font encoding used.
Description of @lines:
This is a table with the following keys:
n
Number. The amount of lines.
0 -> n-1
Table. The actual lines.
A line is a table with the following key:
kind
String. Can be "blank", "scomment", "comment" or "dialogue".
The keys otherwise defined depends on the kind of the line.
If the kind if "blank", no further fields are defined.
If the kind is "scomment", the line is a "semicolon comment", and the
following key is defined:
text
String. Text following the semicolon until end of line. EOL not included.
If the kind is "comment" or "dialogue", the line is either a Comment: or
a Dialogue: line. In both cases, the following keys are defined:
layer
Number.
start_time
Number. Start time of line in centiseconds.
(Might change to userdata later.)
end_time
Number. End time of line in centiseconds.
(Might change to userdata later.)
style
String. Style used for this line.
name
String. Character name speaking this line.
margin_l
Number. Left margin override, in pixels. (0=no override)
margin_r
Number. Right margin override, in pixels. (0=no override)
margin_v
Number. Right margin override, in pixels. (0=no override)
effect
String. Effect to apply to the line. (No error checking done.)
text
String. Text to display.
text_stripped
String. Same as text, but stripped for all tags, and newline/hardspace
tags are converted to real newlines/spaces. Non-hard spaces at the start/
end of lines are stripped.
karaoke
Table. Line split into karaoke syllables. See below for more information.
Note about output:
Neither text_stripped nor karaoke are used when the results are parsed, they
are only passed to simplify processing. You should set text to the final text
of the line, you want in the output.
It is encouraged to entirely leave text_stripped and karaoke out of the
tables in the result.
Karaoke tables:
A karaoke table has a number of values indexed by numbers. Each value
represents a karaoke syllable.
Key "n" holds the number of syllables. The syllables can be accessed from
index 0 and up. The syllables are indexed chronologically.
A karaoke table always has at least one syllable. The first syllable (index
0) contains all data before the first timed syllable.
Each syllable is a table containing the following keys:
duration
Number. Duration of the syllable in centiseconds. Always 0 for first
syllable.
kind
String. "Kind" of the karaoke, the name of the tag. For a \k type syllable,
kind is "k", for a \kf syllable kind is "kf". Freeform tags can be used, as
long as they start with the letter "k" or "K".
Always the empty string ("") for the first syllable.
text
String. Text of the syllable. This includes formatting tags.
For the first syllable, this contains everything before the first karaoke
timing tag.
text_stripped
String. Same as text, but with all formatting tags stripped.
Description of @config:
This is a table. The keys are the names for the options defined in the global
"configuration" table. The values are the values provided by the user.
---
Script configuration:
An automation script can provide a configuration set, allowing the user to
set certain options before the script is called.
This is performed through the "configuration" value.
Scripts can define configuration options of the following types:
label
A static, non-editable text displayed to the user. (Useful for adding
additional explanations for some options.)
text
Freeform text entry.
int
Integer numbers. A range of valid values can be specified.
float
Any kind of number. A range of valid values can be specified.
bool
A boolean on/off value.
colour
An RGB colour value.
style
The name of a style defined in the subtitles.
The "configuration" table:
The "configuration" table contains a number of values indexed by numbers.
Each value defines a configuration option.
The configuration options must be in keys numbered from 1 to n, where n
is the number of options. No "n" key is required.
The configuration options will be presented to the user in the order defined.
Each configuration option is a table containing the following keys:
name
String. The internal name used to refer to the configuration option.
Must not contain the colon or pipe characters. (ASCII 58 and 124.)
kind
String. One of "label", "text", "int", "float", "bool", "colour" and
"style". Defines what kind of option this is.
label
String. Name of the option, presented to the user. Should be very short.
hint
String. Longer description of the option, presented to the user as a
tooltip. Ignored for "label" kind options.
min
Number. Optional. Lowest value allowed. Only used for "int" and "float" kinds.
max
Number. Optional. Highest value allowed. Only used for "int" and "float" kinds.
default.
Type depends on "kind". The value given to this configuration option before
the user has entered another value. Ignored for "label" kind options.
Data types for the different kinds:
label
None. A label doesn't have a value, and won't be present in the @config
table in the process_lines function.
text
String. You might want to do some kind of extra validation on text input, as
it might be anything.
int
Number. Guaranteed to always be integer.
float
Number. Can be integer or not.
bool
Boolean.
colour
String. An ASS hex colourcode in "&HBBGGRR&" format.
style
String. The name of the style. The style can't be guaranteed to exist, as
another export filter in Aegisub might have removed it before your script
gets to run.
---
Script environment and registration:
A script is assigned to a subtitle file by adding it to the
"Automation Scripts" extra header in the [Script Info] section. This header
contains a list of script filenames, separated by pipe characters. Example:
Automation Scripts: test1.lua|test2.lua
All scripts run in their own separate interpreter. This means there is no
risk of name collisions, though also that scripts can't easily share code.
If you need to share code between several scripts, you should create a
subdirectory to the script directory, and place include files there.
The settings for the configuration options for a script are stored in the ASS
file in the following way:
Each script gets one line for configuration, named "Automation Settings" plus
a space plus the filename of the script. The filename used is stripped of all
path specifiers. (Use unique filenames for your scripts!)
The value of the line is a pipe-separated list of "name:value" pairs. The name
is the internal name given by the "name" key. It is not mangled in any way.
The way the value is stored depends on the kind of the option.
label
Not stored.
text
The string is stored in an URL-encoding like manner. Some unsafe characters
are replaced with escape-sequences of the form #xx, where xx is a two-digit
hexadecimal number for the ASCII code of the escaped character. Only ASCII-
characters can be escaped this way, Unicode characters aren't supported.
int
Stored in ASCII base 10 without any group separators.
float
Stored in exponential notation, using ASCII base 10. (As the %e sprintf()
argument.)
bool
True is stored as "1", false as "0".
colour
Stored as in ASS hex format without any mangling.
style
Stored in the same manner as "text" kind options.
---
Helper functions:
There is a gloabl variable names "aegisub". This is a table containing
various helper functions.
The following helper functions are defined:
function aegisub.set_status(text)
Sets the current status-message. (Used for progress-reporting.)
@text
String. The status message.
Returns: nothing.
function aegisub.output_debug(text)
Output text to a debug console.
@text
String. The text to output.
Returns: nothing.
function aegisub.colorstring_to_rgb(colorstring)
Convert an ASS color-string to a set of RGB values.
@colorstring
String. The color-string to convert.
Returns: Four values, all numbers, being the color components in this
order: Red, Green, Blue, Alpha-channel
function aegisub.report_progress(percent)
Report the progress of the processing.
@percent
Number. How much of the data have been processed so far. (Percent)
Returns: nothing.
function aegisub.text_extents(style, text)
Calculate the on-screen pixel size of the given text using the given style.
@style
Table. A single style definition like those passed to process_lines.
@text
String. The text to calculate the extents for. This should not contain
formatting codes, as they will be treated as part of the text.
Returns 4 values:
1: Number. Width of the text, in pixels.
2: Number. Height of the text, in pixels.
3: Number. Descent of the text, in pixels.
4: Number. External leading for the text, in pixels.
Short description of the values returned:
Width: The X advance of the text, how much the "cursor" moves forward when
this text is rendered.
Height: The total height of the text, including internal leading.
Descent: How far below the baseline a character can extend. The ascent of
the text can be calculated as (height - descent).
External leading: How much vertical spacing will be added between the lines
of text rendered with this font. The total height of a line is
(height + external_leading).
function aegisub.frame_from_ms(ms)
Return the video frame-number for the given time.
@ms
Number. Time in miliseconds to get the frame number for.
Returns: A number, the frame numer. If there is no framerate data, returns
nil.
function aegisub.ms_from_frame(frame)
Returns the start-time for the given video frame-number.
@frame
Number. Frame-number to get start-time from.
Returns: A number, the start-time of the frame. If there is no framerate
data, returns nil.
function include(filename)
Include the named script. The script search-path defined in Aegisub will be
used, searching for the script.
If the filename is relative, the regular search path will not be used, but
instead the filename will be taken as relative to the directory the current
script is located in.
Note that if you use include() inside an included script, relative paths
will still be taken relative to the original script, and not relative to the
current included script. This is a design limitation.
The included script is loaded as an anonymous function, which is executed in
the current environment. This has two implications: You can include files
based on conditional statements, and even in loops, and included files can
return values using the "return" statement.
@filename
String. Name of the file to include.
Returns: Depends on the script included.
Note that if the file couldn't be found, the script will be terminated
(or fail to load.)
---
Versions of the scripting interface:
Here's a quick history of the scripting interface:
Version 1
Using Lua as engine.
The scripts used in the Karaoke Effector application, avaible at:
<http://www.jiifurusu.dk/files/programming/effector/>
Version 2
Using Python as engine.
The first draft for an Aegisub automation engine.
Never implemented.
Version 3
Using Lua as engine.
The current version.

View File

@ -1,33 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
-- Comment lines (like this line) start with two hyphens, these are ignored when the script is interpreted.
-- This script does not do anything useful, it merely displays a message. Think of it as a kind of "hello world" script.
-- The following lines define some values identifying the script
-- This script is written for Automation version 3
version = 3
-- And it's a "basic ass" processing script. There are no other kinds of scripts though... but this is still required.
kind = "basic_ass"
-- This is the name of the script that shows up in Aegisub
name = "Minimal demonstration"
-- This is a longer description of the script
description = "A very minimal demonstration of the strucrure of an Automation script."
-- This defines any configuration that can be done of the script. This is demonstrated in demo 5.
-- The empty braces denote an empty table (associative array)
configuration = {}
-- This is the main function of the script.
-- This function is run whenever the script is run
function process_lines(meta, styles, lines, config)
-- The function aegisub-report_progress changes the position of the progress bar shown while the script is running
-- The value given is in percent.
aegisub.report_progress(50)
-- The aegisub,.output_debug function shows some text
aegisub.output_debug("Test script 1 running")
aegisub.report_progress(100)
-- It is very important that the process_lines function returns an array of lines, otherwise an error will occur
-- If an empty array is returned, the entire file is cleared!
return lines
end

View File

@ -1,23 +0,0 @@
[Script Info]
; Demonstration script for Aegisub Automation 3 demo script '10-furigana.lua'
; http://www.aegisub.net
Title: Furigana demonstration
ScriptType: v4.00+
PlayResX: 640
PlayResY: 480
Automation Scripts: 10-furigana.lua
Export Encoding: UTF-8
Export filters: Automation: Furigana demo
WrapStyle: 0
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,MS Gothic,36,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,30,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:10.00,Default,,0000,0000,0000,,{\k20}意|い{\k5}味|み{\k7}の{\k14}な{\k6}い{\k30}test|テスト{\k2}を{\k14}魂|た{\k12}#|ま{\k4}#|し{\k8}#|い{\k10}に{\k4}頂|ちょ{\k5}#|う{\k18}戴|だ{\k14}#|い

View File

@ -1,64 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
-- Furigana is handled by the advanced karaskel
include("karaskel-adv.lua")
-- But it requires some additional functionality to be enabled as well. Do that here
karaskel.engage_furigana = true
-- Enabling trace isn't really required, but it's nice for debugging
karaskel.engage_trace = true
version = 3
kind = "basic_ass"
name = "Furigana demo"
description = "Demonstrates how to use the Furigana feature in karaskel-adv"
function do_syllable(meta, styles, config, line, syl)
-- First prepare a table to add the resulting lines of this syllable to
local result = {n=0}
-- Actually, make a function that does some stuff for us
-- Calling result.add will create another copy of the current line, add it to the result table, and return a reference to the new line
-- The result from this function can just be modified, and the line in the result table changes along (since it's just a reference)
function result.add()
local l = copy_line(line)
table.insert(result, l)
return l
end
-- Place the main text
-- So far no magic, just a regular line placed
local l = result.add()
l.text = string.format("{\\an8\\pos(%d,%d)\\k%d\\kf%d}%s", line.centerleft+syl.center, line.height*1.5, syl.start_time/10, syl.duration, syl.text_stripped)
l.layer = 5
-- Now for some "magic" stuff, loop over the highlights array to add possibly multiple highlights to each syllable
-- For example, kanji spanning multiple syllables can "flash" multiple times this way
for i = 0, syl.highlights.n-1 do
local hl = syl.highlights[i]
l = result.add()
l.start_time = l.start_time + hl.start_time/10
l.end_time = l.start_time + 25
l.text = string.format("{\\an8\\k10000\\k0\\move(%d,%d,%d,%d)\\t(\\1a&HFF&\\2a&HFF&\\3a&HFF&\\4a&HFF&)}%s", line.centerleft+syl.center, line.height*1.5, line.centerleft+syl.center, line.height*3, syl.text_stripped)
-- Put each highlight in a layer for itself, because they might overlap. This creates a possibly slightly nicer effect
l.layer = 10+i
end
-- Now for the real magic, ,loop over the furigana array
-- This contains a lot of pre-calculated info about how each furigana syllable should be placed relatively to the beginning of the line
-- With this info, it's really not much different from making a "main" effect. You just have to be aware that you're working with much smaller font sizes
for i = 0, syl.furigana.n-1 do
local furi = syl.furigana[i]
l = result.add()
-- Be sure to include the \fscx%f\fs%f tags here! Otherwise the text will be incorrectly scaled.
-- The \fscx is also important, because long stretches of furigana might be squished together so it all fits over the main text
l.text = string.format("{\\an2\\k%d\\k%d\\bord2\\fscx%.1f\\fs%.1f\\t(%d,%d,\\bord0)\\pos(%d,%d)}%s", furi.start_time/10, furi.duration, syl.furigana.scale, syl.furigana.fontsize, furi.start_time, furi.end_time, line.centerleft+furi.center, line.height*1.5, furi.text)
l.layer = 3
end
-- The additional 'add' function in the result is ignored when it's read back by the caller
return result
end
-- Trick: The script includes itself on apply, meaning it's automatically reloaded
function process_lines(meta, styles, lines, config)
include("10-furigana.lua")
-- Make sure to call the karaskel.process_lines function to do the work
return karaskel.process_lines(meta, styles, lines, config)
end

View File

@ -1,58 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
-- For an explanation of these, see the documentation, or demo 1
version = 3
kind = "basic_ass"
name = "Reading data demonstration"
description = "This is a demonstration of how to access the various data passed to an Automation script. It loops over the data structures provided, and dumps them to the debug console."
configuration = {}
function process_lines(meta, styles, lines, config)
-- This makes an alias for the aegisub.output_debug function. Remember that functions are first-class values in Lua.
-- The 'local' keyword makes the 'out' variable local to this function
local out = aegisub.output_debug
-- Use the string.format function to form a string showing some metadata about the subtitles and output it
out(string.format("Metadata: res_x=%d res_s=%d", meta.res_x, meta.res_y))
-- The number of styles is stored in index -1, because there might be a style named "n"
local numstyles = styles[-1]
out("Number of styles: " .. numstyles)
-- Loop over the styles with a for loop, printing some info about each style
for i = 0, numstyles-1 do
out(string.format("Style %d: name='%s' fontname='%s'", i, styles[i].name, styles[i].fontname))
end
-- Do the same, but for the actual subtitle lines
out("Number of subtitle lines: " .. lines.n)
for i = 0, lines.n-1 do
-- Use the report_progress function to show the progress of the loop
aegisub.report_progress(i/lines.n*100)
-- Check if the line is a dialogue line, otherwise it won't have much interesting data
-- Also, the script will crash if you try to access a field that doesn't exist
if lines[i].kind == "dialogue" then
-- Again, output some info about the line
out(string.format("Line %d: dialogue start=%d end=%d style=%s", i, lines[i].start_time, lines[i].end_time, lines[i].style))
out(" Text: " .. lines[i].text)
out(" Stripped text: " .. lines[i].text_stripped)
out(" Number of karaoke syllables: " .. lines[i].karaoke.n)
-- Also loop over the karaoke syllables, if any, in the line.
-- Note that there will actually always be at least one syllable, number zero, which is everything before the first \k tag
for j = 0, lines[i].karaoke.n-1 do
syl = lines[i].karaoke[j]
-- Use the aegisub.text_extents function to calculate the rendered size of the syllable text
-- Note that the styles[lines[i].style] construct can be dangerous, in case the line refers to a non-existant style
extx, exty, extd, extl = aegisub.text_extents(styles[lines[i].style], syl.text_stripped)
out(string.format(" Syllable %d: dur=%d kind=%s text='%s' text_stripped='%s' extx=%d exty=%d extd=%d extl=%d", j, syl.duration, syl.kind, syl.text, syl.text_stripped, extx, exty, extd, extl))
end
else
-- For non-dialogue lines, output a lot less info
out(string.format("Line %d: %s", i, lines[i].kind))
end
end
-- In the end, no modifications were done, so just return the original subtitle data
return lines
end

View File

@ -1,25 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
-- This script demonstrated using include scripts in Automation.
-- You include a file simply by calling the include function with a filename.
-- Depending on whether the filename contains a path or not, it is interpreted in slightly different ways,
-- see the documentation for more information.
include("utils.lua")
-- The usual info
name = "Include demo"
description = "Simple demonstration of the include function."
-- Here several values are set in one line
version, kind, configuration = 3, 'basic_ass', {}
function process_lines(meta, styles, lines, config)
-- Copy the first line (line 0) and store it as as a new last line
-- The last line has index lines.n-1, so lines.n is one past the last line
lines[lines.n] = copy_line(lines[0])
-- Make sure to increment 'n', so the correct number of lines are read out
lines.n = lines.n + 1
-- Then return the modified lines table
return lines
end

View File

@ -1,54 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
include("utils.lua")
name = "Text placement demo"
description = "Demonstration of the text_extents function, to do per-syllable placement of text."
version, kind, configuration = 3, 'basic_ass', {}
function process_lines(meta, styles, lines, config)
-- Prepare local variables
local output = { n=0 }
-- Loop through every line
for i = 0, lines.n-1 do
aegisub.report_progress(i/lines.n*100)
-- Only process dialogue lines
if lines[i].kind ~= "dialogue" then
table.insert(output, lines[i])
else
-- This is just for making the code a bit easier to read
local line = lines[i]
-- Get the rendered size of the entire line. (Won't work if there's line breaks in it.)
local totalx, totaly = aegisub.text_extents(styles[line.style], line.text_stripped)
-- Calculate where the first syllable should be positioned, if the line is to appear centered on screen
local curx, cury = (meta.res_x - totalx) / 2, meta.res_y / 2
-- And more preparations for per-syllable placement
local startx = curx
local tstart, tend = 0, 0
-- Now process each stllable
for j = 1, line.karaoke.n-1 do
-- A shortcut variable, and, most important: a copy of the original line
local syl, syllin = line.karaoke[j], copy_line(line)
-- Calculate the ending time of this syllable
tend = tstart + syl.duration*10
-- Get the rendered size of this syllable
local extx, exty, extd, extl = aegisub.text_extents(styles[line.style], syl.text_stripped)
-- Some debug stuff...
aegisub.output_debug(string.format("text_extents returned: %d, %d, %d, %d", extx, exty, extd, extl));
-- Replace the text of the copy of the line with this syllable, moving around
syllin.text = string.format("{\\an4\\move(%d,%d,%d,%d,%d,%d)\\kf%d\\kf%d}%s", curx, cury, curx, cury-exty, tstart, tend, tstart/10, syl.duration, syl.text)
-- Add the line to the output
table.insert(output, syllin)
-- And prepare for next iteration
curx = curx + extx
tstart = tend
end
-- More debug stuff
aegisub.output_debug(string.format("after syllable loop: totalx=%d curx-startx=%d", totalx, curx-startx))
end
end
-- And remember to return something :)
return output
end

View File

@ -1,96 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
name = "Configuration demo"
description = "This script allows the user to input some data in the Aegisub Export window. Some of these data are used during the processing, to change the subtitles. (The strings is prepended every dialogue line.)"
version, kind = 3, 'basic_ass'
-- The configuration table defines a number of controls to show in the config window
-- The controls must be numbered from 1 and up with no "holes", the number of controls is automatically detected
configuration = {
[1] = {
-- There are some mandatory fields for evry control defined
-- 'name' is the internal name of the control, it's used to refer to the value the user entered later on
name = "thelabel";
-- 'kind' is the class of control, this is a label which only displays text and can't be edited
kind = "label";
-- 'label' is a short description of the control, displayed ot the left of it.
-- In the case of a label control, it's the entire text displayed
label = "This is a label control. Just for shows.";
-- 'hint' is a tooltip for the control. It doesn't actually work for label controls though
hint = "Tooltip for label?!?";
};
[2] = {
name = "thestring";
-- the "text" class is a regular text input field
kind = "text";
label = "String:";
hint = "The string to insert at the beginning of each line";
-- The 'default' is required for everything but 'label' controls, it simply specifies the default value
default = "foobar "
};
[3] = {
name = "theint";
-- 'int' is a text control that only allows inputting whole numbers (integers)
kind = "int";
label = "Integer:";
hint = "An integer number to display in debug output";
default = 50;
-- If the 'min' and 'max' fields are specified, the control will get a "spin control" attached,
-- which can be used to change the value with the mouse
min = 0;
max = 100;
};
[4] = {
name = "thefloat";
-- 'float' is like int, except you can also put decimal numbers in it
kind = "float";
label = "Float number:";
hint = "Just a random float number";
default = 3.1415927;
-- There are no working spin controls for floats, unfortunately
};
[5] = {
name = "thebool";
-- 'bool' makes a checkbox, which can either be checked or unchecked
kind = "bool";
label = "I accept";
hint = "Check if you accept the terms of the license agreement";
-- false means unchecked, true means checked
default = false;
};
[6] = {
name = "thecolour";
-- 'colour' is currently just a text edit box which allows you to input an ASS format color
-- The idea was to have some kind of graphical control, but that probably won't happen in auto3
kind = "colour";
label = "Favourite color:";
hint = "What color do you want your pantsu?";
default = "&H8080FF";
};
[7] = {
name = "thestyle";
-- 'style' produces a drop down list, where the user can select one of the styles in the file, or no style at all
kind = "style";
label = "Style:";
hint = "Pick a style the effects will apply to, or none to apply to everything";
-- An empty string means that nothing is selected
-- Be careful about assuming any style names that might be available in the subtitle file
default = "";
}
}
function process_lines(meta, styles, lines, config)
-- All the values selected by the user are stored in the 'config' variable
-- For example, control 2 in this example has name "thestring", so you can access the value input by config.thestring
aegisub.output_debug("The string entered is: " .. config.thestring)
for i = 0, lines.n-1 do
aegisub.report_progress(i/lines.n*100)
if lines[i].kind == "dialogue" then
-- So loop over all dialogue lines and append thestring to them all
lines[i].text = config.thestring .. lines[i].text
end
end
return lines
end

View File

@ -1,87 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
-- Define some required constants
-- version and kind are required to have the given values for the script to work.
-- configuration is not needed in this script, so it's just left as an empty table
version, kind, configuration = 3, "basic_ass", {}
-- Define the displayed name of the script
name = "Simple karaoke effect"
-- A longer description of the script
description = "A simple karaoke effect, with the source code heavily commented. Provided as a starting point for a useful effect."
-- The actual script function
function process_lines(meta, styles, lines, config)
-- Create a local variable to store the output subtitles in
local output = { n=0 }
-- Start to loop over the lines, one by one
-- The lines are numbered 0..n-1
for i = 0, lines.n-1 do
-- Show the user how far the script has got
aegisub.report_progress(i/lines.n*100)
-- First check if the line is even a dialogue line. If it's not, no need to process it.
if lines[i].kind ~= "dialogue" then
table.insert(output, lines[i])
else
-- This is a dialogue line, so process is
-- Make a nicer name for the line we're processing
newline = lines[i]
-- Also show the line to the user
aegisub.set_status(newline.text_stripped)
-- The text of the new line will be build little by little
-- Each line has 700 ms fadein, 300 ms fadeout,
-- is positioned at the center of the screen (\an8)
-- and the highlighting should be delayed by 1000 ms (100 cs)
newline.text = string.format("{\\fad(700,300)\\pos(%d,30)\\k100}", meta.res_x/2)
-- Make the line start 1000 ms (100 cs) earlier than original
newline.start_time = newline.start_time - 100
-- Now it's time to loop through the syllables one by one, processing them
-- The first syllable is usually a "null" syllable, not containing real data, so that one should be skipped.
-- This variable is used to keep track of when the last syllable ended
-- It's initialised to 1000, since the start of the line was pushed 1000 ms back
local cursylpos = 1000
for j = 1, lines[i].karaoke.n-1 do
local syl = lines[i].karaoke[j]
-- Call another function to process the syllable
newline.text = newline.text .. doSyllable(syl.text, cursylpos, cursylpos+syl.duration*10, syl.duration, syl.kind)
-- Calculate the start time of the next syllable
cursylpos = cursylpos + syl.duration*10
end
-- The entire line has been calculated
-- Add it to the output
table.insert(output, newline)
end
end
-- All lines processed, and output filled
-- Just return it
-- (This is important! If you don't return anything, the output file will be empty!)
return output
end
-- This effect was originally written in the "Effector" program, which can be considered the first version of Automation.
-- This following function is almost verbatimly copied from that original script.
-- This is done in order to show how you can make sub-functions to make your script more readable.
-- The contents of this function could also just be pasted into the middle of the main loop in process_lines,
-- but that generally makes scripts harder to read.
function doSyllable(text, t_start, t_end, t_dur, ktype)
-- Declare two local variables needed here
-- (If they're not declared local, they will be global.)
local a, b
-- If it's a "long" syllable, let the effect be different
if t_dur > 75 then
a = t_start + 500
b = t_end
else
a = t_start + 100
b = t_start + 500
end
-- Return the replacement for the syllable, including some ASS tags for format it
return string.format("{\\r\\t(%d,%d,\\1c&H808080&\\2c&H808080&)\\kf%d}%s", a, b, t_dur, text)
end

View File

@ -1,196 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
-- But still, please don't use the effect generated by this script
-- (unchanged) for your own works.
-- Note that many of the techniques used in this script are heavily deprecated, much of the processing done
-- is also done by the karaskel scripts.
-- In fact, this can almost be viewed as an example of how *not* to do things...
-- Since this script assumes some rather specific things about the ASS input, it might not be very useful at first.
-- The original ASS file this was written for is available upon request.
include("utils.lua")
name = "Advanced karaoke effect"
description = "An advanced karaoke effect, making heavy use of both line-copying and per-syllable text placement. Also demonstrates how to treat lines differently, based on their style, and syllables differently based on the timing tag used."
version, kind, configuration = 3, 'basic_ass', {}
function process_lines(meta, styles, lines, config)
local output = { n=0 }
math.randomseed(5922) -- just to make sure it's initialised the same every time
for curline = 0, lines.n-1 do
aegisub.report_progress(curline/lines.n*100)
local lin = lines[curline]
if lin.kind == "dialogue" and lin.style == "op romaji" then
doromaji(lin, output, styles["op romaji"], 30)
elseif lin.kind == "dialogue" and lin.style == "op kanji" then
-- Just one of these lines should be uncommented.
-- This script was written before configuration worked, otherwise it would use configuration
-- to select which of the two effects to use for "op kanji" style lines.
--doromaji(lin, output, styles["op kanji"], 20)
dokanji(lin, output, styles["op kanji"])
else
-- Unknown lines are copied verbatim
table.insert(output, lin)
end
end
return output
end
function doromaji(lin, output, sty, linetop)
aegisub.set_status(lin.text_stripped)
--local linetop = 50
-- prepare syllable data
local linewidth = 0
local syltime = 0
local syls = {n=0}
for i = 1, lin.karaoke.n-1 do
local syl = lin.karaoke[i]
syl.width, syl.height, syl.descent, syl.extlead = aegisub.text_extents(sty, syl.text_stripped)
syl.left = linewidth
syl.start_time = syltime
syl.end_time = syltime + syl.duration
syltime = syltime + syl.duration
if syl.kind == "kf" and (syl.text == " " or syl.text == " ") then
-- The font this effect was made to work with has too wide spaces, so make those half width
syl.width = math.floor(syl.width / 2)
syl.kind = "space"
elseif syl.kind == "kf" then
syl.kind = "deco"
elseif syl.kind == "k" then
syl.kind = "reg"
elseif syl.kind == "ko" then
syl.kind = "dance"
else
syl.kind = "ignore"
end
if syl.text == "#" then
syls[syls.n-1].duration = syls[syls.n-1].duration + syl.duration
syls[syls.n-1].end_time = syls[syls.n-1].end_time + syl.duration
else
linewidth = linewidth + syl.width
syls[syls.n] = syl
syls.n = syls.n + 1
end
end
local lineofs = math.floor((640 - linewidth) / 2)
for i = 0, syls.n-1 do
local syl = syls[i], copy_line(lin)
if syl.kind == "space" then
-- Spaces are skipped. Since the width of them is already incorporated in the position calculations
-- for the following syllables, they can safely be stripped from output, without losing the spaces.
elseif syl.kind == "ignore" then
-- These are actually syllable kinds we don't know what to do about. They are not included in the output.
else
local startx, starty, shakex, shakey, enterangle
-- angle to enter from
enterangle = math.rad((180 / lin.karaoke.n) * i - 90)
-- position to enter from (350 pixels from (320, 50))
startx = math.sin(enterangle)*350 + 320
starty = linetop - math.cos(enterangle)*350
if syl.kind == "reg" then
shakex = (syl.left+lineofs) + math.random(-5, 5)
shakey = linetop + math.random(-5, 5)
elseif syl.kind == "deco" then
shakex, shakey = syl.left+lineofs, linetop
elseif syl.kind == "dance" then
shakex = (syl.left+lineofs) + math.random(-5, 5)
shakey = linetop + math.random(-5, 5)
end
-- origin for rotation
local orgx = syl.left + lineofs + syl.width/2
local orgy = linetop + syl.height/2
-- entry effect
local enterlin = copy_line(lin)
enterlin.start_time = lin.start_time - 40
enterlin.end_time = lin.start_time
enterlin.text = string.format("{\\move(%d,%d,%d,%d)\\fr%d\\t(\\fr0)\\an7}%s", startx, starty, shakex, shakey, -math.deg(enterangle), syl.text)
table.insert(output, enterlin)
-- main highlight effect
local newlin = copy_line(lin)
local hilistart, hilimid, hiliend = syl.start_time*10, (syl.start_time+syl.duration/2)*10, (syl.start_time+syl.duration)*10
newlin.text = string.format("\\move(%d,%d,%d,%d,%d,%d)\\an7}%s", shakex, shakey, syl.left+lineofs, linetop, hilistart, hiliend, syl.text)
newlin.layer = 1
if syl.kind == "dance" then
local fx = string.format("\\org(%d,%d)\\t(%d,%d,\\fr30)\\t(%d,%d,\\fr-30)\\t(%d,%d,\\3c&H0000ff&)\\t(%d,%d,\\3c&H000080&)\\t(%d,%d,\\fr0)", orgx, orgy, hilistart, hilistart+20, hilistart+20, hiliend, hilistart, hilimid, hilimid, hiliend, hiliend, hiliend+syl.duration*10)
newlin.text = fx .. newlin.text
else
local fx = string.format("\\t(%d,%d,\\3c&H0000ff&)\\t(%d,%d,\\3c&H000080&)", hilistart, hilimid, hilimid, hiliend)
newlin.text = fx .. newlin.text
end
local bord = copy_line(newlin)
bord.layer = 0
bord.text = "{" .. bord.text
newlin.text = "{\\bord0" .. newlin.text
table.insert(output, bord)
table.insert(output, newlin)
-- leave effect
-- cut the line over in two, lower half "drops down", upper just fades away
local tophalf = copy_line(lin)
tophalf.start_time = lin.end_time
tophalf.end_time = lin.end_time + 100
tophalf.text = string.format("\\3c&H000080&\\fad(0,700)\\pos(%d,%d)\\an7}%s", syl.left+lineofs, linetop, syl.text_stripped)
local bottomhalf = copy_line(tophalf)
tophalf.text = string.format("{\\t(0,200,\\1c&H000080&)\\clip(0,0,640,%d)%s", linetop+syl.height/2, tophalf.text)
bottomhalf.text = string.format("{\\org(%d,%d)\\clip(0,%d,640,480)\\t(0,200,\\1c&H000080&)\\t(200,1000,1.2,\\frx90\\clip(0,%d,640,480)%s", 320, linetop+syl.height, linetop+syl.height/2, linetop+syl.height, bottomhalf.text)
table.insert(output, tophalf)
table.insert(output, bottomhalf)
end
end
end
function dokanji(lin, output, sty)
aegisub.set_status(lin.text_stripped)
local fontname = "@HGSHigemoji"
local lineheight = 0
local syltime = 0
local syls = {n=0}
for i = 1, lin.karaoke.n-1 do
local syl = lin.karaoke[i]
syl.height, syl.width, syl.descent, syl.extlead = aegisub.text_extents(sty, syl.text_stripped)
syl.start_time = syltime
syl.end_time = syltime + syl.duration
syltime = syltime + syl.duration
if syl.text == "#" then
syls[syls.n-1].duration = syls[syls.n-1].duration + syl.duration
syls[syls.n-1].end_time = syls[syls.n-1].end_time + syl.duration
--elseif syl.text == "" then
-- skip
else
lineheight = lineheight + syl.height
syls[syls.n] = syl
syls.n = syls.n + 1
end
end
for i = 0, syls.n-1 do
local syl = syls[i]
local top = 170
for j = 0, 8 do
if i+j >= syls.n then
break
end
local newlin = copy_line(lin)
newlin.start_time = lin.start_time + syl.start_time
newlin.end_time = newlin.start_time + syl.duration
local startalpha, targetalpha
if j == 0 then
startalpha = 0
targetalpha = 255
else
startalpha = j * 255 / 8
targetalpha = (j-1) * 255 / 8
end
newlin.text = string.format("{\\fn%s\\an7\\fr-90\\move(%d,%d,%d,%d)\\1a&H%2x&\\3a&H%2x&\\t(\\1a&H%2x&\\3a&H%2x&)}%s", fontname, 620, top, 620, top-syl.height, startalpha, startalpha, targetalpha, targetalpha, syls[i+j].text)
top = top + syls[i+j].height
table.insert(output, newlin)
end
end
end

View File

@ -1,26 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
name = "Karaoke skeleton demo"
description = "This script demonstrates the use of the karaskel.lua include file, to avoid writing almost identical code for every karaoke effect script."
version, kind, configuration = 3, 'basic_ass', {}
-- Include the "magic" karaskel.lua file. It also includes utils.lua for you.
-- karaskel.lua defines the process_lines function, so you'll usually not have to write that yourself
include("karaskel.lua")
-- Instead, a do_syllable function is written. This is called by karaskel for every syllable, to get the text replacement for that syllable.
function do_syllable(meta, styles, config, line, syl)
-- First check if it's the first syllable on the line; if it is don't bother doing anything special
if syl.i == 0 then
-- Remember you have to return the text of the syllable as well as any formatting tags you want
return syl.text
else
-- For other syllables, apply a little effect
return string.format("{\\r\\k%d\\t(%d,%d,\\1c&H%s&)}%s", syl.duration, syl.start_time, syl.end_time, line.styleref.color2, syl.text)
end
end
-- Exercise for the reader: Rewrite this script in "classic style", ie. the same way as demo 6.
-- See how few lines you can get it down to, while still producing the same effect.

View File

@ -1,49 +0,0 @@
-- Aegisub Automation demonstration script
-- Original written by Niels Martin Hansen
-- Given into the public domain
name = "Advanced skeleton demo"
description = "This script demonstrates using the karaskel-adv.lua include file to make rceation of per-syllable positioning effects easier."
version, kind, configuration = 3, 'basic_ass', {}
include("karaskel-adv.lua")
-- What kind of effect this makes:
-- Each syllable "jumps" up and down once during its duration
-- This is achieved using two \move operations, and as known, gabest's TextSub can only handle one \move per line
-- So we need two lines per syllable, split exactly in the middle of the duration of the syllable
function do_syllable(meta, styles, config, line, syl)
-- Make two copies of the original line (having the right timings etc)
local half1, half2 = copy_line(line), copy_line(line)
-- Make the first half line end halfway into the duration of the syllable
half1.end_time = half1.start_time + syl.start_time/10 + syl.duration/2
-- And make the second half line start where the first one ends
half2.start_time = half1.end_time
-- Where to move the syllable to/from
local fromx, fromy = line.centerleft+syl.center, line.height*2 + 20
local tox, toy = fromx, fromy - 10
-- Generate some text for the syllable
half1.text = string.format("{\\an8\\move(%d,%d,%d,%d,%d,%d)}%s", fromx, fromy, tox, toy, syl.start_time, syl.start_time+syl.duration*5, syl.text_stripped)
half2.text = string.format("{\\an8\\move(%d,%d,%d,%d,%d,%d)}%s", tox, toy, fromx, fromy, 0, syl.duration*5, syl.text_stripped)
-- Things will look bad with overlapping borders and stuff unless
-- we manually layer borders lower than text,
-- and shadows lower than borders, so let's do that
local half1b, half1s = copy_line(half1), copy_line(half1)
half1b.text = "{\\1a&HFF&\\shad0}" .. half1b.text
half1s.text = "{\\1a&HFF&\\bord0}" .. half1s.text
half1.text = "{\\bord0\\shad0}" .. half1.text
half1.layer = 2
half1b.layer = 1
half1s.layer = 0
local half2b, half2s = copy_line(half2), copy_line(half2)
half2b.text = "{\\1a&HFF&\\shad0}" .. half2b.text
half2s.text = "{\\1a&HFF&\\bord0\\shad2}" .. half2s.text
half2.text = "{\\bord0\\shad0}" .. half2.text
half2.layer = 2
half2b.layer = 1
half2s.layer = 0
-- Done, return the two new lines
return {n=6, [1]=half1, [2]=half2b, [3]=half1s, [4]=half2, [5]=half2b, [6]=half2s}
end

View File

@ -0,0 +1,64 @@
-- This script is given to the public domain.
-- You can use and modify the effect freely, also without credit, although I would appreciate some.
include("karaskel.lua")
script_name = "Future Windy Blur"
script_description = "Highlights blown away by the winds of change."
script_author = "jfs"
script_version = "1.4"
function new_windy_blur(subs)
aegisub.progress.task("Getting header data...")
local meta, styles = karaskel.collect_head(subs)
aegisub.progress.task("Applying effect...")
local i, ai, maxi, maxai = 1, 1, #subs, #subs
while i <= maxi do
aegisub.progress.task(string.format("Applying effect (%d/%d)...", ai, maxai))
aegisub.progress.set((ai-1)/maxai*100)
local l = subs[i]
if l.class == "dialogue" and
not l.comment then
karaskel.preproc_line(subs, meta, styles, l)
do_fx(subs, meta, l)
maxi = maxi - 1
subs.delete(i)
else
i = i + 1
end
ai = ai + 1
end
aegisub.progress.task("Finished!")
aegisub.progress.set(100)
end
function do_fx(subs, meta, line)
local l = table.copy(line)
l.text = string.format("{\\pos(%d,%d)\\an5\\1c%s\\1a&HFF&\\3a&HFF&\\4a&HFF&\\t(0,200,\\1a&H00&\\3a&H00&\\4a&H00&)\\t(%d,%d,\\1a&HFF&\\3a&HFF&\\4a&HFF&)}%s", line.center, line.middle, line.styleref.color2, line.duration+200, line.duration+400, line.text_stripped)
l.start_time = l.start_time - 200
l.end_time = l.end_time + 200
l.layer = 1
subs.append(l)
for i = 1, line.kara.n do
local syl = line.kara[i]
if syl.duration > 0 then
local l = table.copy(line)
l.start_time = line.start_time + syl.start_time
if syl.duration < 750 then
l.end_time = l.start_time + 1500
else
l.end_time = l.start_time + syl.duration * 1.5
end
l.layer = 2
local temp = string.format("{\\be1\\move(%d,%d,%%d,%%d)\\an5\\1a&Hd0\\bord0\\shad0\\t(0.6,\\1a&HFF&)}%s", line.left+syl.center, line.middle, syl.text_stripped)
for j = -8, 8 do
l.text = string.format(temp, line.left+syl.center+math.cos(math.rad(j*4))*30, line.middle+math.sin(math.rad(j*4))*30)
subs.append(l)
end
end
end
end
aegisub.register_filter("Future Windy Blur", "", 2000, new_windy_blur)

View File

@ -0,0 +1,25 @@
[Script Info]
; Script generated by Aegisub v2.00 PRE-RELEASE (SVN r965, jfs)
; http://www.aegisub.net
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 640
PlayResY: 480
Video Aspect Ratio: 0
Video Zoom: 6
Video Position: 0
Automation Scripts: ~raytracer.lua
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,,light 2 2 2 100 0 0
Dialogue: 0,0:00:05.00,0:00:10.00,Default,,0000,0000,0000,,light -2 2 2 0 200 0
Dialogue: 0,0:00:10.00,0:00:15.00,Default,,0000,0000,0000,,light 2 -2 2 0 0 100
Dialogue: 0,0:00:15.00,0:00:20.00,Default,,0000,0000,0000,,tri -10 -3 10 10 -3 10 -10 -3 -10 1 1 1
Dialogue: 0,0:00:20.00,0:00:25.00,Default,,0000,0000,0000,,tri 0 0 1 1 0 1 0 1 1 1 1 1
Dialogue: 0,0:00:25.00,0:00:30.00,Default,,0000,0000,0000,,

View File

@ -0,0 +1,407 @@
-- This script is given to the public domain
-- It was originally intended as an april fool's joke in 2007, though it never really caught on.
-- You're encouraged to experiment with this if you have plenty of time.
-- Even if it's made as a joke, it does show that "anything is possible with ASS, although some things are insane to try."
script_name = "Raytracer"
script_description = "Reads subtitles as a scene description and raytraces the scene"
script_author = "jfs"
script_version = tostring(math.pi)
include("utils.lua")
max_iter = 3
function raytrace(subs)
aegisub.progress.task("Reading scene...")
local lights, tris, camera, xres, yres = read_scene(subs)
aegisub.progress.task("Raytracing...")
local curp, totalp = 0, xres*yres
for y = 0, yres-1 do
aegisub.progress.task(string.format("Raytracing, line %d/%d...", y+1, yres))
for x = 0, xres-1 do
aegisub.progress.set(curp/totalp*100)
local l = trace_point(x, y, (x+0.5)/xres, (y+0.5)/yres, lights, tris, camera)
if l then
subs.append(l)
end
curp = curp + 1
end
end
aegisub.progress.task("Done.")
aegisub.progress.set(100)
end
function trace_point(px, py, x, y, lights, tris, camera)
-- fixme, assume a camera here ignoring defined one
local vec = vector.norm( { 2*x-1, 1-2*y, -1 } )
local r, g, b = trace_vec({0,0,-1}, vec, lights, tris, 0)
if not r then
return nil
end
r, g, b = clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)
-- todo, make line
local l = {
class = "dialogue",
section = "Events",
comment = false,
layer = 0,
start_time = 0,
end_time = 3600*1000, -- one hour
style = "p",
actor = "",
margin_l = 0,
margin_r = 0,
margin_t = 0,
margin_b = 0,
effect = "",
text = string.format("{\\pos(%d,%d)\\1c&H%02x%02x%02x&\\p1}m 0 0 l 1 0 1 1 0 1", px, py, r, g, b)
}
return l
end
function trace_vec(org, vec, lights, tris, iter)
if iter > max_iter then
return 0, 0, 0
end
local hit = find_intersect(org, vec, tris)
if not hit then
return nil
end
-- got intersection, calculate lighting
local r, g, b = hit.t.c.r*10, hit.t.c.g*10, hit.t.c.b*10
local ray_cos_theta = vector.dot(hit.t.n, vec)
hit.p = hit.t.p[1]
hit.p = vector.add(hit.p, vector.scale(vector.sub(hit.t.p[2], hit.t.p[1]), hit.u))
hit.p = vector.add(hit.p, vector.scale(vector.sub(hit.t.p[3], hit.t.p[1]), hit.v))
for i, l in pairs(lights) do
-- shadow ray
local lvec = vector.sub(l.p, hit.p)
local shadow = find_intersect(hit.p, lvec, tris)
if not shadow or (shadow and (shadow.dist < 0 or shadow.dist > 1)) then
-- not in shadow
local lvecs = vector.len(lvec)
-- diffuse component
local light_cos_theta = math.abs(vector.dot(hit.t.n, lvec))
-- specular component
local cos_alpha = vector.dot(vector.sub(vector.scale(hit.t.n, 2*light_cos_theta), lvec), vec)
local cos_n_alpha = cos_alpha^3 -- arbitrary constant for now
-- add up
r = r + l.c.r*hit.t.c.r * (light_cos_theta*0.6 + cos_n_alpha*0.4) / math.max(lvecs,1)
g = g + l.c.g*hit.t.c.g * (light_cos_theta*0.6 + cos_n_alpha*0.4) / math.max(lvecs,1)
b = b + l.c.b*hit.t.c.b * (light_cos_theta*0.6 + cos_n_alpha*0.4) / math.max(lvecs,1)
end
end
-- reflection
local rvec = vector.sub(vector.scale(hit.t.n, 2*vector.dot(hit.t.n, vec)), vec)
local rr, rg, rb = trace_vec(hit.p, rvec, lights, tris, iter+1)
if not rr then
rr, rg, rb = 0, 0, 0
end
r = r*0.75 + rr*0.25
g = g*0.75 + rg*0.25
b = b*0.75 + rb*0.25
return r, g, b
end
function find_intersect(org, vec, tris)
local intersec = nil
-- find closest intersection
for i, t in pairs(tris) do
local dist, u, v = intersect_triangle(org, vec, t)
if dist and dist > 0 then
if not intersec or intersec.dist > dist then
intersec = {dist=dist, u=u, v=v, t=t}
end
end
end
return intersec
end
function intersect_triangle(org, vec, triangle)
-- taken from http://www.graphics.cornell.edu/pubs/1997/MT97.html
-- find vectors for two edges sharing point 1
local edge1, edge2 = vector.sub(triangle.p[2], triangle.p[1]), vector.sub(triangle.p[3], triangle.p[1])
-- begin calculating determinant - also used to calculate U parameter
local pvec = vector.cross(vec, edge2)
-- if determinant is near zero, ray lies in plane of triangle
local det = vector.dot(edge1, pvec)
if det > -0.00001 and det < 0.00001 then
-- parallel to plane
return nil
end
local inv_det = 1 / det
-- calculate distance from point 1 to ray origin
local tvec = vector.sub(org, triangle.p[1])
-- calculate U parameter and test bounds
local u = vector.dot(tvec, pvec) * inv_det
if u < 0 or u > 1 then
-- crosses plane but outside triangle
return nil
end
-- prepare to test V parameter
local qvec = vector.cross(tvec, edge1)
-- calculate V parameter and test bounds
local v = vector.dot(vec, qvec) * inv_det
if v < 0 or (u+v) > 1 then
-- crosses plane but outside triangle
return nil
end
-- calculate distance, ray intersects triangle
local dist = vector.dot(triangle.p[3], qvec)
return dist, u, v
end
function read_scene(subs)
local lights = {}
local tris = {}
local camera = { pos = {0,0,-1}, up = {0,1,0}, plane } -- fixme
local xres, yres = 384, 288
local style = {
class = "style",
section = "V4+ Styles",
name = "p",
fontname = "Arial",
fontsize = "20",
color1 = "&H00000000&",
color2 = "&H00000000&",
color3 = "&H00000000&",
color4 = "&H00000000&",
bold = false,
italic = false,
underline = false,
strikeout = false,
scale_x = 100,
scale_y = 100,
spacing = 0,
angle = 0,
borderstyle = 0,
outline = 0,
shadow = 0,
align = 5,
margin_l = 0,
margin_r = 0,
margin_t = 0,
margin_b = 0,
encoding = 0
}
local i, maxi = 1, #subs
local replaced_style = false
while i < maxi do
aegisub.progress.set(i / maxi * 100)
local l = subs[i]
if l.class == "dialogue" then
parse_line(l, lights, tris, camera)
subs.delete(i)
maxi = maxi - 1
elseif l.class == "style" then
if replaced_style then
subs.delete(i)
maxi = maxi - 1
else
style.section = l.section
subs[i] = style
replaced_style = true
i = i + 1
end
elseif l.class == "info" then
local k = l.key:lower()
if k == "playresx" then
xres = math.floor(l.value)
elseif k == "playresy" then
yres = math.floor(l.value)
end
i = i + 1
else
i = i + 1
end
end
return lights, tris, camera, xres, yres
end
function parse_line(line, lights, tris, camera)
local val, rest = string.headtail(line.text)
if val == "light" then
local pos, color = {}, {}
val, rest = string.headtail(rest)
pos[1] = tonumber(val)
val, rest = string.headtail(rest)
pos[2] = tonumber(val)
val, rest = string.headtail(rest)
pos[3] = tonumber(val)
-- these work as intensity values so they should probably be high
val, rest = string.headtail(rest)
color.r = tonumber(val) or 0
val, rest = string.headtail(rest)
color.g = tonumber(val) or 0
val, rest = string.headtail(rest)
color.b = tonumber(val) or 0
local light = {
p = pos,
c = color
}
table.insert(lights, light)
elseif val == "tri" then
local coord1, coord2, coord3, color = {}, {}, {}, {}
val, rest = string.headtail(rest)
coord1[1] = tonumber(val)
val, rest = string.headtail(rest)
coord1[2] = tonumber(val)
val, rest = string.headtail(rest)
coord1[3] = tonumber(val)
val, rest = string.headtail(rest)
coord2[1] = tonumber(val)
val, rest = string.headtail(rest)
coord2[2] = tonumber(val)
val, rest = string.headtail(rest)
coord2[3] = tonumber(val)
val, rest = string.headtail(rest)
coord3[1] = tonumber(val)
val, rest = string.headtail(rest)
coord3[2] = tonumber(val)
val, rest = string.headtail(rest)
coord3[3] = tonumber(val)
-- these work as reflectivity values so they should be in range 0..1
val, rest = string.headtail(rest)
color.r = tonumber(val) or 0
val, rest = string.headtail(rest)
color.g = tonumber(val) or 0
val, rest = string.headtail(rest)
color.b = tonumber(val) or 0
local t = {
p = {coord1, coord2, coord3},
n = vector.norm(vector.normal(coord1, coord2, coord3)),
c = color
}
table.insert(tris, t)
elseif val == "camera" then
-- fixme, redefine
val, rest = string.headtail(rest)
camera.pos[1] = tonumber(val)
val, rest = string.headtail(rest)
camera.pos[2] = tonumber(val)
val, rest = string.headtail(rest)
camera.pos[3] = tonumber(val)
val, rest = string.headtail(rest)
camera.plane[1][1] = tonumber(val)
val, rest = string.headtail(rest)
camera.plane[1][2] = tonumber(val)
val, rest = string.headtail(rest)
camera.plane[1][3] = tonumber(val)
val, rest = string.headtail(rest)
camera.plane[2][1] = tonumber(val)
val, rest = string.headtail(rest)
camera.plane[2][2] = tonumber(val)
val, rest = string.headtail(rest)
camera.plane[2][3] = tonumber(val)
camera.start_time = line.start_time
camera.end_time = line.end_time
else
-- unknown, ignore
end
end
vector = {}
vector.null = {0,0,0}
function vector.add(v1, v2)
local r = {}
r[1] = v1[1] + v2[1]
r[2] = v1[2] + v2[2]
r[3] = v1[3] + v2[3]
return r
end
function vector.sub(v1, v2) -- v1 minus v2
local r = {}
r[1] = v1[1] - v2[1]
r[2] = v1[2] - v2[2]
r[3] = v1[3] - v2[3]
return r
end
function vector.scale(v, s)
local r = {}
r[1] = v[1] * s
r[2] = v[2] * s
r[3] = v[3] * s
return r
end
function vector.len(v)
return math.sqrt(v[1]*v[1] + v[2]*v[2] + v[3]*v[3])
end
function vector.norm(v)
local r, il = {}, 1/vector.len(v)
r[1] = v[1]*il
r[2] = v[2]*il
r[3] = v[3]*il
return r
end
function vector.dot(v1, v2)
return v1[1]*v2[1] + v1[2]*v2[2] + v1[3]*v2[3]
end
function vector.cross(v1, v2)
local r = {}
r[1] = v1[2]*v2[3] - v1[3]*v2[2]
r[2] = v1[1]*v2[3] - v1[3]*v2[1]
r[3] = v1[1]*v2[2] - v1[2]*v2[1]
return r
end
function vector.normal(p1, p2, p3)
return vector.cross(vector.sub(p2, p1), vector.sub(p3, p1))
end
function raytrace_macro(subs)
raytrace(subs)
aegisub.set_undo_point("raytracing")
end
aegisub.register_macro("Raytrace!", "Raytrace the scene", raytrace_macro)
aegisub.register_filter("Raytrace", "Raytrace the scene", 2000, raytrace)

View File

@ -1,22 +0,0 @@
This directory contains various Aegisub Automation scripts provided for demonstration
purposes. Most of these were originally written for testing the various functions
in Automation durings its development, but they hopefully can also serve as good
places to learn how to do things.
All of these scripts are written by Niels Martin Hansen.
They are given into the public domain, but if you use a substantial part of any of
the more advanced ones, I'd really like a bit of credit where it's due.
And remember, it's cheap to use someone else's advanced karaoke effect, especially
without any changes at all. It also gives bad karma. Like, *really* bad :)
Apart from just the .lua files, there's also a few .ass files, used for eg. showing
how some special feature is implemented in the ASS itself. It should be obvious
what .lua and .ass files are related.
WARNING!
DO NOT ADD YOUR OWN FILES TO THIS DIRECTORY,
they will be deleted when you uninstall/upgrade Aegisub.
This also means it's unwise to modify these files, if you want to keep your
changes to them.

View File

@ -1,158 +0,0 @@
--[[
Copyright (c) 2005, 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 Automation factory-brewed script
-- "Line-per-syllable effects"
-- Use karaskel.lua for skeleton code
include("karaskel-adv.lua")
-- Define the name of the script
name = "Line-per-syllable effects"
-- Define a description of the script
description = "Makes line-per-syllable effects, that is, each syllable in the script gets its own line. This allows for more advanced effects, such as syllables moving about separately, or overlapping each other."
-- Define the script variables that can be configured graphically
-- This is the primary point of the script, being able to configure it graphically
configuration = {
-- First a label to descript what special variables can be used
[1] = {
name = "label1";
kind = "label";
label = [[Variable-names are prefixed with $,
expressions are enclosed in % pairs.
Variables:
$START = Start-time of syllable (ms)
$END = End-time of syllable (ms)
$MID = Time midways through the syllable (ms)
$DUR = Duration of syllable (cs)
$X = X-position of syllable (center)
$WIDTH = width of syllable
$HEIGHT = height of syllable
(There is no $Y)
Calculation example:
\t($start,%$start+10,\fscx110\fscy110)
\move($x,40,%$x-$width+10%,40)
Remember you should always have a \pos or \move in your effect.]];
hint = ""
-- No "default", since a label doesn't have a value
},
-- Then a text field to input the string to replace \k's with
-- Make the default a "NOP" string
[2] = {
name = "k_repstr";
kind = "text";
label = "Effect";
hint = "The string to place at the start of every syllable line.";
default = "{\\an5\\pos($X,40)\\t($START,$END,\\fry360)}"
},
-- Allow the user to specify whether to strip tags or not
[3] = {
name = "striptags";
kind = "bool";
label = "Strip all tags";
hint = "Strip all formatting tags apart from the processed karaoke tags?";
default = false
},
[4] = {
name = "workstyle";
kind = "style";
label = "Line style";
hint = "Only apply the effect to lines with this style. Empty means apply to all lines.";
default = ""
}
}
-- Mandatory values
version, kind= 3, 'basic_ass'
function do_syllable(meta, styles, config, line, syl)
-- text is the replacement text for the syllable
-- ktext is the karaoke effect string
local text, ktext
-- Prepare the stripped or unstripped main text
if config.striptags then
text = syl.text_stripped
else
text = syl.text
end
-- Don't bother with empty syllables
if syl.text == "" or syl.n == 0 then
return { n=0 }
end
-- Add the variable names to the syllable data
syl["dur"] = syl.duration
syl["start"] = syl.start_time
syl["end"] = syl.end_time
syl["mid"] = syl.start_time + syl.duration*5
syl["x"] = syl.center + line.centerleft
-- Prepare the karaoke effect string
ktext = config.k_repstr
-- Function for replacing the variables
local function var_replacer(varname)
varname = string.lower(varname)
if syl[varname] ~= nil then
return syl[varname]
else
aegisub.output_debug(string.format("Unknown variable name: %s", varname))
return "$" .. varname
end
end
-- Replace the variables in the ktext
ktext = string.gsub(ktext, "$(%a+)", var_replacer)
-- Function for evaluating expressions
local function expression_evaluator(expression)
chunk, err = loadstring(string.format("return (%s)", expression))
if (err) ~= nil then
aegisub.output_debug(string.format("Error parsing expression:\n%s", expression, err))
return "%" .. expression .. "%"
else
return chunk()
end
end
-- Find and evaluate expressions
ktext = string.gsub(ktext, "%%([^%%]*)%%", expression_evaluator)
local newline = copy_line(line)
newline.text = ktext .. text
return { n=1, [1]=newline }
end
function do_line(meta, styles, config, line)
if config.workstyle == "" or config.workstyle == line.style then
return karaskel.do_line(meta, styles, config, line)
else
return { n=1, [1]=line }
end
end

View File

@ -1,171 +0,0 @@
--[[
Copyright (c) 2005, 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 Automation factory-brewed script
-- "Template-based multiple-lines-per-syllable karaoke effects"
-- Use karaskel.lua for skeleton code
include("karaskel-adv.lua")
-- Define the name of the script
name = "Template-based effects"
-- Define a description of the script
description = "Makes advanced effects using templates embedded into the subtitle script. Please see the help for information on how to use this script."
-- Only one config option here.
-- Everything else is defined in the subtitle script
configuration = {
-- Allow the user to specify whether to strip tags or not
[1] = {
name = "striptags";
kind = "bool";
label = "Strip all tags";
hint = "Strip all formatting tags apart from the processed karaoke tags?";
default = false
},
[2] = {
name = "skipunknown";
kind = "bool";
label = "Remove unknown lines";
hint = "Removes all lines without a defined template";
default = false
}
}
-- Mandatory values
version, kind= 3, 'basic_ass'
function do_syllable(meta, styles, config, line, syl)
-- text is the replacement text for the syllable
-- ktext is the karaoke effect string
local text, ktext
-- Prepare the stripped or unstripped main text
if config.striptags then
text = syl.text_stripped
else
text = syl.text
end
local result = { n=0 }
-- Don't bother with empty syllables
if syl.text == "" or syl.n == 0 then
return result
end
-- Add the variable names to the syllable data
syl["dur"] = syl.duration
syl["start"] = syl.start_time
syl["end"] = syl.end_time
syl["mid"] = syl.start_time + syl.duration*5
syl["x"] = syl.center + line.centerleft
-- Prepare the karaoke effect string
for templateid, template in template_data[line.style] do
local ktext = template.text
-- do_repeat is global on purpose
_G.do_repeat = false
repeat
-- Function for replacing the variables
local function var_replacer(varname)
varname = string.lower(varname)
if syl[varname] ~= nil then
return syl[varname]
else
aegisub.output_debug(string.format("Unknown variable name: %s", varname))
return "$" .. varname
end
end
-- Replace the variables in the ktext
ktext = string.gsub(ktext, "$(%a+)", var_replacer)
local skipline = false
local newline = copy_line(line)
newline.layer = template.layer
A = { meta = meta, styles = styles, line = line, syl = syl, newline = newline }
-- Function for evaluating expressions
local function expression_evaluator(expression)
if string.find(expression, "return") then
chunk, err = loadstring(expression)
else
chunk, err = loadstring(string.format("return (%s)", expression))
end
if (err) ~= nil then
aegisub.output_debug(string.format("Error parsing expression:\n%s", expression, err))
return "%" .. expression .. "%"
else
local result = chunk(meta, styles, line, syl, newline)
if result then
return result
else
skipline = true
return ""
end
end
end
-- Find and evaluate expressions
ktext = string.gsub(ktext, "%%([^%%]*)%%", expression_evaluator)
newline.text = ktext .. text
if not (kline == "" or skipline) then
table.insert(result, newline)
end
until not do_repeat
end
return result
end
function do_line(meta, styles, config, line)
if line.kind == "comment" and line.name == "template" then
if not template_data[line.style] then
template_data[line.style] = {}
end
table.insert(template_data[line.style], line)
return { n=0 }
elseif line.kind == "dialogue" and template_data[line.style] then
return karaskel.do_line(meta, styles, config, line)
elseif not config.skipunknown then
return { n=1, [1]=line }
else
return { n=0 }
end
if config.workstyle == "" or config.workstyle == line.style then
return adv_do_line(meta, styles, config, line)
else
return { n=1, [1]=line }
end
end
function process_lines(meta, styles, lines, config)
template_data = {}
return karaskel.process_lines(meta, styles, lines, config)
end

View File

@ -1,12 +0,0 @@
This directory contains flexible, configurable Automation scripts to do common jobs,
without having to do (much) programming.
You can load these scripts into an ASS file in Aegisub, and apply an effect without
doing more than writing ASS override tags.
WARNING!
DO NOT ADD YOUR OWN FILES TO THIS DIRECTORY,
they will be deleted when you uninstall/upgrade Aegisub.
This also means it's unwise to modify these files, if you want to keep your
changes to them.

View File

@ -1,147 +0,0 @@
--[[
Copyright (c) 2005, 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 Automation factory-brewed script
-- "Basic \k replacer"
-- Use karaskel.lua for skeleton code
include("karaskel.lua")
-- Define the name of the script
name = "Basic \\k replacer"
-- Define a description of the script
description = "Makes basic karaoke effects. Replace all \\k tags (and variations) with a custom string, where some variables can be substituted in."
-- Define the script variables that can be configured graphically
-- This is the primary point of the script, being able to configure it graphically
configuration = {
-- First a label to descript what special variables can be used
[1] = {
name = "label1";
kind = "label";
label = [[Variable-names are prefixed with $,
expressions are enclosed in % pairs.
Variables:
$START = Start-time of syllable (ms)
$END = End-time of syllable (ms)
$MID = Time midways through the syllable (ms)
$DUR = Duration of syllable (cs)
Calculation example:
\t($start,%$start+$dur*2%,\fscx110)
\t(%$start+$dur*2%,$end,\fscx90)]];
hint = ""
-- No "default", since a label doesn't have a value
},
-- Then a text field to input the string to replace \k's with
-- Make the default a "NOP" string
[2] = {
name = "k_repstr";
kind = "text";
label = "\\k replacement";
hint = "The string to replace \\k tags with. Should start and end with { } characters.";
default = "{\\k$DUR}"
},
-- Allow the user to specify whether to strip tags or not
[3] = {
name = "striptags";
kind = "bool";
label = "Strip all tags";
hint = "Strip all formatting tags apart from the processed karaoke tags?";
default = false
},
[4] = {
name = "workstyle";
kind = "style";
label = "Line style";
hint = "Only apply the effect to lines with this style. Empty means apply to all lines.";
default = ""
}
}
-- Mandatory values
version, kind= 3, 'basic_ass'
function do_syllable(meta, styles, config, line, syl)
-- text is the replacement text for the syllable
-- ktext is the karaoke effect string
local text, ktext
-- Prepare the stripped or unstripped main text
if config.striptags then
text = syl.text_stripped
else
text = syl.text
end
if syl.n == 0 then
return text
end
-- Add the variable names to the syllable data
syl["dur"] = syl.duration
syl["start"] = syl.start_time
syl["end"] = syl.end_time
syl["mid"] = syl.start_time + syl.duration*5
ktext = config.k_repstr
-- Function for replacing the variables
local function var_replacer(varname)
varname = string.lower(varname)
if syl[varname] ~= nil then
return syl[varname]
else
aegisub.output_debug(string.format("Unknown variable name: %s", varname))
return "$" .. varname
end
end
-- Replace the variables in the ktext
ktext = string.gsub(ktext, "$(%a+)", var_replacer)
-- Function for evaluating expressions
local function expression_evaluator(expression)
chunk, err = loadstring(string.format("return (%s)", expression))
if (err) ~= nil then
aegisub.output_debug(string.format("Error parsing expression:\n%s", expression, err))
return "%" .. expression .. "%"
else
return chunk()
end
end
-- Find and evaluate expressions
ktext = string.gsub(ktext, "%%([^%%]*)%%", expression_evaluator)
return ktext .. text
end
function do_line(meta, styles, config, line)
if config.workstyle == "" or config.workstyle == line.style then
return karaskel.do_line(meta, styles, config, line)
else
return { n=1, [1]=line }
end
end

View File

@ -0,0 +1,78 @@
-- Copyright (c) 2014, 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.
--
-- Aegisub Project http://www.aegisub.org/
assert = assert
error = error
select = select
tostring = tostring
type = type
is_type = (v, ty, expected) ->
ty == expected or (ty == 'table' and v.__class and v.__class.__name == expected)
(argfmt) ->
assert type(argfmt) == 'string'
min_args = 0
max_args = 0
checks = {}
for arg in argfmt\gmatch '[^ ]+'
if arg == '...'
max_args = nil
break
max_args += 1
optional = arg\sub(1, 1) == '?'
if optional
arg = arg\sub 2
else
min_args += 1
if arg\find '|'
types = [ty for ty in arg\gmatch '[^|]+']
checks[max_args] = (i, v) ->
if v == nil
return if optional
error "Argument ##{i} should be a #{arg}, is nil", 4
ty = type v
for argtype in *types
return if is_type v, ty, argtype
error "Argument ##{i} should be a #{arg}, is #{ty} (#{v})", 3
else
checks[max_args] = (i, v) ->
if v == nil
return if optional
error "Argument ##{i} should be a #{arg}, is nil", 4
ty = type v
return if is_type v, ty, arg
error "Argument ##{i} should be a #{arg}, is #{ty} (#{v})", 3
(fn) -> (...) ->
arg_count = select '#', ...
if arg_count < min_args or (max_args and arg_count > max_args)
if min_args == max_args
error "Expected #{min_args} arguments, got #{arg_count}", 3
else if max_args
error "Expected #{min_args}-#{max_args} arguments, got #{arg_count}", 3
else
error "Expected at least #{min_args} arguments, got #{arg_count}", 3
for i=1,arg_count
if not checks[i] then break
checks[i] i, select i, ...
fn ...

View File

@ -0,0 +1,22 @@
-- 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.
local check = require 'aegisub.argcheck'
local ffi_util = require 'aegisub.ffi'
local impl = aegisub.__init_clipboard()
return {
get = function() return ffi_util.string(impl.get()) end,
set = check'string'(impl.set)
}

View File

@ -0,0 +1,48 @@
-- Copyright (c) 2014, 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.
--
-- Aegisub Project http://www.aegisub.org/
ffi = require 'ffi'
ffi.cdef[[
void free(void *ptr);
]]
char_ptr = ffi.typeof 'char *'
-- Convert a const char * to a lua string, returning nil rather than crashing
-- if it's NULL and freeing the input if it's non-const
string = (cdata) ->
return nil if cdata == nil
str = ffi.string cdata
if type(cdata) == char_ptr
ffi.C.free cdata
str
err_buff = ffi.new 'char *[1]'
-- Convert a function which has an error out parameter to one which returns
-- the original return value and the error as a string
err_arg_to_multiple_return = (f) -> (arg) ->
err_buff[0] = nil
result = if arg != nil
f arg, err_buff
else
f err_buff
errmsg = string err_buff[0]
if errmsg
return nil, errmsg
return result
{:string, :err_arg_to_multiple_return}

View File

@ -0,0 +1,82 @@
-- Copyright (c) 2014, 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.
--
-- Aegisub Project http://www.aegisub.org/
impl = require 'aegisub.__lfs_impl'
check = require 'aegisub.argcheck'
ffi = require 'ffi'
ffi_util = require 'aegisub.ffi'
for k, v in pairs impl
impl[k] = ffi_util.err_arg_to_multiple_return v
string_ret = (f) -> (...) ->
res, err = f ...
ffi_util.string(res), err
number_ret = (f) -> (...) ->
res, err = f ...
tonumber(res), err
attributes = check'string ?string' (path, field) ->
switch field
when 'mode'
res, err = impl.get_mode path
ffi_util.string(res), err
when 'modification'
res, err = impl.get_mtime path
tonumber(res), err
when 'size'
res, err = impl.get_size path
tonumber(res), err
else
mode, err = impl.get_mode path
if err or mode == nil then return nil, err
mod, err = impl.get_mtime path
if err then return nil, err
size, err = impl.get_size path
if err then return nil, err
mode: ffi_util.string(mode), modification: tonumber(mod), size: tonumber(size)
class dir_iter
new: (iter) =>
@iter = ffi.gc iter, -> impl.dir_free iter
close: =>
impl.dir_close @iter
next: =>
str, err = impl.dir_next @iter
if err then error err, 2
ffi_util.string str
dir = check'string' (path) ->
obj, err = impl.dir_new path
if err
error 2, err
iter = dir_iter obj
iter.next, iter
return {
:attributes
chdir: check'string' number_ret impl.chdir
currentdir: check'' string_ret impl.currentdir
:dir
mkdir: check'string' number_ret impl.mkdir
rmdir: check'string'number_ret impl.rmdir
touch: check'string'number_ret impl.touch
}

View File

@ -0,0 +1,14 @@
# Copy files to build directory for testing purposes
lua_files = files(
'argcheck.moon',
'clipboard.lua',
'ffi.moon',
'lfs.moon',
're.moon',
'unicode.moon',
'util.moon',
)
foreach f: lua_files
configure_file(input: f, output: '@PLAINNAME@', copy: true)
endforeach

View File

@ -0,0 +1,271 @@
-- 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.
error = error
next = next
select = select
type = type
bit = require 'bit'
ffi = require 'ffi'
ffi_util = require 'aegisub.ffi'
check = require 'aegisub.argcheck'
ffi.cdef[[
typedef struct agi_re_flag {
const char *name;
int value;
} agi_re_flag;
]]
regex_flag = ffi.typeof 'agi_re_flag'
-- Get the boost::eegex binding
regex = require 'aegisub.__re_impl'
-- Wrappers to convert returned values from C types to Lua types
search = (re, str, start) ->
return unless start <= str\len()
res = regex.search re, str, str\len(), start
return unless res != nil
first, last = res[0], res[1]
ffi.gc(res, ffi.C.free)
first, last
replace = (re, replacement, str, max_count) ->
ffi_util.string regex.replace re, replacement, str, str\len(), max_count
match = (re, str, start) ->
assert start <= str\len()
m = regex.match re, str, str\len(), start
return unless m != nil
ffi.gc m, regex.match_free
get_match = (m, idx) ->
res = regex.get_match m, idx
return unless res != nil
res[0], res[1] -- Result buffer is owned by match so no need to free
err_buff = ffi.new 'char *[1]'
compile = (pattern, flags) ->
err_buff[0] = nil
re = regex.compile pattern, flags, err_buff
if err_buff[0] != nil
return ffi.string err_buff[0]
ffi.gc re, regex.regex_free
-- Return the first n elements from ...
select_first = (n, a, ...) ->
if n == 0 then return
a, select_first n - 1, ...
-- Bitwise-or together regex flags passed as arguments to a function
process_flags = (...) ->
flags = 0
for i = 1, select '#', ...
v = select i, ...
if not ffi.istype regex_flag, v
error 'Flags must follow all non-flag arguments', 3
flags = bit.bor flags, v.value
flags
-- Extract the flags from ..., bitwise OR them together, and move them to the
-- front of ...
unpack_args = (...) ->
flags_start = nil
for i = 1, select '#', ...
v = select i, ...
if ffi.istype regex_flag, v
flags_start = i
break
return 0, ... unless flags_start
process_flags(select flags_start, ...), select_first flags_start - 1, ...
-- Replace a match with the value returned from func when passed the match
replace_match = (match, func, str, last, acc) ->
-- Copy everything between the last match and this match
if last < match.last
acc[#acc + 1] = str\sub last, match.first - 1
repl = func match.str, match.first, match.last
-- If it didn't return a string just leave the old value
acc[#acc + 1] = if type(repl) == 'string' then repl else match.str
match.first, match.last + 1
-- Replace all matches from a single iteration of the regexp
do_single_replace_fun = (re, func, str, acc, pos) ->
matches = re\match str, pos
-- No more matches so just return what's left of the input
return pos unless matches
-- If there's only one match then there's no capturing groups and we need
-- to pass the entire match to the replace function, but if there's
-- multiple then we want to skip the full match and only pass the capturing
-- groups.
start = if #matches == 1 then 1 else 2
last = pos
local first
for i = start, #matches
first, last = replace_match matches[i], func, str, last, acc
-- Always eat at least one character from the input or we'll just make the
-- same match max_count times
if first == last
acc[#acc + 1] = str\sub last, last
last += 1
return last, matches[1].first <= str\len()
do_replace_fun = (re, func, str, max) ->
acc = {}
pos = 1
local i
for i = 1, max do
pos, more = do_single_replace_fun re, func, str, acc, pos
unless more
max = i
break
table.concat(acc, '') .. str\sub pos
-- Compiled regular expression type protoype
class RegEx
-- Verify that a valid value was passed for self
_check_self: =>
unless @__class == RegEx
error 're method called with invalid self. You probably used . when : is needed.', 3
new: (@_regex, @_level) =>
gsplit: check'RegEx string ?boolean ?number' (str, skip_empty, max_split) =>
if not max_split or max_split <= 0 then max_split = str\len()
start = 0
prev = 1
do_split = () ->
if not str or str\len() == 0 then return
local first, last
if max_split > 0
first, last = search @_regex, str, start
if not first or first > str\len()
ret = str\sub prev, str\len()
str = nil
return if skip_empty and ret\len() == 0 then nil else ret
ret = str\sub prev, first - 1
prev = last + 1
start = if start >= last then start + 1 else last
if skip_empty and ret\len() == 0
do_split()
else
max_split -= 1
ret
do_split
split: check'RegEx string ?boolean ?number' (str, skip_empty, max_split) =>
[v for v in @gsplit str, skip_empty, max_split]
gfind: check'RegEx string' (str) =>
start = 0
->
first, last = search(@_regex, str, start)
return unless first
start = if last > start then last else start + 1
str\sub(first, last), first, last
find: check'RegEx string' (str) =>
ret = [str: s, first: f, last: l for s, f, l in @gfind(str)]
next(ret) and ret
sub: check'RegEx string string|function ?number' (str, repl, max_count) =>
max_count = str\len() + 1 if not max_count or max_count == 0
if type(repl) == 'function'
do_replace_fun @, repl, str, max_count
elseif type(repl) == 'string'
replace @_regex, repl, str, max_count
gmatch: check'RegEx string ?number' (str, start) =>
start = if start then start - 1 else 0
m = match @_regex, str, start
i = 0
->
return unless m
first, last = get_match m, i
return unless first
i += 1
{
str: str\sub first + start, last + start
first: first + start
last: last + start
}
match: check'RegEx string ?number' (str, start) =>
ret = [v for v in @gmatch str, start]
-- Return nil rather than a empty table so that if re.match(...) works
return nil if next(ret) == nil
ret
-- Create a regex object from a pattern, flags, and error depth
real_compile = (pattern, level, flags, stored_level) ->
if pattern == ''
error 'Regular expression must not be empty', level + 1
re = compile pattern, flags
if type(re) == 'string'
error regex, level + 1
RegEx re, stored_level or level + 1
-- Compile a pattern then invoke a method on it
invoke = (str, pattern, fn, flags, ...) ->
compiled_regex = real_compile(pattern, 3, flags)
compiled_regex[fn](compiled_regex, str, ...)
-- Generate a static version of a method with arg type checking
gen_wrapper = (impl_name) -> check'string string ...' (str, pattern, ...) ->
invoke str, pattern, impl_name, unpack_args ...
-- And now at last the actual public API
do
re = {
compile: check'string ...' (pattern, ...) ->
real_compile pattern, 2, process_flags(...), 2
split: gen_wrapper 'split'
gsplit: gen_wrapper 'gsplit'
find: gen_wrapper 'find'
gfind: gen_wrapper 'gfind'
match: gen_wrapper 'match'
gmatch: gen_wrapper 'gmatch'
sub: gen_wrapper 'sub'
}
i = 0
flags = regex.get_flags()
while flags[i].name != nil
re[ffi.string flags[i].name] = flags[i]
i += 1
re

View File

@ -0,0 +1,106 @@
-- 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
impl = require 'aegisub.__unicode_impl'
check = require 'aegisub.argcheck'
ffi = require 'ffi'
ffi_util = require 'aegisub.ffi'
err_buff = ffi.new 'char *[1]'
conv_func = (f) -> check'string' (str) ->
err_buff[0] = nil
result = f str, err_buff
errmsg = ffi_util.string err_buff[0]
if errmsg
error errmsg, 2
ffi_util.string result
local unicode
unicode =
-- Return the number of bytes occupied by the character starting at the i'th byte in s
charwidth: check'string ?number' (s, i) ->
b = s\byte i or 1
-- FIXME, something in karaskel results in this case, shouldn't happen
-- What would "proper" behaviour be? Zero? Or just explode?
if not b then 1
elseif b < 128 then 1
elseif b < 224 then 2
elseif b < 240 then 3
else 4
-- Returns an iterator function for iterating over the characters in s
chars: check'string' (s) ->
curchar, i = 0, 1
->
return if i > s\len()
j = i
curchar += 1
i += unicode.charwidth s, i
s\sub(j, i - 1), curchar
-- Returns the number of characters in s
-- Runs in O(s:len()) time!
len: check'string' (s) ->
n = 0
n += 1 for c in unicode.chars s
n
-- Get codepoint of first char in s
codepoint: check'string' (s) ->
-- Basic case, ASCII
b = s\byte 1
return b if b < 128
-- Use a naive decoding algorithm, and assume input is valid
local res, w
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
else
res = b - 240
w = 4
for i = 2, w
res = res*64 + s\byte(i) - 128
res
to_upper_case: conv_func impl.to_upper_case
to_lower_case: conv_func impl.to_lower_case
to_fold_case: conv_func impl.to_fold_case
return unicode

View File

@ -0,0 +1,224 @@
-- Copyright (c) 2005-2010, Niels Martin Hansen, Rodrigo Braz Monteiro
-- Copyright (c) 2013, 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.
error = error
pairs = pairs
select = select
sformat = string.format
tonumber = tonumber
type = type
check = require 'aegisub.argcheck'
local *
-- Make a shallow copy of a table
copy = check'table' (tbl) -> {k, v for k, v in pairs tbl}
-- Make a deep copy of a table
-- Retains equality of table references inside the copy and handles self-referencing structures
deep_copy = check'table' (tbl) ->
seen = {}
copy = (val) ->
return val if type(val) != 'table'
return seen[val] if seen[val]
seen[val] = val
{k, copy(v) for k, v in pairs val}
copy tbl
-- Generates ASS hexadecimal string from R, G, B integer components, in &HBBGGRR& format
ass_color = (r, g, b) -> sformat "&H%02X%02X%02X&", b, g, r
-- Format an alpha-string for \Xa style overrides
ass_alpha = (a) -> sformat "&H%02X&", a
-- Format an ABGR string for use in style definitions (these don't end with & either)
ass_style_color = (r, g, b, a) -> sformat "&H%02X%02X%02X%02X", a, b, g, r
-- Extract colour components of an ASS colour
extract_color = check'string' (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)
-- 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
-- Then an alpha override
a = s\match '&H(%x%x)&'
if a then
return 0, 0, 0, tonumber(a, 16)
-- 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, 16), tonumber(g, 16) or 0, tonumber(b, 16) or 0, tonumber(a, 16) or 0
-- Create an alpha override code from a style definition colour code
alpha_from_style = check'string' (scolor) -> ass_alpha select 4, extract_color scolor
-- Create an colour override code from a style definition colour code
color_from_style = check'string' (scolor) ->
r, g, b = extract_color scolor
ass_color r or 0, g or 0, b or 0
-- Converts HSV (Hue, Saturation, Value) to RGB
HSV_to_RGB = (H, S, V) ->
r, g, b = 0, 0, 0
-- Saturation is zero, make grey
if S == 0
r = clamp(V*255, 0, 255)
g = r
b = r
-- Else, calculate color
else
-- Calculate subvalues
H = math.abs(H) % 360 -- Put H in range [0, 360)
Hi = math.floor(H/60)
f = H/60.0 - Hi
p = V*(1-S)
q = V*(1-f*S)
t = V*(1-(1-f)*S)
-- Do math based on hue index
if Hi == 0
r = V*255.0
g = t*255.0
b = p*255.0
elseif Hi == 1
r = q*255.0
g = V*255.0
b = p*255.0
elseif Hi == 2
r = p*255.0
g = V*255.0
b = t*255.0
elseif Hi == 3
r = p*255.0
g = q*255.0
b = V*255.0
elseif Hi == 4
r = t*255.0
g = p*255.0
b = V*255.0
elseif Hi == 5
r = V*255.0
g = p*255.0
b = q*255.0
else
error "math.floor(H % 360 / 60) should be [0, 6), is #{Hi}?"
return r, g, b
-- Convert HSL (Hue, Saturation, Luminance) to RGB
-- Contributed by Gundamn
HSL_to_RGB = (H, S, L) ->
local r, g, b
-- Make sure input is in range
H = math.abs(H) % 360
S = clamp(S, 0, 1)
L = clamp(L, 0, 1)
if S == 0 -- Simple case if saturation is 0, all grey
r = L
g = L
b = L
else
-- More common case, saturated colour
Q = if L < 0.5
L * (1.0 + S)
else
L + S - (L * S)
P = 2.0 * L - Q
Hk = H / 360
local Tr, Tg, Tb
if Hk < 1/3
Tr = Hk + 1/3
Tg = Hk
Tb = Hk + 2/3
elseif Hk > 2/3
Tr = Hk - 2/3
Tg = Hk
Tb = Hk - 1/3
else
Tr = Hk + 1/3
Tg = Hk
Tb = Hk - 1/3
get_component = (T) ->
if T < 1/6
P + ((Q - P) * 6.0 * T)
elseif 1/6 <= T and T < 1/2
Q
elseif 1/2 <= T and T < 2/3
P + ((Q - P) * (2/3 - T) * 6.0)
else
P
r = get_component(Tr)
g = get_component(Tg)
b = get_component(Tb)
return math.floor(r*255+0.5), math.floor(g*255+0.5), math.floor(b*255+0.5)
-- Removes spaces at the start and end of string
trim = (s) -> s\gsub '^%s*(.-)%s*$', '%1'
-- Get the 'head' and 'tail' of a string, treating it as a sequence of words separated by one or more space-characters
headtail = (s) ->
a, b, head, tail = s\find '(.-)%s+(.*)'
if a then head, tail else s, ''
-- Iterator function for headtail
words = (s) -> ->
return if s == ''
head, tail = headtail s
s = tail
head
-- Clamp a number value to a range
clamp = (val, min, max) ->
if val < min then min elseif val > max then max else val
-- Interpolate between two numbers
interpolate = (pct, min, max) ->
if pct <= 0 then min elseif pct >= 1 then max else pct * (max - min) + min
-- Interpolate between two colour values, given in either style definition or style override format
-- Return in style override format
interpolate_color = (pct, first, last) ->
r1, g1, b1 = extract_color first
r2, g2, b2 = extract_color last
r, g, b = interpolate(pct, r1, r2), interpolate(pct, g1, g2), interpolate(pct, b1, b2)
ass_color r, g, b
-- Interpolate between two alpha values, given either in style override or as part as a style definition colour
-- Return in style override format
interpolate_alpha = (pct, first, last) ->
ass_alpha interpolate pct, select(4, extract_color first), select(4, extract_color last)
{ :copy, :deep_copy, :ass_color, :ass_alpha, :ass_style_color,
:extract_color, :alpha_from_style, :color_from_style, :HSV_to_RGB,
:HSL_to_RGB, :trim, :headtail, :words, :clamp, :interpolate,
:interpolate_color, :interpolate_alpha }

View File

@ -0,0 +1,114 @@
--[[
"Clean Tags" -- An Auto4 LUA script for cleaning up ASS subtitle lines of badly-formed override
blocks and redundant/duplicate tags
* Designed to work for Aegisub 2.0 and above
* include()'ed this file from any auto4 script to use the cleantags() function below
* Might change from time to time so look out for cleantags_version below
Copyright (c) 2007-2009 Muhammad Lukman Nasaruddin (aka ai-chan, Aegisub's forum member)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
]]
cleantags_version = "1.302"
cleantags_modified = "12 October 2023"
ktag = "\\[kK][fo]?[%d.]+"
--[[ The main function that performs the cleaning up
Takes: text
Returns: cleaned up text
]]
function cleantags(text)
--[[ Combine adjacent override override blocks into one ]]
function combineadjacentnotks(block1, block2)
if string.find(block1, ktag) and string.find(block2, ktag) then
-- if both adjacent override blocks have \k , let them be
return "{" .. block1 .. "}" .. string.char(1) .. "{" .. block2 .. "}" -- char(1) prevents infinite loop
else
-- either one or both override blocks don't have \k , so combine them into one override block
return "{" .. block1 .. block2 .. "}"
end
end
repeat
if aegisub.progress.is_cancelled() then return end
text, replaced = string.gsub(text,"{(.-)}{(.-)}", combineadjacentnotks)
until replaced == 0
text = string.gsub(text, string.char(1), "") -- removes all char(1) we inserted
--[[ Move first \k tag in override blocks to the front ]]
text = string.gsub(text, "{([^{}]-)(" .. ktag .. ")(.-)}", "{%2%1%3}")
--[[ For some reasons if one override block has more than one \k tag,
push those to behind the first \k tag (which has been pushed to front already) ]]
repeat
if aegisub.progress.is_cancelled() then return end
text, replaced = string.gsub(text, "{([^{}]-)(" .. ktag .. ")(\\[^kK][^}]-)(" .. ktag .. ")(.-)}", "{%1%2%4%3%5}")
until replaced == 0
--[[ Move to the front all tags that affect the whole line (i.e. not affected by their positions in the line) ]]
local linetags = ""
function first(pattern)
local p_s, _, p_tag = string.find(text, pattern)
if p_s then
text = string.gsub(text, pattern, "")
linetags = linetags .. p_tag
end
end
function firstoftwo(pattern1, pattern2)
local p1_s, _, p1_tag = string.find(text, pattern1)
local p2_s, _, p2_tag = string.find(text, pattern2)
text = string.gsub(text, pattern1, "")
text = string.gsub(text, pattern2, "")
if p1_s and (not p2_s or p1_s < p2_s) then
linetags = linetags .. p1_tag
elseif p2_s then
linetags = linetags .. p2_tag
end
end
-- \an or \a
first("(\\an?%d+)")
-- \org
first("(\\org%([^,%)]*,[^,%)]*%))")
-- \move and \pos (the first one wins)
firstoftwo("(\\move%([^,%)]*,[^,%)]*,[^,%)]*,[^,%)]*%))", "(\\pos%([^,%)]*,[^,%)]*%))")
-- \fade and \fad (the first one wins)
firstoftwo("(\\fade%([^,%)]*,[^,%)]*,[^,%)]*,[^,%)]*,[^,%)]*,[^,%)]*,[^,%)]*%))", "(\\fad%([^,%)]*,[^,%)]*%))")
-- integrate
if string.len(linetags) > 0 then
if string.sub(text, 1, 1) == "{" then
text = "{" .. linetags .. string.sub(text, 2)
else
text = "{" .. linetags .. "}" .. text
end
end
--[[ Remove any spaces within parenteses within override blocks except for \clip tags ]]
local comb = function(a,b,c,d,e)
if (c ~= "\\clip" and c ~= "\\iclip") or d:sub(-1):find("[,%({]") or e:sub(1,1):find("[,%)}]") then return a..b..d..e
else return a..b..d..string.char(2)..e end
end
repeat
text, replaced2 = string.gsub(text, "({[^}\\]*)([^}%s]*(\\[^%(}\\%s]*))%s*(%([^%s%)}]*)%s+([^}]*)", comb)
until replaced2 == 0
text, _ = text:gsub(string.char(2)," ")
--[[ Remove all empty override blocks ==> {} ]]
text = string.gsub(text, "{%s*}", "")
--[[ Finally, return the cleaned up text ]]
return text
end

View File

@ -0,0 +1,16 @@
-- 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.
_G.clipboard = require 'aegisub.clipboard'
return _G.clipboard

View File

@ -1,70 +0,0 @@
--[[
Copyright (c) 2005, 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 Automation include file
-- This include file is an extension of karaskel.lua providing out-of-the-box support for per-syllable
-- positioning of karaoke.
-- It automatically includes and re-setups karaskel.lua, so you should not include that yourself!
include("karaskel-base.lua")
karaskel.engage_positioning = true
-- The interface here has been greatly simplified, there is only one function to override, do_syllable
-- The format for that one has changed.
-- The rest of the functions can be "emulated" through the do_syllable function.
-- Though you can still also override do_line and get an effect our of it, it's not advisable, since that
-- defeats the entire purpose of using this include file.
-- The arguments here mean the same as in karaskel.lua, and all tables have the same members
-- The return value is different now, though.
-- It is required to be in the same format as the do_line function:
-- A table with an "n" key, and keys 0..n-1 with line structures.
function karaskel.do_syllable(meta, styles, config, line, syl)
karaskel.trace("default_do_syllable")
return {n=0}
end
do_syllable = karaskel.do_syllable
function karaskel.do_line(meta, styles, config, line)
karaskel.trace("adv_do_line")
if line.kind ~= "dialogue" then
return {n=1, [1]=line}
end
local result = {n=0}
for i = 0, line.karaoke.n-1 do
karaskel.trace("adv_do_line:2:"..i)
local out = do_syllable(meta, styles, config, line, line.karaoke[i])
for j = 1, out.n do
table.insert(result, out[j])
end
end
karaskel.trace("adv_do_line:3")
return result
end
do_line = karaskel.do_line

View File

@ -0,0 +1,690 @@
--[[
Copyright (c) 2007, 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.
]]
include("utils.lua")
include("unicode.lua")
-- Make sure karaskel table exists
if not karaskel then
karaskel = {}
end
-- Collect styles and metadata from the subs
function karaskel.collect_head(subs, generate_furigana)
local meta = {
-- X and Y script resolution
res_x = 0, res_y = 0,
-- Aspect ratio correction factor for video/script resolution mismatch
video_x_correct_factor = 1.0
}
local styles = { n = 0 }
local toinsert = {}
local first_style_line = nil
if not karaskel.furigana_scale then
karaskel.furigana_scale = 0.5
end
-- First pass: collect all existing styles and get resolution info
for i, l in ipairs(subs) do
if aegisub.progress.is_cancelled() then error("User cancelled") end
if l.class == "style" then
if not first_style_line then
first_style_line = i
end
-- Store styles into the style table
styles.n = styles.n + 1
styles[styles.n] = l
styles[l.name] = l
l.margin_v = l.margin_t -- convenience
-- And also generate furigana styles if wanted
if generate_furigana and not l.name:match("furigana") then
aegisub.debug.out(5, "Creating furigana style for style: %s\n", l.name)
local fs = table.copy(l)
fs.fontsize = l.fontsize * karaskel.furigana_scale
fs.outline = l.outline * karaskel.furigana_scale
fs.shadow = l.shadow * karaskel.furigana_scale
fs.name = l.name .. "-furigana"
table.insert(toinsert, fs) -- queue to insert in file
end
elseif l.class == "info" then
-- Also look for script resolution
local k = l.key:lower()
meta[k] = l.value
else
break
end
end
if first_style_line == nil then
error("Karaskel error: No styles were found in the file, bug?!")
end
-- Second pass: insert all toinsert styles that don't already exist
for i = 1, #toinsert do
if not styles[toinsert[i].name] then
-- Insert into styles table
styles.n = styles.n + 1
styles[styles.n] = toinsert[i]
styles[toinsert[i].name] = toinsert[i]
-- And subtitle file
subs[-first_style_line] = toinsert[i]
end
end
-- Fix resolution data
meta.res_x, meta.res_y = subs.script_resolution()
local video_x, video_y = aegisub.video_size()
if video_y then
-- Correction factor for TextSub weirdness when render resolution does
-- not match script resolution. Text pixels are considered square in
-- render resolution rather than in script resolution, which is
-- logically inconsistent. Correct for that.
meta.video_x_correct_factor =
(video_y / video_x) / (meta.res_y / meta.res_x)
end
aegisub.debug.out(4, "Karaskel: Video X correction factor = %f\n\n", meta.video_x_correct_factor)
return meta, styles
end
-- Pre-process line, determining stripped text, karaoke data and splitting off furigana data
-- Modifies the object passed for line
function karaskel.preproc_line_text(meta, styles, line)
-- Assume line is class=dialogue
local kara = aegisub.parse_karaoke_data(line)
line.kara = { n = 0 }
line.furi = { n = 0 }
line.text_stripped = ""
line.duration = line.end_time - line.start_time
local worksyl = { highlights = {n=0}, furi = {n=0} }
local cur_inline_fx = ""
for i = 0, #kara do
local syl = kara[i]
-- Detect any inline-fx tags
local inline_fx = syl.text:match("%{.*\\%-([^}\\]+)")
if inline_fx then
cur_inline_fx = inline_fx
end
-- Strip spaces (only basic ones, no fullwidth etc.)
local prespace, syltext, postspace = syl.text_stripped:match("^([ \t]*)(.-)([ \t]*)$")
-- See if we've broken a (possible) multi-hl stretch
-- If we did it's time for a new worksyl (though never for the zero'th syllable)
local prefix = syltext:sub(1,unicode.charwidth(syltext,1))
if prefix ~= "#" and prefix ~= "" and i > 0 then
line.kara[line.kara.n] = worksyl
line.kara.n = line.kara.n + 1
worksyl = { highlights = {n=0}, furi = {n=0} }
end
-- Add highlight data
local hl = {
start_time = syl.start_time,
end_time = syl.end_time,
duration = syl.duration
}
worksyl.highlights.n = worksyl.highlights.n + 1
worksyl.highlights[worksyl.highlights.n] = hl
-- Detect furigana (both regular and fullwidth pipes work)
-- Furigana is stored independantly from syllables
if syltext:find("|") or syltext:find("") then
-- Replace fullwidth pipes, they aren't regex friendly
syltext = syltext:gsub("", "|")
-- Get before/after pipe text
local maintext, furitext = syltext:match("^(.-)|(.-)$")
syltext = maintext
local furi = { }
furi.syl = worksyl
-- Magic happens here
-- isbreak = Don't join this furi visually with previous furi, even if their main texts are adjacent
-- spillback = Allow this furi text to spill over the left edge of the main text
-- (Furi is always allowed to spill over the right edge of main text.)
local prefix = furitext:sub(1,unicode.charwidth(furitext,1))
if prefix == "!" or prefix == "" then
furi.isbreak = true
furi.spillback = false
elseif prefix == "<" or prefix == "" then
furi.isbreak = true
furi.spillback = true
else
furi.isbreak = false
furi.spillback = false
end
-- Remove the prefix character from furitext, if there was one
if furi.isbreak then
furitext = furitext:sub(unicode.charwidth(furitext,1)+1)
end
-- Some of these may seem superflous, but a furi should ideally have the same "interface" as a syllable
furi.start_time = syl.start_time
furi.end_time = syl.end_time
furi.duration = syl.duration
furi.kdur = syl.duration / 10
furi.text = furitext
furi.text_stripped = furitext
furi.text_spacestripped = furitext
furi.line = line
furi.tag = syl.tag
furi.inline_fx = cur_inline_fx
furi.i = line.kara.n
furi.prespace = ""
furi.postspace = ""
furi.highlights = { n=1, [1]=hl }
furi.isfuri = true
line.furi.n = line.furi.n + 1
line.furi[line.furi.n] = furi
worksyl.furi.n = worksyl.furi.n + 1
worksyl.furi[worksyl.furi.n] = furi
end
-- Syllables that aren't part of a multi-highlight generate a new output-syllable
if not worksyl.text or (prefix ~= "#" and prefix ~= "") then
-- Update stripped line-text
line.text_stripped = line.text_stripped .. prespace .. syltext .. postspace
-- Copy data from syl to worksyl
worksyl.text = syl.text
worksyl.duration = syl.duration
worksyl.kdur = syl.duration / 10
worksyl.start_time = syl.start_time
worksyl.end_time = syl.end_time
worksyl.tag = syl.tag
worksyl.line = line
-- And add new data to worksyl
worksyl.i = line.kara.n
worksyl.text_stripped = prespace .. syltext .. postspace -- be sure to include the spaces so the original line can be built from text_stripped
worksyl.inline_fx = cur_inline_fx
worksyl.text_spacestripped = syltext
worksyl.prespace = prespace
worksyl.postspace = postspace
else
-- This is just an extra highlight
worksyl.duration = worksyl.duration + syl.duration
worksyl.kdur = worksyl.kdur + syl.duration / 10
worksyl.end_time = syl.end_time
end
end
-- Add the last syllable
line.kara[line.kara.n] = worksyl
-- But don't increment n here, n should be the highest syllable index! (The zero'th syllable doesn't count.)
end
-- Pre-calculate sizing information for the given line, no layouting is done
-- Modifies the object passed for line
function karaskel.preproc_line_size(meta, styles, line)
if not line.kara then
karaskel.preproc_line_text(meta, styles, line)
end
-- Add style information
if styles[line.style] then
line.styleref = styles[line.style]
else
aegisub.debug.out(2, "WARNING: Style not found: " .. line.style .. "\n")
line.styleref = styles[1]
end
-- Calculate whole line sizing
line.width, line.height, line.descent, line.extlead = aegisub.text_extents(line.styleref, line.text_stripped)
line.width = line.width * meta.video_x_correct_factor
-- Calculate syllable sizing
for s = 0, line.kara.n do
local syl = line.kara[s]
syl.style = line.styleref
syl.width, syl.height = aegisub.text_extents(syl.style, syl.text_spacestripped)
syl.width = syl.width * meta.video_x_correct_factor
syl.prespacewidth = aegisub.text_extents(syl.style, syl.prespace) * meta.video_x_correct_factor
syl.postspacewidth = aegisub.text_extents(syl.style, syl.postspace) * meta.video_x_correct_factor
end
-- Calculate furigana sizing
if styles[line.style .. "-furigana"] then
line.furistyle = styles[line.style .. "-furigana"]
else
aegisub.debug.out(4, "No furigana style defined for style '%s'\n", line.style)
line.furistyle = false
end
if line.furistyle then
for f = 1, line.furi.n do
local furi = line.furi[f]
furi.style = line.furistyle
furi.width, furi.height = aegisub.text_extents(furi.style, furi.text)
furi.width = furi.width * meta.video_x_correct_factor
furi.prespacewidth = 0
furi.postspacewidth = 0
end
end
end
-- Layout a line, including furigana layout
-- Modifies the object passed for line
function karaskel.preproc_line_pos(meta, styles, line)
if not line.styleref then
karaskel.preproc_line_size(meta, styles, line)
end
-- Syllable layouting must be done before the rest, since furigana layout may change the total width of the line
if line.furistyle then
karaskel.do_furigana_layout(meta, styles, line)
else
karaskel.do_basic_layout(meta, styles, line)
end
-- Effective margins
line.margin_v = line.margin_t
line.eff_margin_l = ((line.margin_l > 0) and line.margin_l) or line.styleref.margin_l
line.eff_margin_r = ((line.margin_r > 0) and line.margin_r) or line.styleref.margin_r
line.eff_margin_t = ((line.margin_t > 0) and line.margin_t) or line.styleref.margin_t
line.eff_margin_b = ((line.margin_b > 0) and line.margin_b) or line.styleref.margin_b
line.eff_margin_v = ((line.margin_v > 0) and line.margin_v) or line.styleref.margin_v
-- And positioning
if line.styleref.align == 1 or line.styleref.align == 4 or line.styleref.align == 7 then
-- Left aligned
line.left = line.eff_margin_l
line.center = line.left + line.width / 2
line.right = line.left + line.width
line.x = line.left
line.halign = "left"
elseif line.styleref.align == 2 or line.styleref.align == 5 or line.styleref.align == 8 then
-- Centered
line.left = (meta.res_x - line.eff_margin_l - line.eff_margin_r - line.width) / 2 + line.eff_margin_l
line.center = line.left + line.width / 2
line.right = line.left + line.width
line.x = line.center
line.halign = "center"
elseif line.styleref.align == 3 or line.styleref.align == 6 or line.styleref.align == 9 then
-- Right aligned
line.left = meta.res_x - line.eff_margin_r - line.width
line.center = line.left + line.width / 2
line.right = line.left + line.width
line.x = line.right
line.halign = "right"
end
line.hcenter = line.center
if line.styleref.align >=1 and line.styleref.align <= 3 then
-- Bottom aligned
line.bottom = meta.res_y - line.eff_margin_b
line.middle = line.bottom - line.height / 2
line.top = line.bottom - line.height
line.y = line.bottom
line.valign = "bottom"
elseif line.styleref.align >= 4 and line.styleref.align <= 6 then
-- Mid aligned
line.top = (meta.res_y - line.eff_margin_t - line.eff_margin_b - line.height) / 2 + line.eff_margin_t
line.middle = line.top + line.height / 2
line.bottom = line.top + line.height
line.y = line.middle
line.valign = "middle"
elseif line.styleref.align >= 7 and line.styleref.align <= 9 then
-- Top aligned
line.top = line.eff_margin_t
line.middle = line.top + line.height / 2
line.bottom = line.top + line.height
line.y = line.top
line.valign = "top"
end
line.vcenter = line.middle
end
-- Do simple syllable layouting (no furigana)
function karaskel.do_basic_layout(meta, styles, line)
local curx = 0
for i = 0, line.kara.n do
local syl = line.kara[i]
syl.left = curx + syl.prespacewidth
syl.center = syl.left + syl.width / 2
syl.right = syl.left + syl.width
curx = curx + syl.prespacewidth + syl.width + syl.postspacewidth
end
end
-- Do advanced furigana layout algorithm
function karaskel.do_furigana_layout(meta, styles, line)
-- Start by building layout groups
-- Two neighboring syllables with furigana that join together are part of the same layout group
-- A forced split creates a new layout group
local lgroups = {}
-- Start-sentinel
local lgsentinel = {basewidth=0, furiwidth=0, syls={}, furi={}, spillback=false, left=0, right=0}
table.insert(lgroups, lgsentinel)
-- Create groups
local last_had_furi = false
local lg = { basewidth=0, furiwidth=0, syls={}, furi={}, spillback=false }
for s = 0, line.kara.n do
local syl = line.kara[s]
-- Furigana-less syllables always generate a new layout group
-- So do furigana-endowed syllables that are marked as split
-- But if current lg has no width (usually only first) don't create a new
aegisub.debug.out(5, "syl.furi.n=%d, isbreak=%s, last_had_furi=%s, lg.basewidth=%d\n", syl.furi.n, syl.furi.n > 0 and syl.furi[1].isbreak and "y" or "n", last_had_furi and "y" or "n", lg.basewidth)
if (syl.furi.n == 0 or syl.furi[1].isbreak or not last_had_furi) and lg.basewidth > 0 then
aegisub.debug.out(5, "Inserting layout group, basewidth=%d, furiwidth=%d, isbreak=%s\n", lg.basewidth, lg.furiwidth, syl.furi.n > 0 and syl.furi[1].isbreak and "y" or "n")
table.insert(lgroups, lg)
lg = { basewidth=0, furiwidth=0, syls={}, furi={}, spillback=false }
last_had_furi = false
end
-- Add this syllable to lg
lg.basewidth = lg.basewidth + syl.prespacewidth + syl.width + syl.postspacewidth
table.insert(lg.syls, syl)
aegisub.debug.out(5, "\tAdding syllable to layout group: '%s', width=%d, isbreak=%s\n", syl.text_stripped, syl.width, syl.furi.n > 0 and syl.furi[1].isbreak and "y" or "n")
-- Add this syllable's furi to lg
for f = 1, syl.furi.n do
local furi = syl.furi[f]
lg.furiwidth = lg.furiwidth + furi.width
lg.spillback = lg.spillback or furi.spillback
table.insert(lg.furi, furi)
aegisub.debug.out(5, "\tAdding furigana to layout group: %s (width=%d)\n", furi.text, furi.width)
last_had_furi = true
end
end
-- Insert last lg
aegisub.debug.out(5, "Inserting layout group, basewidth=%d, furiwidth=%d\n", lg.basewidth, lg.furiwidth)
table.insert(lgroups, lg)
-- And end-sentinel
table.insert(lgroups, lgsentinel)
aegisub.debug.out(5, "\nProducing layout from %d layout groups\n", #lgroups-1)
-- Layout the groups at macro-level
-- Skip sentinel at ends in loop
local curx = 0
for i = 2, #lgroups-1 do
local lg = lgroups[i]
local prev = lgroups[i-1]
aegisub.debug.out(5, "Layout group, nsyls=%d, nfuri=%d, syl1text='%s', basewidth=%f furiwidth=%f, ", #lg.syls, #lg.furi, lg.syls[1] and lg.syls[1].text or "", lg.basewidth, lg.furiwidth)
-- Three cases: No furigana, furigana smaller than base and furigana larger than base
if lg.furiwidth == 0 then
-- Here wa can basically just place the base text
lg.left = curx
lg.right = lg.left + lg.basewidth
-- If there was any spillover from a previous group, add it to here
if prev.rightspill and prev.rightspill > 0 then
aegisub.debug.out(5, "eat rightspill=%f, ", prev.rightspill)
lg.leftspill = 0
lg.rightspill = prev.rightspill - lg.basewidth
prev.rightspill = 0
end
curx = curx + lg.basewidth
elseif lg.furiwidth <= lg.basewidth then
-- If there was any rightspill from previous group, we have to stay 100% clear of that
if prev.rightspill and prev.rightspill > 0 then
aegisub.debug.out(5, "skip rightspill=%f, ", prev.rightspill)
curx = curx + prev.rightspill
prev.rightspill = 0
end
lg.left = curx
lg.right = lg.left + lg.basewidth
curx = curx + lg.basewidth
-- Negative spill here
lg.leftspill = (lg.furiwidth - lg.basewidth) / 2
lg.rightspill = lg.leftspill
else
-- Furigana is wider than base, we'll have to spill in some direction
if prev.rightspill and prev.rightspill > 0 then
aegisub.debug.out(5, "skip rightspill=%f, ", prev.rightspill)
curx = curx + prev.rightspill
prev.rightspill = 0
end
-- Do we spill only to the right or in both directions?
if lg.spillback then
-- Both directions
lg.leftspill = (lg.furiwidth - lg.basewidth) / 2
lg.rightspill = lg.leftspill
aegisub.debug.out(5, "spill left=%f right=%f, ", lg.leftspill, lg.rightspill)
-- If there was any furigana or spill on previous syllable we can't overlap it
if prev.rightspill then
lg.left = curx + lg.leftspill
else
lg.left = curx
end
else
-- Only to the right
lg.leftspill = 0
lg.rightspill = lg.furiwidth - lg.basewidth
aegisub.debug.out(5, "spill right=%f, ", lg.rightspill)
lg.left = curx
end
lg.right = lg.left + lg.basewidth
curx = lg.right
end
aegisub.debug.out(5, "left=%f, right=%f\n", lg.left, lg.right)
end
-- Now the groups are layouted, so place the individual syllables/furigana
for i, lg in ipairs(lgroups) do
local basecenter = (lg.left + lg.right) / 2 -- centered furi is centered over this
local curx = lg.left -- base text is placed from here on
-- Place base syllables
for s, syl in ipairs(lg.syls) do
syl.left = curx + syl.prespacewidth
syl.center = syl.left + syl.width/2
syl.right = syl.left + syl.width
curx = syl.right + syl.postspacewidth
end
if curx > line.width then line.width = curx end
-- Place furigana
if lg.furiwidth < lg.basewidth or lg.spillback then
-- Center over group
curx = lg.left + (lg.basewidth - lg.furiwidth) / 2
else
-- Left aligned
curx = lg.left
end
for f, furi in ipairs(lg.furi) do
furi.left = curx
furi.center = furi.left + furi.width/2
furi.right = furi.left + furi.width
curx = furi.right
end
end
end
-- Precalc some info on a line
-- Modifies the line parameter
function karaskel.preproc_line(subs, meta, styles, line)
-- subs parameter is never used and probably won't ever be
-- (it wouldn't be fun if some lines suddenly changed index here)
-- pass whatever you want, but be careful calling preproc_line_pos directly, that interface might change
karaskel.preproc_line_pos(meta, styles, line)
end
-- An actual "skeleton" function
-- Parses the first word out of the Effect field of each dialogue line and runs "fx_"..effect on that line
-- Lines with empty Effect field run fx_none
-- Lines with unimplemented effects are left alone
-- If the effect function returns true, the original line is kept in output,
-- otherwise the original line is converted to a comment
-- General prototype of an fx function: function(subs, meta, styles, line, fxdata)
-- fxdata are extra data after the effect name in the Effect field
local fx_library_registered = false
function karaskel.use_fx_library_furi(use_furigana, macrotoo)
local function fx_library_main(subs)
aegisub.progress.task("Collecting header info")
meta, styles = karaskel.collect_head(subs, use_furigana)
aegisub.progress.task("Processing subs")
local i, maxi = 1, #subs
while i <= maxi do
aegisub.progress.set(i/maxi*100)
local l = subs[i]
if l.class == "dialogue" then
aegisub.progress.task(l.text)
karaskel.preproc_line(subs, meta, styles, l)
local keep = true
local fx, fxdata = string.headtail(l.effect)
if fx == "" then fx = "none" end
if _G["fx_" .. fx] then
-- note to casual readers: _G is a special global variable that points to the global environment
-- specifically, _G["_G"] == _G
keep = _G["fx_" .. fx](subs, meta, styles, l, fxdata)
end
if not keep then
l = subs[i]
l.comment = true
subs[i] = l
end
end
i = i + 1
end
end
if fx_library_registered then return end
aegisub.register_filter(script_name or "fx_library", script_description or "Apply karaoke effects (fx_library skeleton)", 2000, fx_library_main)
if macrotoo then
local function fxlibmacro(subs)
fx_library_main(subs)
aegisub.set_undo_point(script_name or "karaoke effect")
end
aegisub.register_macro(script_name or "fx_library", script_description or "Apply karaoke effects (fx_library skeleton)", fxlibmacro)
end
end
function karaskel.use_fx_library(macrotoo)
return karaskel.use_fx_library_furi(false, macrotoo)
end
-- A skeleton that approximately simulates the Auto3 "advanced" one.
-- Build a Auto3-like list of dialogue lines and also add linked list refs to lines.
-- Call user-defined do_line function for each line, if it exists.
-- The default do_line function will call the do_syllable function for each line,
-- if the function exists.
-- The function names called are constant.
local classic_adv_registered = false
function karaskel.use_classic_adv(use_furigana, macrotoo)
local function classic_adv_main(subs)
local function default_do_syllable(subs, meta, styles, lines, line, syl)
-- do nothing
end
local sylfunc = (type(_G.do_syllable)=="function" and _G.do_syllable) or default_do_syllable
local furifunc = (type(_G.do_furigana)=="function" and _G.do_furigana) or default_do_syllable
local function default_do_line(subs, meta, styles, lines, line)
for i = 0, line.kara.n do
sylfunc(subs, meta, styles, lines, line, line.kara[i])
end
if use_furigana then
for i = 0, line.furi.n do
furifunc(subs, meta, styles, lines, line, line.furi[i])
end
end
end
aegisub.progress.task("Collecting header info")
local meta, styles = karaskel.collect_head(subs, use_furigana)
-- Collect lines
aegisub.progress.task("Collecting subtitle lines")
local lines = { n=0 }
local prevline = nil
local i = 1
local curorgline, maxorglines = 1, #subs
while i <= #subs do
aegisub.progress.set(curorgline/maxorglines*100)
local l = subs[i]
if l.class == "dialogue" then
-- Link prev of this one
karaskel.preproc_line(subs, meta, styles, l)
l.prev = prevline
l.next = nil
-- Line next of prev one
if prevline then
prevline.next = l
end
-- Insert into array
lines.n = lines.n + 1
lines[lines.n] = l
-- Update prev
prevline = l
-- Delete from file
subs[i] = nil
else
-- Only increase for non-dialogue lines
-- (Dialogue lines are deleted, so every other lines moves one down)
i = i + 1
end
curorgline = curorgline + 1
end
aegisub.progress.task("Processing subtitles")
local linefunc = default_do_line
if type(_G.do_line)=="function" then
linefunc = function(subs, meta, styles, lines, line)
return _G.do_line(subs, meta, styles, lines, line, default_do_line)
end
end
for i = 1, lines.n do
aegisub.progress.set(i/lines.n*100)
linefunc(subs, meta, styles, lines, lines[i])
end
aegisub.progress.task("Finished")
aegisub.progress.set(100)
end
if classic_adv_registered then return end
aegisub.register_filter(script_name or "classic_adv", script_description or "Apply karaoke effects (classic_adv skeleton)", 2000, classic_adv_main)
if macrotoo then
local function classic_adv_macro(subs)
classic_adv_main(subs)
aegisub.set_undo_point(script_name or "karaoke effect")
end
aegisub.register_macro(script_name or "classic_adv", script_description or "Apply karaoke effects (classic_adv skeleton)", classic_adv_macro)
end
end

View File

@ -1,313 +0,0 @@
--[[
Copyright (c) 2005, 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 Automation include file
-- This file is meant as a support file for the various karaoke skeleton
-- scripts, to avoid including unneeded code
include("utils.lua")
-- karaskel
-- This is a gloabl table defining various parameters, controlling what the
-- skeleton will do. Not all parameters are defined in this base.
karaskel = {
-- Does this script need positioning information?
engage_positioning = false,
-- Syllable precalc parameters
precalc_start_progress = 0, -- progress precalc starts at
precalc_end_progress = 50, -- and where it ends at
-- Does this script use furigana information? (has no effect without positioning)
engage_furigana = false,
-- Furigana parameters
furigana_scale = 0.4, -- relative size of furigana
-- Default effect-name for inline effects (read manual)
inline_fx_default = "regular",
-- Set this to the name of the style used for out-of-line effect specifications, if any (read manual on this!)
ool_fx_style = false,
-- Show tracing messages?
engage_trace = false
}
function karaskel.warning(s)
aegisub.output_debug("WARNING! " .. s)
end
function karaskel.trace(s)
if karaskel.engage_trace then
aegisub.output_debug(s)
else
-- A little optimisation
karaskel.trace = function() end
end
end
-- precalc_syllable_data
-- Adds various extra fields to the line and syllable tables
-- See the implementation and/or Aegisub help file for more information
function karaskel.precalc_syllable_data(meta, styles, lines)
karaskel.trace("precalc_syllable_data")
aegisub.set_status("Preparing syllable-data")
-- Fix missing resolution data
if meta.res_x == 0 and meta_res_y == 0 then
meta.res_x = 384
meta.res_y = 288
elseif meta.res_x == 0 then
-- This is braindead, but it's how TextSub does things...
if meta.res_y == 1024 then
meta.res_x = 1280
else
meta.res_x = meta.res_y / 3 * 4
end
elseif meta.res_y == 0 then
-- As if 1280x960 didn't exist
if meta.res_x == 1280 then
meta.res_y = 1024
else
meta.res_y = meta.res_x * 3 / 4
end
end
for i = 0, lines.n-1 do
karaskel.trace("precalc_syllable_data:2:"..i)
aegisub.report_progress(karaskel.precalc_start_progress + i/lines.n*(karaskel.precalc_end_progress-karaskel.precalc_start_progress))
local line, style = lines[i]
-- Index number of the line
line.i = i
-- Linked list-style access
line.prev = lines[i-1]
line.next = lines[i+1]
karaskel.trace("precalc_syllable_data:3:")
if line.kind == "dialogue" or line.kind == "comment" then
karaskel.trace("precalc_syllable_data:4:")
local style = styles[line.style]
if not style then
-- ok, so the named style does not exist... well there MUST be at least ONE style (assume this)
-- pick the first one
style = styles[0]
karaskel.warning(string.format("You have a line using a style named \"%s\", but that style does not exist! Using the first defined style (\"%s\") instead.", line.style, style.name))
end
if karaskel.engage_furigana then
karaskel.split_furigana_data(line)
line.text_stripped = ""
for k = 0, line.karaoke.n-1 do
line.text_stripped = line.text_stripped .. line.karaoke[k].text_stripped
end
end
-- This should make things more predictable
line.text_stripped = trim(line.text_stripped)
if karaskel.engage_positioning then
-- Line dimensions
line.width, line.height, line.ascent, line.extlead = aegisub.text_extents(style, line.text_stripped)
karaskel.trace(string.format("precalc_syllable_data:5: text_stripped='%s', width=%d", line.text_stripped, line.width))
-- Line position
line.centerleft = math.floor((meta.res_x - line.width) / 2)
line.centerright = meta.res_x - line.centerleft
end
-- Line duration, in miliseconds
line.duration = (line.end_time - line.start_time) * 10
-- Style reference
line.styleref = style
karaskel.trace("precalc_syllable_data:6:")
-- Process the syllables
local curtime = 0
local sumtext = ""
local inline_fx = karaskel.inline_fx_default
for j = 0, line.karaoke.n-1 do
karaskel.trace("precalc_syllable_data:7::"..j)
local syl = line.karaoke[j]
-- Syllable index
syl.i = j
-- Check for inline-effect
karaskel.trace("testing for inline_fx in: " .. syl.text)
local a, b, new_inline_fx = string.find(syl.text, "{%\\?%-(.*)}")
if new_inline_fx then
karaskel.trace("caught new inline_fx: " .. new_inline_fx)
inline_fx = new_inline_fx
end
syl.inline_fx = inline_fx
-- Do positioning calculations, if applicable
sumtext = sumtext .. syl.text_stripped
karaskel.trace("new sumtext = " .. sumtext)
if karaskel.engage_positioning then
-- Summed text dimensions
local sumwidth = aegisub.text_extents(style, sumtext)
karaskel.trace("sumwidth = " .. sumwidth)
-- Strip some spaces
local tmp1, tmp2, prespc, syltxt, postspc = string.find(syl.text_stripped, "^([ \t]*)(.-)([ \t]*)$")
-- Pre/post space dimensions
local prespc_width = aegisub.text_extents(style, prespc)
local postspc_width = aegisub.text_extents(style, postspc)
karaskel.trace("space capture lengths = " .. string.len(prespc) .. ", " .. string.len(syltxt) .. ", " .. string.len(postspc))
karaskel.trace("space widths = " .. prespc_width .. ", " .. postspc_width)
-- Syllable dimensions
syl.width, syl.height, syl.ascent, syl.extlead = aegisub.text_extents(style, syltxt)
karaskel.trace("syllable text, width = " .. syltxt .. ", " .. syl.width)
karaskel.trace("precalc_syllable_data:8::")
-- Syllable positioning
syl.right = sumwidth - postspc_width
syl.left = sumwidth - syl.width + prespc_width
syl.center = math.floor(syl.left + (syl.right - syl.left) / 2)
karaskel.trace("syllable left, center, right = " .. syl.left .. ", " .. syl.center .. ", " .. syl.right)
if syl.furigana then
karaskel.calc_furigana_sizes(line, syl)
end
end
-- Start and end times in miliseconds
syl.start_time = curtime
syl.end_time = curtime + syl.duration*10
curtime = syl.end_time
end
end
end
end
-- Rebuild the entire karaoke data list, splitting out and adding furigana data
-- This also does joining of syllables with "#" as text
-- (Joining of furigana syllables with # as text seems useless for now, so it's not done.)
function karaskel.split_furigana_data(line)
if line.kind ~= "dialogue" then
karaskel.trace("skipping line, not dialogue")
return
end
karaskel.trace("split_furigana_data:1")
line.furigana = {n=0}
local newkara = {n=0}
local curtime = 0
for i = 0, line.karaoke.n-1 do
karaskel.trace("split_furigana_data:2:"..i)
local syl = line.karaoke[i]
local a, b, maintext, furitext = string.find(syl.text_stripped, "^(.*)|(.*)$")
if not maintext then
maintext = syl.text_stripped
end
karaskel.trace("split_furigana_data:3:"..i..":"..maintext)
local highlight = { duration = syl.duration, start_time = curtime*10, end_time = curtime*10+syl.duration*10 }
curtime = curtime + syl.duration
if maintext == "#" then
karaskel.trace("split_furigana_data:4:"..i..":a")
-- repeat character
newkara[newkara.n-1].duration = newkara[newkara.n-1].duration + syl.duration
syl = newkara[newkara.n-1]
else
karaskel.trace("split_furigana_data:4:"..i..":b")
syl.furigana = {n=0, text=""} -- essentially a list of syllables in the syllable :o
syl.highlights = {n=0}
syl.text_stripped = maintext
newkara[newkara.n] = syl
newkara.n = newkara.n + 1
end
karaskel.trace("split_furigana_data:5:"..i)
syl.highlights[syl.highlights.n] = highlight
syl.highlights.n = syl.highlights.n + 1
if a then
karaskel.trace("split_furigana_data:6:"..i)
local furi = { text = furitext, duration = highlight.duration, start_time = highlight.start_time, end_time = highlight.end_time }
syl.furigana[syl.furigana.n] = furi
syl.furigana.n = syl.furigana.n + 1
syl.furigana.text = syl.furigana.text .. furitext
end
end
line.karaoke = newkara
end
function karaskel.calc_furigana_sizes(line, syl)
-- assume the sizes for the main syllable itself has been calculated already
local ls = line.styleref
local style = { -- only copy what's needed for text_extents
fontname = ls.fontname,
fontsize = ls.fontsize * karaskel.furigana_scale,
bold = ls.bold,
italic = ls.italic,
underline = ls.underline,
strikeout = ls.strikeout,
scale_x = ls.scale_x,
scale_y = ls.scale_y,
spacing = ls.spacing,
encoding = ls.encoding
}
syl.furigana.width, syl.furigana.height = aegisub.text_extents(style, syl.furigana.text)
syl.furigana.scale = syl.width / syl.furigana.width * 100
syl.furigana.fontsize = style.fontsize
if syl.furigana.scale > 100 then
syl.furigana.scale = 100
else
syl.furigana.width = syl.width
end
style.scale_x = style.scale_x * syl.furigana.scale / 100
local left = syl.left + (syl.width - syl.furigana.width)/2
for i = 0, syl.furigana.n-1 do
local f = syl.furigana[i]
f.width, f.height = aegisub.text_extents(style, f.text)
f.left = left
f.center = f.left + f.width/2
f.right = f.left + f.width
left = f.right
end
end
-- Everything else is done in the process_lines function
function karaskel.process_lines(meta, styles, lines, config)
karaskel.trace("new skeleton")
karaskel.trace("skel_process_lines")
-- Do a little pre-calculation for each line and syllable
karaskel.precalc_syllable_data(meta, styles, lines)
karaskel.trace("skel_process_lines:2")
-- A var for the new output
local result = {n=0}
local ool_fx = {}
aegisub.set_status("Running main-processing")
-- Now do the usual processing
for i = 0, lines.n-1 do
karaskel.trace("skel_process_lines:3:"..i)
aegisub.report_progress(50+i/lines.n*50)
if (lines[i].kind == "dialogue" or lines[i].kind == "comment") and lines[i].style == karaskel.ool_fx_style then
karaskel.trace("skel_process_lines: parsing ool fx: " .. lines[i].text)
local fx = {}
fx.head, fx.tail = string.headtail(lines[i].text)
karaskel.trace("--- head: '" .. fx.head .. "'")
karaskel.trace("--- tail: '" .. fx.tail .. "'")
fx.line = lines[i]
fx.start_time, fx.end_time = fx.line.start_time, fx.line.end_time
ool_fx[fx.head] = fx
else
-- Get replacement lines
lines[i].ool_fx = ool_fx
repl = do_line(meta, styles, config, lines[i])
karaskel.trace("skel_process_lines:4:"..i)
-- Append to result table
for j = 1, repl.n do
table.insert(result, repl[j])
end
end
end
-- Done, return the stuff
return result
end
process_lines = karaskel.process_lines

View File

@ -1,5 +1,5 @@
--[[
Copyright (c) 2005, Niels Martin Hansen
--[[
Copyright (c) 2007, Niels Martin Hansen, Rodrigo Braz Monteiro
All rights reserved.
Redistribution and use in source and binary forms, with or without
@ -25,110 +25,6 @@
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 Automation include file
-- The purpose of this include file is to provide a default skeleton for Automation scripts,
-- where you, as a scripter, can just override the functions you need to override.
-- The following functions can be overridden:
-- do_syllable - called for each syllable in a line
-- do_line_decide - called to decide whether to process a line or not
-- do_line_start - called at the beginning of each line
-- do_line_end - called at the end of each line
-- do_line - Process an entire line
-- By default, these functions are all assigned to the following default functions
-- Your functions should obviously use the same parameter lists etc.
-- Note that if you override do_line, none of the other functions will be called!
-- All the functions mentioned here are, however, wrapped in some code that pre-calculates some
-- extra data for the lines and syllables.
-- The following fields are added to lines:
-- i - The index of the line in the file, 0 being the first
-- width - Rendered width of the line in pixels (using the line style, overrides are not taken into account)
-- height - Rendered height of the line in pixels (note that rotation isn't taken into account either)
-- ascent - Height of the ascenders, in pixels (notice that this looks like the output of text_extents?)
-- extlead - External leading of the font, in pixels (well, it is!)
-- centerleft - Pixel position of the left edge of the line, when horisontally centered on screen
-- centerright - Pixel pisition of the right edge of the line, when horisontally centered on screen
-- duration - Duration of the line in miliseconds
-- styleref - The actual style table for the style this line has
-- The following fields are added to syllables:
-- i - The index of the syllable in the line, 0 being the first (and usually empty) one
-- width, height, ascent, extlead - Same as for lines
-- left - Left pixel position of the syllable, relative to the start of the line
-- center - Center pixel position of the syllable, also relative to the start of the line
-- right - Right pixel position of the syllable, relative again
-- start_time - Start time of the syllable, in miliseconds, relative to the start of the line
-- end_time - End time of the syllable, similar to start_time
include("karaskel-base.lua")
-- Return a replacement text for a syllable
function karaskel.do_syllable(meta, styles, config, line, syl)
karaskel.trace("default_do_syllable")
return syl.text
end
-- Decide whether or not to process a line
function karaskel.do_line_decide(meta, styles, config, line)
karaskel.trace("default_do_line_decide")
return line.kind == "dialogue"
end
-- Return a text to prefix the line
function karaskel.do_line_start(meta, styles, config, line)
karaskel.trace("default_do_line_start")
return ""
end
-- Return a text to suffix the line
function karaskel.do_line_end(meta, styles, config, line)
karaskel.trace("default_do_line_end")
return ""
end
-- Process an entire line (which has pre-calculated extra data in it already)
-- Return a table of replacement lines
function karaskel.do_line(meta, styles, config, line)
karaskel.trace("default_do_line")
-- Check if the line should be processed at all
if not do_line_decide(meta, styles, config, line) then
return {n=0}
end
karaskel.trace("default_do_line:2")
-- Create a new local var for the line replacement text, set it to line prefix
-- This is to make sure the actual line text isn't replaced before the line has been completely processed
local newtext = do_line_start(meta, styles, config, line)
karaskel.trace("default_do_line:3")
-- Loop over the syllables
for i = 0, line.karaoke.n-1 do
karaskel.trace("default_do_line:4:"..i)
-- Append the replacement for each syllable onto the line
newtext = newtext .. do_syllable(meta, styles, config, line, line.karaoke[i])
end
karaskel.trace("default_do_line:5")
-- Append line suffix
newtext = newtext .. do_line_end(meta, styles, config, line)
karaskel.trace("default_do_line:6")
-- Now replace the line text
line.text = newtext
-- And return a table with one entry
return {n=1; [1]=line}
end
-- Now assign all the default functions to the names that are actually called
do_syllable = karaskel.do_syllable
do_line_decide = karaskel.do_line_decide
do_line_start = karaskel.do_line_start
do_line_end = karaskel.do_line_end
do_line = karaskel.do_line
include "karaskel-auto4.lua"

View File

@ -0,0 +1,2 @@
lfs = require 'aegisub.lfs'
return lfs

View File

@ -0,0 +1,20 @@
# Copy files to build directory for testing purposes
lua_files = files(
'cleantags.lua',
'clipboard.lua',
'karaskel-auto4.lua',
'karaskel.lua',
'lfs.lua',
'moonscript.lua',
're.lua',
'unicode.lua',
'unicode-monkeypatch.lua',
'utils-auto4.lua',
'utils.lua',
)
foreach f: lua_files
configure_file(input: f, output: '@PLAINNAME@', copy: true)
endforeach
subdir('aegisub')

File diff suppressed because it is too large Load Diff

16
automation/include/re.lua Normal file
View File

@ -0,0 +1,16 @@
-- Copyright (c) 2013, 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.
_G.re = require 'aegisub.re'
return _G.re

View File

@ -1,18 +0,0 @@
This directory contains standard include files for Automation.
By default, this directory is included in the Automation Include Path, which
means the files here are always available for use with the include() function.
See the Aegisub help and the individual files in this directory for more
information on their purpose and contents.
DO NOT MODIFY THE CONTENTS OF THIS DIRECTORY OR ADD YOUR OWN FILES,
any files added or modified might be deleted or reverted upon upgrade or
uninstall of Aegisub.
A better solution is to create your own include directory and put it in the
"Automation Include Path" in the Aegisub config.dat file. The path
specifications are separated by pipe characters ("|"). Using this method, you
can also override the default includes with your own, modified versions, by
placing the path to your own versions earlier in the path list.

View File

@ -0,0 +1,133 @@
local ffi = require("ffi")
if ffi.os ~= "Windows" then
return
end
-- Safety first!
do
if pcall(string.dump, io.open) then
error("io.open is already patched!")
end
local function index(t, k)
return t[k]
end
if pcall(index, ffi.C, "GetACP") == false then
ffi.cdef[[
uint32_t __stdcall GetACP();
]]
end
end
local CP_UTF8 = 65001
local MB_ERR_INVALID_CHARS = 8
if ffi.C.GetACP() == CP_UTF8 then
-- "Use Unicode UTF-8 for worldwide language support" is ticked.
-- Don't bother patching it.
return
end
ffi.cdef[[
int32_t __stdcall MultiByteToWideChar(
uint32_t CodePage,
uint32_t dwFlags,
const char *lpMultiByteStr,
int32_t cbMultiByte,
wchar_t *lpWideCharStr,
int32_t cchWideChar
);
void *_wfreopen(wchar_t *path, wchar_t *mode, void *file);
int32_t _wrename(wchar_t *oldname, wchar_t *newname);
int32_t _wremove(wchar_t *path);
int32_t _wsystem(wchar_t *command);
char *strerror(int errnum);
]]
local function widen(ch)
local size = ffi.C.MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, ch, #ch, nil, 0)
if size == 0 then
error(fname .. ": invalid character sequence")
end
local buf = ffi.new("wchar_t[?]", size + 1)
if ffi.C.MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, ch, #ch, buf, size) == 0 then
error(fname .. ": char conversion error")
end
return buf
end
local function fileresult(stat, fname)
if stat == 0 then
return true
end
local errno = ffi.errno()
local msg = ffi.C.strerror(errno)
if fname then
return nil, fname .. ": " .. ffi.string(msg), errno
end
return nil, msg, errno
end
local function execresult(stat)
if stat == -1 then
return fileresult(0, nil)
end
if stat == 0 then
return true, "exit", stat
end
return nil, "exit", stat
end
local orig_open = io.open
local orig_rename = os.rename
local orig_remove = os.remove
local orig_execute = os.execute
function io.open(fname, mode)
local wfname = widen(fname)
if not mode then
mode = "r"
end
local wmode = widen(mode)
local file = assert(orig_open("nul", "rb"))
if ffi.C._wfreopen(wfname, wmode, file) == nil then
local msg, errno = select(2, file:close())
return nil, fname .. ": " .. tostring(msg), errno
end
return file
end
function os.rename(oldname, newname)
local woldname = widen(oldname)
local wnewname = widen(newname)
local stat = ffi.C._wrename(woldname, wnewname)
return fileresult(stat, oldname)
end
function os.remove(fname)
local wfname = widen(fname)
local stat = ffi.C._wremove(wfname)
return fileresult(stat, fname)
end
function os.execute(command)
local wcommand = command
if command then
wcommand = widen(command)
local stat = ffi.C._wsystem(wcommand)
return execresult(stat)
end
return true
end

View File

@ -0,0 +1,16 @@
-- Copyright (c) 2013, 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.
_G.unicode = require 'aegisub.unicode'
return _G.unicode

View File

@ -0,0 +1,49 @@
--[[
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.
]]
util = require 'aegisub.util'
table.copy = util.copy
copy_line = util.copy
table.copy_deep = util.deep_copy
ass_color = util.ass_color
ass_alpha = util.ass_alpha
ass_style_color = util.ass_style_color
extract_color = util.extract_color
alpha_from_style = util.alpha_from_style
color_from_style = util.color_from_style
HSV_to_RGB = util.HSV_to_RGB
HSL_to_RGB = util.HSL_to_RGB
clamp = util.clamp
interpolate = util.interpolate
interpolate_color = util.interpolate_color
interpolate_alpha = util.interpolate_alpha
string.headtail = util.headtail
string.trim = util.trim
string.words = util.words

View File

@ -1,5 +1,5 @@
--[[
Copyright (c) 2005, Niels Martin Hansen, Rodrigo Braz Monteiro
--[[
Copyright (c) 2005-2006, Niels Martin Hansen, Rodrigo Braz Monteiro
All rights reserved.
Redistribution and use in source and binary forms, with or without
@ -25,155 +25,6 @@
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.
]]
]]
-- Variables with tables only hold references to the actual tables
-- Since a line is a table, a line needs to be copied, otherwise things break in bad ways
function copy_line(input)
local output = {}
output.kind = input.kind
if input.kind == "scomment" then
output.text = input.text
elseif input.kind == "comment" or input.kind == "dialogue" then
output.layer = input.layer
output.start_time = input.start_time
output.end_time = input.end_time
output.style = input.style
output.name = input.name
output.margin_l = input.margin_l
output.margin_r = input.margin_r
output.margin_v = input.margin_v
output.effect = input.effect
output.text = input.text
output.text_stripped = input.text_stripped
output.karaoke = input.karaoke -- Don't bother copying the karaoke table, it shouldn't be changed anyway
end
return output
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
-- Converts HSV (Hue, Saturation, Value) to RGB
function HSV_to_RGB(H,S,V)
local r,g,b;
-- 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
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
end
end
r = math.floor(r)
g = math.floor(g)
b = math.floor(b)
return r,g,b
end
-- Removes spaces at the start and end of string
function trim (s)
return (string.gsub(s, "^%s*(.-)%s*$", "%1"))
end
-- UTF-8 string handling functions
-- Contributed by roxfan
-- Get the offset for the next character in the string, given the current offset
function next_utf_char(str, off)
local leadb = string.byte(str, off)
if leadb < 128 then
return off+1
elseif leadb < 224 then
return off+2
elseif leadb < 240 then
return off+3
elseif leadb < 248 then
return off+4
end
aegisub.output_debug(string.format("bad utf-8 in %q at %d",str,off))
return -1
end
-- Get the number of characters in the UTF-8 string (not the number of bytes)
function utf_len(str)
local i = 1
local len = 0
while i<=string.len(str) do
i = next_utf_char(str, i)
len = len + 1
end
-- aegisub.output_debug(string.format("utf_len(%q)=%d",str,len))
return len
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
-- Exclusive or of two boolean values
function xor(a, b)
if a and not b then
return a
elseif b and not a then
return b
else
return false
end
end
include "utils-auto4.lua"

56
automation/meson.build Normal file
View File

@ -0,0 +1,56 @@
subdir('include')
subdir('vapoursynth')
automation_dir = dataroot / 'automation'
install_data(
'autoload/clean-k-tags.lua',
'autoload/cleantags-autoload.lua',
'autoload/driftfix.lua',
'autoload/duetto-meika.lua',
'autoload/karaoke-adjust-1sec.lua',
'autoload/karaoke-auto-leadin.lua',
'autoload/karaoke-split.lua',
'autoload/kara-templater.lua',
'autoload/kf.lua',
'autoload/macro-1-edgeblur.lua',
'autoload/macro-2-mkfullwitdh.lua',
'autoload/select-overlaps.moon',
'autoload/strip-tags.lua',
'autoload/unkf.lua',
'autoload/wohe.lua',
install_dir: automation_dir / 'autoload')
install_data(
'demos/future-windy-blur.lua',
'demos/raytracer.lua',
'demos/raytracer-test1.ass',
install_dir: automation_dir / 'demos')
install_data(
'include/cleantags.lua',
'include/clipboard.lua',
'include/karaskel-auto4.lua',
'include/karaskel.lua',
'include/lfs.lua',
'include/moonscript.lua',
'include/re.lua',
'include/unicode.lua',
'include/unicode-monkeypatch.lua',
'include/utils-auto4.lua',
'include/utils.lua',
install_dir: automation_dir / 'include')
install_data(
'include/aegisub/argcheck.moon',
'include/aegisub/clipboard.lua',
'include/aegisub/ffi.moon',
'include/aegisub/lfs.moon',
'include/aegisub/re.moon',
'include/aegisub/unicode.moon',
'include/aegisub/util.moon',
install_dir: automation_dir / 'include' / 'aegisub')
install_data(
'vapoursynth/aegisub_vs.py',
install_dir: automation_dir / 'vapoursynth')

View File

@ -0,0 +1,96 @@
// Copyright (c) 2014, 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.
//
// Aegisub Project http://www.aegisub.org/
#include <libaegisub/lua/modules.h>
#include <libaegisub/lua/script_reader.h>
#include <libaegisub/lua/utils.h>
#include <libaegisub/dispatch.h>
#include <libaegisub/log.h>
#include <boost/locale/generator.hpp>
#include <cstdio>
#include <cstdlib>
using namespace agi::lua;
namespace {
void check(lua_State *L, int status) {
if (status && !lua_isnil(L, -1)) {
fprintf(stderr, "%s\n", get_string_or_default(L, -1).c_str());
exit(status);
}
}
int close_and_exit(lua_State *L) {
int status = lua_tointeger(L, 1);
lua_close(L);
exit(status);
}
}
int main(int argc, char **argv) {
if (argc < 2) {
fprintf(stderr, "usage: aegisub-lua <script> [args]\n");
return 1;
}
std::locale::global(boost::locale::generator().generate(""));
agi::dispatch::Init([](agi::dispatch::Thunk f) { });
agi::log::log = new agi::log::LogSink;
// Init lua state
lua_State *L = lua_open();
if (!L) {
fprintf(stderr, "Failed to create Lua state\n");
return 1;
}
preload_modules(L);
Install(L, {"include"});
// Patch os.exit to close the lua state first since busted calls it when
// it's done
lua_getglobal(L, "os");
lua_pushcfunction(L, close_and_exit);
lua_setfield(L, -2, "exit");
lua_pop(L, 1);
// Build arg table for scripts
lua_createtable(L, argc - 1, 0);
for (int i = 1; i < argc; ++i) {
lua_pushstring(L, argv[i]);
lua_rawseti(L, -2, i - 1);
}
lua_setglobal(L, "arg");
// Stack needs to be error handler -> function -> args
lua_pushcfunction(L, add_stack_trace);
try {
check(L, !LoadFile(L, argv[1]));
} catch (agi::Exception const& e) {
fprintf(stderr, "%s\n", e.GetMessage().c_str());
}
for (int i = 2; i < argc; ++i)
lua_pushstring(L, argv[i]);
int base = lua_gettop(L) - argc + 1;
check(L, lua_pcall(L, argc - 2, LUA_MULTRET, base));
lua_close(L);
}

View File

@ -0,0 +1,154 @@
-- Automation 4 test file
-- Test that appending lines to a file places the lines in the appropriate
-- sections of the file, creating the sections if needed
script_name = "TEST append lines"
script_description = "Test that appended lines go to the right place"
script_author = "Thomas Goyne"
script_version = "1"
function make_scriptinfo(key, value)
return {
class = "info",
section = "[Script Info]",
key = key,
value = value
}
end
function make_style(name)
return {
class = "style",
section = "[V4+ Styles]",
name = name,
fontname = "Arial",
fontsize = 20,
color1 = "&H000000&",
color2 = "&H000000&",
color3 = "&H000000&",
color4 = "&H000000&",
bold = true,
italic = false,
underline = false,
strikeout = false,
scale_x = 100,
scale_y = 100,
spacing = 0,
angle = 0,
borderstyle = 0,
outline = 0,
shadow = 0,
align = 5,
margin_l = 0,
margin_r = 0,
margin_t = 0,
margin_b = 0,
encoding = 0
}
end
function make_dialogue(text)
return {
class = "dialogue",
section = "[Events]",
comment = false,
layer = 0,
start_time = 0,
end_time = 2000,
style = "Default",
actor = "",
margin_l = 0,
margin_r = 0,
margin_t = 0,
margin_b = 0,
effect = "",
text = text
}
end
function make_header(name)
return {
class = "head",
section = name
}
end
function make_format(fstr, section)
return {
class = "format",
section = section,
text = fstr
}
end
function check_field(i, actual, expected, name)
if actual ~= expected then
error(i .. ": Expected '" .. expected .. "', got '" .. actual .. "' for " .. name)
end
end
function check_line(i, line, class, section)
check_field(i, line.class, class, "class")
check_field(i, line.section, section, "section")
end
function test(subs)
subs.deleterange(1, #subs)
-- verify that everything works with the items added in order
subs[0] = make_header("[Script Info]")
subs[0] = make_scriptinfo("Title", "Default Aegisub file")
subs[0] = make_scriptinfo("ScriptType", "v4.00+")
subs[0] = make_scriptinfo("WrapStyle", "0");
subs[0] = make_scriptinfo("ScaledBorderAndShadow", "yes")
subs[0] = make_scriptinfo("Collisions", "Normal")
subs[0] = make_header("[V4+ Styles]")
subs[0] = make_format("Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding", "[V4+ Styles]")
subs[0] = make_style("Default")
subs[0] = make_header("[Events]")
subs[0] = make_format("Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text", "[Events]")
subs[0] = make_dialogue("")
check_line(1, subs[1], "head", "[Script Info]")
check_line(2, subs[2], "info", "[Script Info]")
check_line(3, subs[3], "info", "[Script Info]")
check_line(4, subs[4], "info", "[Script Info]")
check_line(5, subs[5], "info", "[Script Info]")
check_line(6, subs[6], "info", "[Script Info]")
check_line(7, subs[7], "head", "[V4+ Styles]")
check_line(8, subs[8], "format", "[V4+ Styles]")
check_line(9, subs[9], "style", "[V4+ Styles]")
check_line(10, subs[10], "head", "[Events]")
check_line(11, subs[11], "format", "[Events]")
check_line(12, subs[12], "dialogue", "[Events]")
subs.deleterange(1, #subs)
-- test that groups appear in the order they're first used and lines are
-- put in the right group
subs[0] = make_scriptinfo("Title", "Script Title")
subs[0] = make_style("Default")
subs[0] = make_dialogue("Foo")
subs[0] = make_style("Default 2")
subs[0] = make_scriptinfo("ScriptType", "v4.00+")
subs[0] = make_dialogue("Bar")
check_line(1, subs[1], "head", "[Script Info]")
check_line(2, subs[2], "info", "[Script Info]")
check_line(3, subs[3], "info", "[Script Info]")
check_line(4, subs[4], "head", "[V4+ Styles]")
check_line(5, subs[5], "style", "[V4+ Styles]")
check_line(6, subs[6], "style", "[V4+ Styles]")
check_line(7, subs[7], "head", "[Events]")
check_line(8, subs[8], "dialogue", "[Events]")
check_line(9, subs[9], "dialogue", "[Events]")
aegisub.set_undo_point("append test")
end
aegisub.register_macro(script_name, script_description, test)

View File

@ -0,0 +1,82 @@
-- Automation 4 test file
-- Create a Filter feature that does some kara stuff
script_name = "Automation 4 test 6"
script_description = "Test basic export filters"
script_author = "Niels Martin Hansen"
script_version = "1"
include("utils.lua")
function test6_2(subtitles, config)
--[[for i = 1, #subtitles do
local l = subtitles[i]
if l.class == "dialogue" then
local nl = table.copy(l)
nl.text = "Copied!"
subtitles.insert(i, nl)
break
end
end]]
end
function test6(subtitles, config)
aegisub.progress.task("Collecting style data")
local styles = {}
for i = 1, #subtitles do
aegisub.debug.out("finding styles, line " .. i)
local l = subtitles[i]
if l.class == "dialogue" then
break
end
if l.class == "style" then
aegisub.debug.out(" found style: " .. l.name)
styles[l.name] = l
end
aegisub.progress.set(100 * i / #subtitles)
end
local res = {}
local i = 1
while i <= #subtitles do
aegisub.debug.out("producing effect, line " .. i)
local l = subtitles[i]
if l.class == "dialogue" then
aegisub.debug.out(" found dialogue: " .. l.text)
local res = {}
do_line(styles, l, config, res)
aegisub.debug.out(" lines returned by do_line: " .. #res)
for j,nl in ipairs(res) do
subtitles.insert(i+j, nl)
end
aegisub.debug.out(" done inserting generated lines")
subtitles.delete(i)
i = i + #res
else
aegisub.debug.out(" not dialogue")
i = i + 1
end
aegisub.progress.task(string.format("Producing effect (%d/%d)", i, #subtitles))
aegisub.progress.set(100 * i / #subtitles)
end
end
function do_line(styles, line, config, res)
local k = aegisub.parse_karaoke_data(line)
aegisub.debug.out(" syllables generated from line: " .. #k)
local left = 0
for j = 1, #k do
aegisub.debug.out(" syllable " .. j .. " is: " .. k[j].text)
local nl = table.copy(line)
nl.text = string.format("{\\t(%d,%d,\\fscx50)\\pos(%d,20)}%s", k[j].start_time, k[j].end_time, left, k[j].text_stripped)
left = left + (aegisub.text_extents(styles[nl.style], k[j].text_stripped))
table.insert(res, nl)
end
end
aegisub.register_filter("Stupid karaoke", "Makes some more karaoke-like stuff", 2000, test6, nil)
aegisub.register_filter("Lame test", "Simple test of filters, just inserting a new line", 2000, test6_2)

View File

@ -0,0 +1,50 @@
-- Automation 4 test file
-- Create a Macro feature, that displays some text
script_name = "Automation 4 test 2"
script_description = "Some additional non-hello-world tests"
script_author = "Niels Martin Hansen"
script_version = "2"
function macro_test2(subtitles, selected_lines, active_line)
aegisub.debug.out(subtitles.n .. " and " .. #subtitles .. " should be the same value")
aegisub.debug.out(subtitles[selected_lines[1]].raw)
end
function dumper(subtitles, selected_lines, active_line)
for i = 1, #subtitles do
local l = subtitles[i]
local s = l.raw .. "\n"
s = s .. l.class .. "\n"
if l.class == "comment" then
s = s .. "text: " .. l.text .. "\n"
elseif l.class == "info" then
s = s .. string.format("key: %s\nvalue:%s\n", l.key, l.value)
elseif l.class == "format" then
-- skip
elseif l.class == "style" then
s = s .. string.format("name: %s\nfont: %s %d\ncolors: %s %s %s %s\n", l.name, l.fontname, l.fontsize, l.color1, l.color2, l.color3, l.color4)
elseif l.class == "dialogue" then
s = s .. string.format("layer: %d\nstyle: %s\ntext: %s\n", l.layer, l.style, l.text)
end
aegisub.debug.out(s)
end
end
function inserttest(subtitles, selected_lines, active_line)
local lid = selected_lines[1]
subtitles[-lid] = subtitles[lid]
subtitles[0] = subtitles[lid]
local l = subtitles[lid]
l.text = "A4 was here!"
subtitles[lid] = l
aegisub.set_undo_point("Insert Stuff")
end
aegisub.register_macro("File line count", "Count the number of lines in the ASS file", macro_test2, nil)
aegisub.register_macro("Dump", "Dumps info on every line in the file", dumper, nil)
aegisub.register_macro("Insert stuff", "Inserts some lines near the active line", inserttest, nil)

View File

@ -0,0 +1,114 @@
-- Automation 4 test file
-- Create a Filter feature that does some kara stuff
script_name = "Automation 4 test 7"
script_description = "Test config dialogs"
script_author = "Niels Martin Hansen"
script_version = "1"
include("utils.lua")
function test7(subtitles, selected_lines, active_line)
local a, b = aegisub.dialog.display({{class="label", label="Test..."}}, {})
report_dialog_result(a, b)
aegisub.progress.set(50)
a, b = aegisub.dialog.display(
{
{class="edit", name="foo", text="", x=0, y=0},
{class="intedit", name="e1", value=20, x=0, y=1},
{class="intedit", name="e2", value=30, min=10, max=50, x=1, y=1},
{class="floatedit", name="e3", value=19.95, x=0, y=2},
{class="floatedit", name="e4", value=123.63423, min=-4.3, max=2091, x=1, y=2},
{class="floatedit", name="e5", value=-4, step=0.21, x=2, y=2},
{class="floatedit", name="e6", value=22, min=0, max=100, step=1.4, x=3, y=2},
{class="textbox", name="e7", text="hmm wuzzis say?", x=0, y=3, width=4},
{class="dropdown", name="l1", items={"abc", "def", "ghi"}, value="def", x=0, y=4},
{class="dropdown", name="l2", items={"abc", "def", "ghi"}, value="doesnotexist", x=1, y=4},
{class="checkbox", name="b1", value=true, label='checked', x=0, y=5},
{class="checkbox", name="b2", value=false, label='cleared', x=1, y=5},
{class="color", name="c1", value="#00ff11", x=0, y=6},
{class="color", name="c2", value="&H0011ff00", x=1, y=6},
{class="coloralpha", name="c3", value="#aabbccdd", x=0, y=7},
{class="coloralpha", name="c4", value="&Hddccbbaa&", x=1, y=7},
{class="alpha", name="c5", value="#12", x=0, y=8},
{class="alpha", name="c6", value="&H12&", x=1, y=8}
},
{"foo", "bar"})
report_dialog_result(a, b)
end
function report_dialog_result(button, controls)
aegisub.debug.out("Dialog closed: ")
if button == false then
aegisub.debug.out("cancelled\n")
elseif button == true then
aegisub.debug.out("clicked Ok\n")
else
aegisub.debug.out("clicked '" .. button .. "'\n")
end
for key, val in pairs(controls) do
local printable = (val == true and "true") or (val == false and "false") or tostring(val)
aegisub.debug.out("%s: %s\n", key, printable)
end
aegisub.debug.out(" - - - - -\n")
end
function exporter(subs, config)
for i = 1, #subs do
local l = subs[i]
if l.class == "dialogue" and not l.comment then
if config.style == "" or l.style == config.style then
l.text = config.text .. l.text
subs[i] = l
end
end
end
end
function export_config_dialog(subs, store)
local styles = {""}
for i = 1, #subs do
local l = subs[i]
if l.class == "style" then
table.insert(styles, l.name)
end
end
return {
{
class = "label",
label = "This will insert a given text in\n" ..
"front of all dialogue lines of\n" ..
"the given style, or every line\n" ..
"if no specific style is selected.",
x = 0, y = 0, width = 2, height = 1
},
{
class = "label",
label = "Text to insert:",
x = 0, y = 1, width = 1, height = 1
},
{
class = "edit",
name = "text",
x = 1, y = 1, width = 1, height = 1
},
{
class = "label",
label = "Style to apply on:",
x = 0, y = 2, width = 1, height = 1
},
{
class = "dropdown",
name = "style",
value = "",
items = styles,
x = 1, y = 2, width = 1, height = 1
}
}
end
aegisub.register_macro("Config Dialog 1", "Show a stupid config dialog", test7, nil)
aegisub.register_filter("Export Config", "Test export filter config dialog stuff", 500, exporter, export_config_dialog)

View File

@ -0,0 +1,31 @@
[Script Info]
; Script generated by Aegisub v2.00 PRE-RELEASE (SVN r1170, jfs)
; http://www.aegisub.net
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 640
PlayResY: 480
Video Aspect Ratio: 0
Video Zoom: 8
Video Position: 840
Automation Scripts: ~test-furi.lua
Video File: ?dummy:23.976000:3000:640:480:226:221:236:c
Audio File: E:\Anime Projekter\Zegapain\op\op.wav
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default-furigana,Arial,10,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,0
Style: Default,Arial,20,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,,{\k3}振|ふ{\k3}り{\k10}仮|が{\k5}名|な
Dialogue: 0,0:00:05.00,0:00:10.00,Default,,0000,0000,0000,,{\k4}変身|か{\k12}わ{\k7}っ{\k7}た
Dialogue: 0,0:00:10.00,0:00:15.00,Default,,0000,0000,0000,,{\k4}お{\k4}茶|ちゃ
Dialogue: 0,0:00:15.00,0:00:20.00,Default,,0000,0000,0000,,{\k15}二|ふ{\k15}#|た{\k10}人|り{\k15}だ{\k57}け{\k5}の{\k6}地|は{\k5}球|し{\k8}で
Dialogue: 0,0:00:20.00,0:00:25.00,Default,,0000,0000,0000,,{\k5}明日|あ{\k10}#|し{\k5}#|た{\k10}ま{\k7}だ{\k10}会{\k4}う{\k6}時{\k14}#
Dialogue: 0,0:00:25.00,0:00:30.00,Default,,0000,0000,0000,,{\k21}遠|と{\k6}#|お{\k27}い{\k27}記|き{\k21}憶|お{\k6}#|く{\k27} {\k14}蘇|<よ{\k5}#|み{\k4}#|が{\k4}#|え{\k26}る{\k20}悲|か{\k6}#|な{\k26}し{\k26}み{\k26}も{\k16}温|<あ{\k5}#|た{\k5}#|た{\k26}め{\k26}て{\k26}行|ゆ{\k26}け{\k26}る{\k26}の{\k26}に
Dialogue: 0,0:00:30.00,0:00:35.00,Default,,0000,0000,0000,,{\k29}筋肉|きんにく{\k15}の{\k58}長軸方向|ちょうじくほうこう{\k15}に{\k15}伸|の{\k29}びる{\k29}非常|ひじょう{\k15}に{\k29}大型|おおがた{\k14}の{\k28}細胞{\k28}で、{\k28}1個|いっこ{\k14}の{\k28}細胞|さいぼう{\k14}を{\k42}筋線維|きんせんい{\k28}とも{\k14}呼|よ{\k28}ぶ。
Dialogue: 0,0:00:35.00,0:00:40.00,Default,,0000,0000,0000,,{\k80}中|<ちゅ{\k60}#|う{\k60}国|ご{\k60}#|く{\k60}魂|<た{\k60}#|ま{\k60}#|し{\k60}#|い
Dialogue: 0,0:00:40.00,0:00:45.00,Default,,0000,0000,0000,,wee

View File

@ -0,0 +1,34 @@
script_name = "Absurdness"
script_description = "Benchmark renderers by testing how they react to an absurd number of \\t tags in one line, and an absurd amount of lines each with a single \\t."
script_author = "jfs"
absurd = 1000
ttext = "\\1a&H00&\\2a&H00&\\3a&H00&\\4a&H00&"
function gen_one_absurd(subs, sel)
local l = subs[sel[1]]
l.text = ""
l.start_time = 0
l.end_time = (absurd+1)*100
for i = 1, absurd do
l.text = l.text .. string.format("{\\t(%d,%d,%s)}", i*100, (i+1)*100, ttext)
end
l.text = l.text .. "a"
subs[-sel[1]] = l
aegisub.set_undo_point("absurdness 1")
end
function gen_absurd_many(subs, sel)
local l = subs[sel[1]]
for i = 1, absurd do
l.start_time = i*100
l.end_time = (i+1)*100
l.text = string.format("{\\t(0,100,%s)}a", ttext)
subs[-sel[1]] = l
end
aegisub.set_undo_point("absurdness 2")
end
aegisub.register_macro("Generate absurd line", "Absurd", gen_one_absurd)
aegisub.register_macro("Generate absurdly many lines", "Absurd", gen_absurd_many)

View File

@ -0,0 +1,15 @@
-- Automation 4 test file
-- Create a Macro feature, that displays some text
script_name = "Automation 4 test 1"
script_description = "Hello World in Automation 4/Lua"
script_author = "Niels Martin Hansen"
script_version = "1"
function macro_test1(subtitles, selected_lines, active_line)
--aegisub.debug.out(3, "Hello World from %s", "Automation 4/Lua")
aegisub.debug.out("Hello Automation 4 World!")
end
aegisub.register_macro("Hello", "Shows a message", macro_test1)

View File

@ -0,0 +1,29 @@
[Script Info]
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 640
PlayResY: 480
Video Aspect Ratio: 0
Video Zoom: 8
Video Position: 500
Last Style Storage: Default
Video File: ?dummy:50.000000:1000:640:480:226:221:236:c
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,50,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,0,5,10,10,10,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template noblank,!retime("abs",1000,2000)!{\pos($x,$y)\1c&H0000FF&}
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template noblank,!retime("preline",-100)!{\pos($x,$y)\1c&H000000&}
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template noblank,!retime("start2syl")!{\pos($x,$y)\1c&HFF0000&}
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template noblank,!retime("presyl",-200,0)!{\pos($x,$y)\1a&HFF&\3c&H0000FF&}
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template noblank,!retime("syl")!{\pos($x,$y)\1c&H00FF00&}
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template noblank,!retime("postsyl",0,200)!{\pos($x,$y)\1a&HFF&\3c&H00FF00&}
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template noblank,!retime("syl2end",200,0)!{\pos($x,$y)\1c&HFF00FF&}
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template noblank,!retime("postline",0,100)!{\pos($x,$y)\1c&H00FFFF&}
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template noblank,!retime("sylpct",50,100)!{\pos($center,$middle)\an5\1a&HFF&\3c&HFFFFFF&\fscy300\t(\3a&HFF&)}
Dialogue: 0,0:00:10.00,0:00:11.00,Default,,0000,0000,0000,,{\k30}ha{\k20}hi{\k50}ho
Dialogue: 0,0:00:11.00,0:00:16.00,Default,,0000,0000,0000,,

View File

@ -0,0 +1,33 @@
-- Automation 4 test file
-- Create a Macro feature, that displays some text
script_name = "Automation 4 test 3"
script_description = "Test parse_karaoke_data"
script_author = "Niels Martin Hansen"
script_version = "1"
function copy_table(tab)
local res = {}
for key, val in pairs(tab) do
res[key] = val
end
return res
end
function karatest(subtitles, selected_lines, active_line)
for i = #selected_lines, 1, -1 do
local ri = selected_lines[i]
local l = subtitles[ri]
local k = aegisub.parse_karaoke_data(l)
for j = 1, #k do
local nl = copy_table(l)
l.text = string.format("{\\t(%d,%d,\\fscx50)}%s", k[j].start_time, k[j].end_time, k[j].text_stripped)
subtitles.insert(ri+j, l)
end
end
aegisub.set_undo_point("karaoke-like stuff")
end
aegisub.register_macro("Karaoke fun", "Makes karaoke-like stuff", karatest, nil)

View File

@ -0,0 +1,40 @@
-- Automation 4 test file
-- Create a Macro feature, that displays some text
script_name = "Automation 4 test 4"
script_description = "Test progress reporting"
script_author = "Niels Martin Hansen"
script_version = "1"
function wait()
local s = ""
for i = 0, 500 do
s = s .. i
end
return s
end
function progression(subtitles, selected_lines, active_line)
while not aegisub.progress.is_cancelled() do
aegisub.progress.task("Counting up...")
for i = 0, 100, 0.2 do
aegisub.progress.set(i)
if aegisub.progress.is_cancelled() then
break
end
wait()
end
if aegisub.progress.is_cancelled() then
break
end
aegisub.progress.task("Counting down...")
for i = 0, 100 do
aegisub.progress.set(100-i)
wait()
end
end
end
aegisub.register_macro("Progress fun", "Does absolutely nothing", progression, nil)

View File

@ -0,0 +1,32 @@
-- Automation 4 test file
-- Create a Macro feature, that displays some text
script_name = "Automation 4 set-selection test"
script_description = "Test setting the grid selection"
script_author = "Niels Martin Hansen"
script_version = "1"
function selecttest(subtitles, selected_lines, active_line)
-- get line-id of first selected line
local lid = selected_lines[1]
-- insert a copy of line 'lid' before itself
subtitles[-lid] = subtitles[lid]
-- append a copy of the copy of the copied line
subtitles[0] = subtitles[lid]
-- grab the copied line
local l = subtitles[lid]
-- modify it
l.text = "A4 was here!"
-- and store it back
subtitles[lid] = l
-- select some new lines
selected_lines = { lid-1, lid, lid+1 }
-- and set undo point (never forget!)
aegisub.set_undo_point("Insert+select Stuff")
-- return the new selection
return selected_lines
end
aegisub.register_macro("Insert+select stuff", "Inserts some lines near the active line and selects the new lines", selecttest, nil)

View File

@ -0,0 +1,19 @@
-- Automation 4 test file
-- Create a Filter feature that does some kara stuff
script_name = "Automation 4 test 10"
script_description = "Test reaction to export filter name clashes"
script_author = "Niels Martin Hansen"
script_version = "1"
include("utils.lua")
function function1(subtitles, config)
aegisub.debug.out("function 1")
end
function function2(subtitles, config)
aegisub.debug.out("function 2")
end
aegisub.register_filter("Export breaker", "Export filter with nameclash (1)", 500, function1)
aegisub.register_filter("Export breaker", "Export filter with nameclash (2)", 500, function2)

View File

@ -0,0 +1,75 @@
script_name = "Test furigana"
script_description = "Tests the Auto4/Lua karaskel furigana and multi-highlight code"
script_author = "jfs"
include "karaskel.lua"
function dump_furi(subs)
aegisub.progress.task("Collecting header data")
local meta, styles = karaskel.collect_head(subs, true) -- make sure to create furigana styles
aegisub.progress.task("Processing lines")
for i = 1, #subs do
local l = subs[i]
if l.class == "dialogue" then
aegisub.progress.task(l.text)
karaskel.preproc_line_text(meta, styles, l)
-- Dump the thing
aegisub.debug.out(4, "Line: %s\nStripped: %s\nDuration: %d\n", l.text, l.text_stripped, l.duration)
aegisub.debug.out(4, "Karaoke syllables: (%d)\n", l.kara.n)
for s = 0, l.kara.n do
local syl = l.kara[s]
aegisub.debug.out(4, "\tSyllable: text='%s' stripped='%s' duration=%d, start/end_time=%d/%d, inline_fx='%s', highlights=%d\n", syl.text, syl.text_stripped, syl.duration, syl.start_time, syl.end_time, syl.inline_fx, syl.highlights.n)
aegisub.debug.out(4, "\t\tHighlights:")
for h = 1, syl.highlights.n do
local hl = syl.highlights[h]
aegisub.debug.out(4, " %d-%d=%d", hl.start_time, hl.end_time, hl.duration)
end
aegisub.debug.out(4, "\n")
end
aegisub.debug.out(4, "Furigana parts: (%d)\n", l.furi.n)
for f = 1, l.furi.n do
local furi = l.furi[f]
aegisub.debug.out(4, "\tFurigana: text='%s', duration=%d, start/end_time=%d/%d, flags=%s%s, syl='%s'\n", furi.text, furi.duration, furi.start_time, furi.end_time, furi.isbreak and "b" or "", furi.spillback and "s" or "", furi.syl.text_stripped)
end
aegisub.debug.out(4, " - - - - - -\n")
end
end
aegisub.debug.out(4, "Done dumping!")
end
function layout_furi(subs)
aegisub.progress.task("Collecting header data")
local meta, styles = karaskel.collect_head(subs, true) -- make sure to create furigana styles
aegisub.progress.task("Processing lines")
for i = 1, #subs do
local l = subs[i]
if l.class == "dialogue" then
aegisub.progress.task(l.text)
karaskel.preproc_line_pos(meta, styles, l)
aegisub.progress.task("Line layouting done, rendering...")
aegisub.debug.out(4, "line width: %.2f\n", l.width)
-- First all syllables
for s = 0, l.kara.n do
local syl = l.kara[s]
local lc = table.copy(l)
lc.text = string.format("{\\pos(%.1f,%.1f)\\k%d\\k%d\\an5}%s", l.left+syl.center, l.middle, syl.start_time/10, syl.kdur, syl.text_stripped)
subs.append(lc)
end
-- Then all furigana
for f = 1, l.furi.n do
local furi = l.furi[f]
local lc = table.copy(l)
lc.text = string.format("{\\pos(%.1f,%.1f)\\k%d\\k%d\\an5}%s", l.left+furi.center, l.top-l.height/2, furi.start_time/10, furi.duration/10, furi.text)
lc.style = furi.style.name
subs.append(lc)
end
end
end
aegisub.set_undo_point("Furigana layout test")
end
aegisub.register_macro("Test furi parsing", "Run the furigana parsing code and dump the result", dump_furi)
aegisub.register_macro("Test furi layout", "Run the furigana layout code and render the result", layout_furi)

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