Commit Graph

7497 Commits

Author SHA1 Message Date
Thomas Goyne 960dc3723b Don't get the duration from the audio controller on audio open
The audio controller's provider may not have been updated yet.
2014-05-26 09:34:20 -07:00
Thomas Goyne cca97a58f6 Fully initialize the video when it's opened via drag-and-drop 2014-05-26 09:34:20 -07:00
Thomas Goyne 4da1443194 Store connected slots in a vector rather than a map 2014-05-26 09:34:20 -07:00
Thomas Goyne 81b942ea6e Update agi_pre.h 2014-05-26 09:34:20 -07:00
Thomas Goyne 6c685daf98 Ditch boost.circular_buffer
It drags in a ton of crap, is kinda slow at runtime due to using
std::deque, and doesn't actually make the code much simpler than just
using a manual ring buffer.
2014-05-26 09:34:19 -07:00
Thomas Goyne 1f7c47239b Replace timeval junk with std::chrono 2014-05-26 09:34:19 -07:00
Thomas Goyne 650cfcb043 Remove a bunch of unused crap from lagi_pre.h 2014-05-26 09:34:19 -07:00
Thomas Goyne 50f2e550e2 Use std::thread with libc++
boost::thread is only used due to libstdc++ 4.8 missing a bunch of
stuff.
2014-05-26 09:34:19 -07:00
Thomas Goyne 6477ef933b Use std::to_string rather than boost::lexical_cast 2014-05-26 09:34:19 -07:00
Thomas Goyne 41297e5ace Remove non-spirit uses of boost.phoenix
The slightly more concise code is not worth the compilation speed hit.
2014-05-26 09:34:19 -07:00
Thomas Goyne fed99649e9 Cut down on pointless uses of std::list 2014-05-26 09:34:19 -07:00
Thomas Goyne c0d3ecb6c2 Change Spline to a std::vector 2014-05-26 09:34:18 -07:00
Thomas Goyne 8ec9280ecc Change most uses of deques to vectors 2014-05-26 09:34:18 -07:00
Thomas Goyne 20a7ec786f Use initializer lists rather than std::make_pair 2014-05-26 09:34:18 -07:00
Thomas Goyne 4f65f79f1e Remove some pointless std::moves 2014-05-26 09:34:18 -07:00
Thomas Goyne 4598a23485 Fix the paste over dialog 2014-05-24 07:41:17 -07:00
Thomas Goyne b370e1af53 Stop video playback when seeking due to switching active lines 2014-05-24 07:41:17 -07:00
Thomas Goyne d73790805a Fix reloading the video provider after settings changes 2014-05-24 07:41:16 -07:00
Thomas Goyne 9ca61a2fb5 Delete unused stuff in the pulseaudio player 2014-05-24 07:41:16 -07:00
Thomas Goyne 55865d131a Add a missing check for if the video has an audio track 2014-05-23 13:03:10 -07:00
Thomas Goyne 99b46f6a14 Fix restoring video position from saved project info 2014-05-23 13:03:10 -07:00
Thomas Goyne d004fc1856 Improve ALSA playback position reporting
Use std::chrono since it's a nicer API. Use a separate lock for playback
position so that the GUI thread isn't blocked for hundreds of ms while
snd_pcm_drain is waiting, and update the playback position after
decoding audio rather than before to avoid it being significantly wrong
when not using a cache.
2014-05-23 13:03:10 -07:00
Thomas Goyne e36ecbde49 Reuse a decoding buffer for ALSA rather than constantly allocating new ones 2014-05-23 13:03:10 -07:00
Thomas Goyne 1bf6197869 Use std::thread rather than pthreads for AlsaPlayer 2014-05-23 13:03:10 -07:00
Thomas Goyne c2b8892b33 Use unique_ptr in AlsaPlayer 2014-05-23 13:03:10 -07:00
Arslanoglou Georgios b9a683eeb2 Update Greek translation. Closes #1526. 2014-05-23 07:47:27 -07:00
Thomas Goyne 9a3f5ce905 Add a BOM to fragment_strings.iss
InnoSetup doesn't read it as UTF-8 without one.
2014-05-23 07:47:27 -07:00
Thomas Goyne 9d3067ae75 Return absolute paths for files in project_properties() 2014-05-23 07:28:26 -07:00
Thomas Goyne 384f87f399 Use more plural forms for translatable strings 2014-05-23 07:28:25 -07:00
Thomas Goyne 60fd44163e Don't clear project properties on undo/redo 2014-05-23 07:28:25 -07:00
Thomas Goyne 40ac2f9b44 Fix crash when opening video
If video was previously open and the user chooses to resample the script
for the new video, VideoController would try to update the subs for the
now-deleted old provider.
2014-05-23 07:28:25 -07:00
Thomas Goyne e2754bcd90 Make video providers report whether their file has audio tracks
Fixes errors when trying to automatically open audio from dummy video
and improves UX a little by disabling the Open Audio From Video menu
item when there are no audio tracks.
2014-05-23 07:28:25 -07:00
Thomas Goyne 692b354713 Don't compile the FFT code if FFTW is enabled 2014-05-23 07:28:25 -07:00
Thomas Goyne e0b8c21590 Use unique_ptr for AudioWaveformRenderer's decode buffer 2014-05-23 07:28:25 -07:00
Thomas Goyne 09e325a1c3 Clean up unused includes 2014-05-23 07:28:24 -07:00
Thomas Goyne df406d5452 Fix compilation with GCC 2014-05-22 14:58:39 -07:00
Thomas Goyne 2bf23af00a Remove a lot of pointless headers for dialogs
Most of the dialogs in Aegisub have a public interface consisting of a
single function, so there's really no need to expose the actual dialog
classes to the rest of the program. Add dialogs.h with the declarations
of all of those functions (most of which are just ShowFooDialog()), and
kill a million other headers.
2014-05-22 14:58:39 -07:00
Thomas Goyne 49357eec20 Add missing subs_controller.h include for release builds 2014-05-22 09:54:59 -07:00
Thomas Goyne 9ae9da4aab Support loading keyframes and timecodes files via drag-and-drop
Closes #1749.
2014-05-22 09:29:16 -07:00
Thomas Goyne de2e1e23de List the files to be (un)loaded in the Load/Unload files dialog
Updates #880.
2014-05-22 09:29:16 -07:00
Thomas Goyne aa21b3d77d Add aegisub.project_properties()
Returns a table with all of the project metadata junk that used to be in
the script info section of the file.

