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
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
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
34a87b1c1e
Silence a pile of /W4 warnings
...
Originally committed to SVN as r6001.
2011-12-22 21:09:31 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
231adad93f
Implement agi::util::freespace for Windows
...
Originally committed to SVN as r5497.
2011-07-26 19:51:07 +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
8ccc0acc9d
Fix reporter compilation errors
...
Originally committed to SVN as r5481.
2011-07-16 03:36:42 +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
a8a30d6ac1
Fix hotkey memory leaks
...
Originally committed to SVN as r5472.
2011-07-15 17:36:06 +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
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
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
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
3522c0b4bd
Add a strtoi function. (with unit tests)
...
Originally committed to SVN as r5340.
2011-02-10 00:41:15 +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
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
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
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
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
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
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
b47dd1e220
Add mid() template to util namespace.
...
Originally committed to SVN as r5278.
2011-02-03 15:49:13 +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
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
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
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
1aeded1a29
Make scoped_ptr's constructor explicit
...
Originally committed to SVN as r5202.
2011-01-16 07:16:07 +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
Thomas Goyne
e450cb3e7e
Fix include paths
...
Originally committed to SVN as r5132.
2011-01-05 18:40:37 +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
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
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
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
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
Thomas Goyne
0e6d8631fd
Add scoped_ptr.h
...
Originally committed to SVN as r4902.
2010-12-07 19:09:37 +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
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
1f894561c3
Actually set options' default values
...
Originally committed to SVN as r4842.
2010-11-11 04:48:37 +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
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
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
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
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
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
Thomas Goyne
46be23073e
Fix a few gcc warnings
...
Originally committed to SVN as r4722.
2010-08-02 20:25:29 +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
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
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
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
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
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