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
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
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
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
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
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
72bc33fda3
Fix compilation errors with precompiled headers disabled
...
Originally committed to SVN as r5484.
2011-07-16 06:42:55 +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
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
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
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
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
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
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
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
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
bcafbe2083
Move ffms_* files over to media/
...
Originally committed to SVN as r5274.
2011-02-03 01:18:43 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Thomas Goyne
ab27440853
Fix comment in vfr.cpp
...
Originally committed to SVN as r4672.
2010-07-11 03:31:28 +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
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
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
Amar Takhar
4bb8e8ea22
Merge r4550: remove wx headers.
...
Originally committed to SVN as r4572.
2010-06-23 13:20:24 +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
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
d8a9bac4b0
Handle the lack of a pre-existing config file.
...
Originally committed to SVN as r4489.
2010-06-13 01:29:32 +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
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
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
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
acc9e53714
Remove stray ;'s
...
Originally committed to SVN as r4444.
2010-06-05 23:44:07 +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
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
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
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
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
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
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
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
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
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
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