Commit Graph

26 Commits

Author SHA1 Message Date
Thomas Goyne 703b1fc3a7 Extract common stuff for wrapper audio providers to a base class 2013-09-26 20:18:29 -07:00
Thomas Goyne b67a0538ff Drop support for non-little-endian platforms
Aegisub doesn't actually currently run on any.
2013-06-11 20:54:07 -07:00
Thomas Goyne f21a72992b Use unique_ptr for most non-wx owning pointers 2013-06-08 19:21:49 -07:00
Thomas Goyne 1e0f08c0ed Mostly purge wxWidgets from non-UI stuff
Use boost::filesystem::path for all paths, and std::string for all other
strings, converting to/from wxString as close to the actual uses of wx
as possible.

Where possible, replace the uses of non-UI wxWidgets functionality with
the additions to the standard library in C++11, or the equivalents in
boost.

Move the path token management logic to libaegisub (and rewrite it in
the process).

Add a basic thread pool based on asio and std::thread to libaegisub.

This touches nearly every file in the project and a nontrivial amount of
code had to be rewritten entirely, so there's probably a lot of broken
stuff.
2013-02-06 13:22:15 -08:00
Thomas Goyne e270dc9aec Use stable_vector for AudioProviderRam's cache
stable_vector allocates its elements non-contiguously (as is required
for stability), while still giving O(1) indexing.
2012-12-22 14:44:35 -08:00
Thomas Goyne 433368dc58 Fix some weirdness in the AVS audio provider 2012-12-22 12:14:32 -08:00
Thomas Goyne a4607ff6be Clean up AudioProvider a bit
Factor out some duplicated code and clean up some cruft.
2012-12-22 07:49:59 -08:00
Thomas Goyne 009518271a Document a few things and kill all remaining placeholders 2012-12-02 13:08:42 -08:00
Thomas Goyne 96cf5ea7ed Kill the #ifndef AGI_PRE guards
They don't actually improve compilation performance and make it more
annoying to modify what things are in the precompiled header.
2012-12-02 06:33:29 -08:00
Thomas Goyne 59e6a1bef7 Fix crash when playing audio before time 0
There were two checks for reads past the end rather than checks for
before start and after end.

Closes #1556.
2012-11-25 14:01:50 -08:00
Thomas Goyne e44c47c863 Remove $Id$ markers since git doesn't support them 2012-10-25 17:39:49 -07:00
Thomas Goyne 79684d5ad6 Factor out bounds-checking for GetAudio to a single place
It was being done in inconsistent ways in several places, which did not
include all of the places it needed to be done.

Closes #1509.

Originally committed to SVN as r6960.
2012-08-19 14:11:29 -07:00
Thomas Goyne b8c6a41ac4 Add support for floating-point audio. Closes #1490.
Originally committed to SVN as r6904.
2012-06-13 15:58:28 +00:00
Thomas Goyne df9c6b627f Improve audio open error reporting and remove a pile of unused stuff in AudioPlayer
Originally committed to SVN as r6223.
2012-01-08 01:33:39 +00:00
Thomas Goyne a927672c27 Remove unused private variables in AudioProvider
Originally committed to SVN as r6222.
2012-01-08 01:33:33 +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
Amar Takhar c15777f844 Merge audio_display_rewrite branch to trunk. This is not a complete work, don't expect to time anything for a while.
Originally committed to SVN as r4903.
2010-12-08 03:36:10 +00:00
Thomas Goyne c10e9e3a5b Make video and audio providers throw typed exceptions.
Don't display error messages and try other providers when the user
cancels loading a file.

Remove files from the MRU lists if they can't be found.

Closes #717.

Originally committed to SVN as r4717.
2010-08-02 06:32:01 +00:00
Thomas Goyne 71fb04cd29 Rework most of the various factories to not need an explicit helper class for each class constructable via a factory.
Originally committed to SVN as r4716.
2010-08-02 06:31:38 +00:00
Amar Takhar 774fb0f674 Fix all the headers in *., this includes:
* Wrapping all headers that are in agi_pre.h with AGI_PRE.
  * Sorting alphabetically.
  * Same operation as r3515.

Note: This is broken when precompiled headers are not in use, I'll fix that after this commit so the two changes don't get jumbled up.

Originally committed to SVN as r3525.
2009-09-11 02:36:34 +00:00
Amar Takhar 84996c927f Add a whole slew of missing includes, prior to r3509 config_unix.h used to include stdwx.h, now that I'm fixing the headers I removed it which caused issues when not using precompiled headers.
Originally committed to SVN as r3512.
2009-09-10 05:25:25 +00:00
Amar Takhar d82d02010b Add Doxygen skeleton info for general include files.
Originally committed to SVN as r3327.
2009-07-30 04:24:23 +00:00
Amar Takhar 12aa34088a Switch all headers to using Doxygen and cleanup contact info
* Swap old email + website address with 'Aegisub Project http://www.aegisub.org/'
 * Set categories for all files (jfs)
 * Add descriptions for each file (jfs)
 * Add $Id$ keyword

Originally committed to SVN as r3310.
2009-07-29 05:43:02 +00:00
Amar Takhar a0370f9004 Remove Aegisub::String class as it's causing problems in wx2.9. The original plan was to have it so external modules wouldn't have to depend on wx. We'll think of a different solution when the time comes. closes #940
Originally committed to SVN as r3220.
2009-07-23 15:16:53 +00:00
Niels Martin Hansen ce015fc820 Add sample endianness info to all audio providers (except one, intentionally; see the stream provider changeset), and make the converting audio provider convert to native endian when required. Updates #725 but needs some testing. Might break compilation in some places, but shouldn't. ("Works for me.")
Originally committed to SVN as r3016.
2009-06-04 23:02:29 +00:00
Amar Takhar 91d73ec8ea SVN Transition Step 3/7
1. cd aegisub/
  2. svn mv *cpp *h src/
  3. svn mv Makefile.am MatroskaParser.c auto4_perldata.inc bitmaps boost \
     changelog.txt config gl include libosxutil libresrc md5.c msvc mythes.cxx \
     mythes.hxx res.rc src/
  4. cd ..
  5. svn mv FFmpegSource2/ INSTALL Makefile.am README  acinclude.m4 \
     autogen.sh automation/ bin build configure.in desktop dummy.txt lib \
     libass/ m4macros/ packages/ po/ scripts/ universalchardet/ aegisub/
  6. mkdir -p docs/wiki_convert
  7. svn add docs/wiki_convert
  8. cd docs
  9. svn mv aegisub_convert_docs.pl convert.bat output wiki_convert/

* See r2749 for full description.

Originally committed to SVN as r2752.
2009-03-08 08:30:39 +00:00