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
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
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
8aa3c8761c
Unswap the actor and effect columns in the grid
2014-04-28 10:10:33 -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
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
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
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
Niels Martin Hansen
d53c36e67f
Merge branch 'extradata'
...
Conflicts:
src/ass_parser.cpp
2014-04-25 17:22:15 +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
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
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
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
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