Commit graph

304 commits

Author SHA1 Message Date
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
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
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
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
cae10121ed Fix a bunch of -pedantic stuff
Originally committed to SVN as r6181.
2011-12-28 21:27:06 +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
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
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
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
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
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
b66357bfb8 Fix warning on x64 unix
Originally committed to SVN as r6087.
2011-12-22 21:22:58 +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
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
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
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
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
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
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
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
34a87b1c1e Silence a pile of /W4 warnings
Originally committed to SVN as r6001.
2011-12-22 21:09:31 +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
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
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
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
5176ae4407 Flush hotkeys after they're modified
Originally committed to SVN as r5821.
2011-11-06 17:18:08 +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
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
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
91ab2ee9ba Make option names not dumb and wrong
Originally committed to SVN as r5731.
2011-10-11 00:06:34 +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
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
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
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
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
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
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
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
231adad93f Implement agi::util::freespace for Windows
Originally committed to SVN as r5497.
2011-07-26 19:51:07 +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
Niels Martin Hansen
b60e3a5bd4 Rename another clashing file in libaegisub.
Originally committed to SVN as r5490.
2011-07-18 01:08:41 +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
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
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
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