Closes #1747.
2014-05-22 09:29:16 -07:00
Thomas Goyne 6a8958f287 Delete the Clean Script Info macro
It doesn't actually do anything anymore.
2014-05-22 09:29:15 -07:00
Thomas Goyne 9c7119fdc2 Redesign how project metadata is stored in the file
Remove it from the script info section and put it in its own section
that isn't tracked by undo and make it not stringly typed. Removes the
need for the gross hack where changes are slipped in just before saving
to circumvent the undo system, cuts down on the uses of string literals
to identify fields, and probably improves performance a little.
2014-05-22 09:29:15 -07:00
Thomas Goyne 19e8f19e52 Redesign project file handling
Add a new Project class which is responsible for everything related to
opening and closing audio, video, subtitles, timecodes and keyframes.
This pulls almost everything not directly related to playing audio/video
out of the audio and video controllers, pulls more crap out of
FrameMain, and happens to make things a little simpler in the process.
2014-05-22 09:29:12 -07:00
Thomas Goyne a345b8c4d5 Undelete the script resolution mismatch option from default_config 2014-05-22 06:14:59 -07:00
Thomas Goyne deaf833605 Preserve alpha when resampling style colors 2014-05-22 06:14:56 -07:00
Thomas Goyne 5830fc4225 Don't limit CodecPrivate to 256KB 2014-05-20 09:46:58 -07:00
Thomas Goyne f522d4df8a Update ffms2 2014-05-20 09:46:58 -07:00
Thomas Goyne 5f4d6ad386 Return zero bytes when MatroskaFile asks for data past the end of the file 2014-05-20 09:46:57 -07:00
Thomas Goyne 53f02d33a6 Fix a bunch of warnings when building with gcc on linux 2014-05-20 09:46:57 -07:00