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