Added a "reverse" option to export framerate.

Originally committed to SVN as r1988.
This commit is contained in:
Rodrigo Braz Monteiro 2008-03-09 05:32:02 +00:00
parent 88b845852a
commit fe8ed21878
5 changed files with 86 additions and 293 deletions

View file

@ -1,300 +1,81 @@
AUTOMAKE_OPTIONS = foreign AUTOMAKE_OPTIONS = foreign
SUFFIXES = .c .cpp .rc
noinst_LIBRARIES=
SUBDIRS = bitmaps posix
AM_CXXFLAGS = -DAEGISUB -Iposix -include posix/defines.h -Iinclude @WX_CPPFLAGS@
bin_PROGRAMS = aegisub
aegisub_LDADD = posix/libposix.a
aegisub_CPPFLAGS = @FREETYPE_CFLAGS@
aegisub_LDFLAGS = @GL_LIBS@ @FREETYPE_LIBS@ @PTHREAD_LIBS@ @WX_LIBS@
#XXX: fix this so it's generated by configure and put into acconf.h
#BUILDINFO := -DBUILD_CREDIT=verm -DBUILD_SVN_REVISION=0
if HAVE_ALSA
noinst_LIBRARIES += libaudio_alsa.a
libaudio_alsa_a_SOURCES = audio_player_alsa.cpp
aegisub_LDFLAGS += @ALSA_LDFLAGS@
aegisub_LDADD += libaudio_alsa.a
endif
if HAVE_PORTAUDIO
noinst_LIBRARIES += libaudio_portaudio.a
libaudio_portaudio_a_SOURCES = audio_player_portaudio.cpp
aegisub_LDFLAGS += @PORTAUDIO_LDFLAGS@
aegisub_LDADD += libaudio_portaudio.a
endif
if HAVE_PULSEAUDIO
noinst_LIBRARIES += libaudio_pulseaudio.a
libaudio_pulseaudio_a_SOURCES = audio_player_pulse.cpp
libaudio_pulseaudio_a_CPPFLAGS = @LIBPULSE_CFLAGS@
aegisub_LDFLAGS += @LIBPULSE_LIBS@
aegisub_LDADD += libaudio_pulseaudio.a
endif
if HAVE_OPENAL
noinst_LIBRARIES += libaudio_openal.a
libaudio_openal_a_SOURCES = audio_player_openal.cpp
libaudio_openal_a_CPPFLAGS = @OPENAL_CFLAGS@
aegisub_LDFLAGS += @OPENAL_LIBS@
aegisub_LDADD += libaudio_openal.a
endif
if HAVE_FFMPEG
noinst_LIBRARIES += libaudiovideo_ffmpeg.a
libaudiovideo_ffmpeg_a_SOURCES = audio_provider_lavc.cpp lavc_file.cpp video_provider_lavc.cpp lavc_keyframes.cpp
aegisub_LDFLAGS += @AVFORMAT_LDFLAGS@ @AVCODEC_LDFLAGS@ @SWSCALE_LDFLAGS@
aegisub_LDADD += libaudiovideo_ffmpeg.a
endif
if HAVE_LIBASS
noinst_LIBRARIES += libsubtitle_ass.a
libsubtitle_ass_a_SOURCES = subtitles_provider_libass.cpp
libsubtitle_ass_a_CPPFLAGS = @LIBASS_CFLAGS@
aegisub_LDFLAGS += @LIBASS_LIBS@
aegisub_LDADD += libsubtitle_ass.a
endif
if HAVE_AUTO4_LUA
noinst_LIBRARIES += libauto4_lua.a
libauto4_lua_a_SOURCES = auto4_lua.cpp auto4_lua_assfile.cpp auto4_lua_dialog.cpp auto4_lua_scriptreader.cpp
libauto4_lua_a_CPPFLAGS = @LUA_CPPFLAGS@
aegisub_LDFLAGS += @LUA_LDFLAGS@
aegisub_LDADD += libauto4_lua.a
endif
if HAVE_AUTO4_PERL
noinst_LIBRARIES += libauto4_perl.a
libauto4_perl_a_SOURCES = auto4_perl.cpp auto4_perl_script.cpp auto4_perl_dialogs.cpp auto4_perl_ass.cpp auto4_perl_console.cpp auto4_perl.h auto4_perl_console.h
libauto4_perl_a_CPPFLAGS = @PERL_CFLAGS@
aegisub_LDFLAGS += @PERL_LDFLAGS@
aegisub_LDADD += libauto4_perl.a
endif
if HAVE_AUTO4_RUBY
noinst_LIBRARIES += libauto4_ruby.a
libauto4_ruby_a_SOURCES = auto4_ruby_assfile.cpp auto4_ruby.cpp auto4_ruby_dialog.cpp
libauto4_ruby_a_CPPFLAGS = @RUBY_CFLAGS@
aegisub_LDFLAGS += @RUBY_LDFLAGS@
aegisub_LDADD += libauto4_ruby.a
endif
if HAVE_AUTO3_LUA
AUTO3_LUA = auto4_auto3.cpp
aegisub_LDADD += -L$(srcdir)/../auto3 -laegisub-auto3
endif
if HAVE_HUNSPELL
noinst_LIBRARIES += libmisc_hunspell.a
libmisc_hunspell_a_SOURCES = spellchecker_hunspell.cpp
aegisub_LDFLAGS += @HUNSPELL_LIBS@
aegisub_LDADD += libmisc_hunspell.a
endif
if HAVE_UNIVCHARDET if HAVE_UNIVCHARDET
noinst_LIBRARIES += libmisc_universalchardet.a univchardet = universalchardet
libmisc_universalchardet_a_SOURCES = charset_detect.cpp text_file_reader.cpp
libmisc_universalchardet_a_CPPFLAGS = -D_X86_ -DTEXT_READER_USE_STDIO
aegisub_LDADD += libmisc_universalchardet.a ../universalchardet/libuniversalchardet.a
else
UNIVCHARSET = charset_detect.cpp text_file_reader.cpp
endif endif
SUBDIRS = \
$(univchardet) \
src \
automation \
po \
desktop
osx-bundle:
@SHELL@ scripts/osx-bundle.sh "@BUNDLE_STRING@" @AEGISUB_VERSION_DATA@ DICT_DIR=$(DICT_DIR)
## These aren't built, but are listed here so 'make dist' can always find all the sources osx-dmg:
## This should also list all Win32 specific files @SHELL@ scripts/osx-dmg.sh "@BUNDLE_STRING@" "@DMG_STRING@"
EXTRA_aegisub_SOURCES = \
audio_player_dsound.cpp \
audio_player_portaudio.cpp \
audio_player_pulse.cpp \
audio_provider_avs.cpp \
audio_provider_lavc.cpp \
auto4_lua.cpp \
auto4_lua_assfile.cpp \
auto4_lua_dialog.cpp \
auto4_lua_scriptreader.cpp \
auto4_auto3.cpp \
auto4_ruby.cpp \
auto4_ruby_assfile.cpp \
auto4_ruby_dialog.cpp \
avisynth.h \
avisynth_wrap.cpp \
dialog_associations.cpp \
lavc_file.cpp \
lavc_keyframes.cpp \
setup.cpp \
spellchecker_hunspell.cpp \
stdwx.cpp \
stdwx.h \
subtitle_format_prs.cpp \
subtitles_provider_libass.cpp \
video_provider_avs.cpp \
video_provider_dshow.cpp \
video_provider_lavc.cpp \
boost/*.hpp \
gl/*.h \
win32/stdint.h
aegisub_SOURCES = \ osx-tinderbox-bundle:
$(HUNSPELL) \ @SHELL@ scripts/osx-bundle.sh "$(T_BUNDLE)" @AEGISUB_VERSION_DATA@ DICT_DIR="$(DICT_DIR)"
$(LIBASS) \
$(FFMPEG) \
$(AUTO3_LUA) \
$(UNIVCHARSET) \
auto4_base.cpp \
audio_player.cpp \
aegisublocale.cpp \
ass_attachment.cpp \
ass_dialogue.cpp \
ass_entry.cpp \
ass_export_filter.cpp \
ass_exporter.cpp \
ass_file.cpp \
ass_karaoke.cpp \
ass_override.cpp \
ass_style.cpp \
ass_style_storage.cpp \
ass_time.cpp \
audio_box.cpp \
audio_display.cpp \
audio_karaoke.cpp \
audio_provider.cpp \
audio_provider_convert.cpp \
audio_provider_hd.cpp \
audio_provider_ram.cpp \
audio_provider_pcm.cpp \
audio_provider_stream.cpp \
audio_spectrum.cpp \
avisynth_wrap.cpp \
base_grid.cpp \
browse_button.cpp \
colorspace.cpp \
colour_button.cpp \
dialog_about.cpp \
dialog_attachments.cpp \
dialog_automation.cpp \
dialog_colorpicker.cpp \
dialog_detached_video.cpp \
dialog_dummy_video.cpp \
dialog_export.cpp \
dialog_fonts_collector.cpp \
dialog_jumpto.cpp \
dialog_kanji_timer.cpp \
dialog_options.cpp \
dialog_paste_over.cpp \
dialog_progress.cpp \
dialog_properties.cpp \
dialog_resample.cpp \
dialog_search_replace.cpp \
dialog_selection.cpp \
dialog_shift_times.cpp \
dialog_spellchecker.cpp \
dialog_splash.cpp \
dialog_style_editor.cpp \
dialog_style_manager.cpp \
dialog_styling_assistant.cpp \
dialog_text_import.cpp \
dialog_timing_processor.cpp \
dialog_tip.cpp \
dialog_translation.cpp \
dialog_version_check.cpp \
dialog_video_details.cpp \
drop.cpp \
export_clean_info.cpp \
export_fixstyle.cpp \
export_framerate.cpp \
export_visible_lines.cpp \
fft.cpp \
font_file_lister.cpp \
font_file_lister_fontconfig.cpp \
frame_main.cpp \
frame_main_events.cpp \
gl_text.cpp \
gl_wrap.cpp \
help_button.cpp \
hilimod_textctrl.cpp \
hotkeys.cpp \
idle_field_event.cpp \
kana_table.cpp \
keyframe.cpp \
main.cpp \
md5.c \
mkv_wrap.cpp \
mythes.cxx \
options.cpp \
plugin_manager.cpp \
scintilla_text_ctrl.cpp \
spellchecker.cpp \
spline.cpp \
spline_curve.cpp \
standard_paths.cpp \
static_bmp.cpp \
string_codec.cpp \
subs_edit_box.cpp \
subs_edit_ctrl.cpp \
subs_grid.cpp \
subs_preview.cpp \
subtitle_format.cpp \
subtitle_format_ass.cpp \
subtitle_format_dvd.cpp \
subtitle_format_encore.cpp \
subtitle_format_microdvd.cpp \
subtitle_format_mkv.cpp \
subtitle_format_srt.cpp \
subtitle_format_txt.cpp \
subtitle_format_ttxt.cpp \
subtitles_provider.cpp \
subtitles_provider_csri.cpp \
text_file_writer.cpp \
thesaurus.cpp \
thesaurus_myspell.cpp \
timeedit_ctrl.cpp \
toggle_bitmap.cpp \
tooltip_manager.cpp \
utils.cpp \
validators.cpp \
variable_data.cpp \
vector2d.cpp \
version.cpp \
vfr.cpp \
video_box.cpp \
video_context.cpp \
video_display.cpp \
video_frame.cpp \
video_provider_dummy.cpp \
video_provider_manager.cpp \
video_provider_cache.cpp \
video_slider.cpp \
visual_feature.cpp \
visual_tool.cpp \
visual_tool_clip.cpp \
visual_tool_cross.cpp \
visual_tool_drag.cpp \
visual_tool_rotatexy.cpp \
visual_tool_rotatez.cpp \
visual_tool_scale.cpp \
visual_tool_vector_clip.cpp \
MatroskaParser.c
noinst_HEADERS = \ osx-tinderbox-dmg:
boost/assert.hpp \ @SHELL@ scripts/osx-dmg.sh "$(T_DMG)" "$(T_BUNDLE)"
boost/checked_delete.hpp \ mv "$(T_DMG).dmg" bundle.dmg
boost/shared_count.hpp \
boost/shared_ptr.hpp \
boost/throw_exception.hpp \
boost/workaround.hpp \
gl/glext.h \
mythes.hxx \
auto4_perldata.inc
EXTRA_DIST = \ EXTRA_DIST = \
$(srcdir)/*.h \ intltool-extract.in \
$(srcdir)/include/aegisub/*.h intltool-merge.in \
intltool-update.in \
config.guess \
config.sub \
depcomp \
install-sh \
LICENCE \
missing \
INSTALL \
README \
svn_revision
# m4macros/
EXTRA_DIST += \
m4macros/check_gnu_make.m4 \
m4macros/boost.m4 \
m4macros/acx_pthread.m4 \
m4macros/ac_agi.m4 \
m4macros/ax_lang_compiler_ms.m4 \
m4macros/ac_agi_mdcpucfg.m4 \
m4macros/ax_openmp.m4 \
m4macros/ax_check_gl.m4 \
m4macros/ac_flag.m4
# scripts/
EXTRA_DIST += \
scripts/osx-bundle-restart-helper.c \
scripts/osx-bundle.sh \
scripts/osx-dmg.sh \
scripts/osx-fix-libs.py \
scripts/unix-gen-res.awk \
scripts/unix-gen-xpm.awk
# packages/osx_bundle/
EXTRA_DIST += \
packages/osx_bundle/Contents/Info.plist \
packages/osx_bundle/Contents/Resources/*.icns \
packages/osx_bundle/Contents/Resources/etc/fonts/fonts.conf \
packages/osx_bundle/Contents/Resources/etc/fonts/fonts.dtd \
packages/osx_bundle/Contents/Resources/etc/fonts/conf.d/*.conf
# packages/osx_dmg/
EXTRA_DIST += \
packages/osx_dmg/dmg_background.png \
packages/osx_dmg/dmg_set_style.applescript
CLEANFILES= \
intltool-extract \
intltool-merge \
intltool-update

View file

@ -68,7 +68,7 @@ void AssTransformFramerateFilter::Init() {
void AssTransformFramerateFilter::ProcessSubs(AssFile *subs, wxWindow *export_dialog) { void AssTransformFramerateFilter::ProcessSubs(AssFile *subs, wxWindow *export_dialog) {
// Transform frame rate // Transform frame rate
if (Input->IsLoaded() && Output->IsLoaded()) { if (Input->IsLoaded() && Output->IsLoaded()) {
if (Output->GetFrameRateType() == VFR || Output->GetAverage() != Input->GetAverage()) { if (Input->GetFrameRateType() == VFR || Output->GetFrameRateType() == VFR || Output->GetAverage() != Input->GetAverage()) {
TransformFrameRate(subs); TransformFrameRate(subs);
} }
} }
@ -115,6 +115,9 @@ wxWindow *AssTransformFramerateFilter::GetConfigDialogWindow(wxWindow *parent) {
OutputSizerBottom->Add(OutputFramerate,0,wxEXPAND | wxLEFT,5); OutputSizerBottom->Add(OutputFramerate,0,wxEXPAND | wxLEFT,5);
OutputSizerBottom->AddStretchSpacer(1); OutputSizerBottom->AddStretchSpacer(1);
// Reverse checkbox
Reverse = new wxCheckBox(base,-1,_("Reverse transformation"));
// Output final // Output final
OutputSizer->Add(OutputSizerTop,0,wxLEFT,5); OutputSizer->Add(OutputSizerTop,0,wxLEFT,5);
OutputSizer->Add(OutputSizerBottom,0,wxLEFT,5); OutputSizer->Add(OutputSizerBottom,0,wxLEFT,5);
@ -125,6 +128,7 @@ wxWindow *AssTransformFramerateFilter::GetConfigDialogWindow(wxWindow *parent) {
MainSizer->Add(InputSizer,0,wxEXPAND,0); MainSizer->Add(InputSizer,0,wxEXPAND,0);
MainSizer->Add(new wxStaticText(base,-1,_("Output: ")),0,wxALIGN_CENTER_VERTICAL,0); MainSizer->Add(new wxStaticText(base,-1,_("Output: ")),0,wxALIGN_CENTER_VERTICAL,0);
MainSizer->Add(OutputSizer,0,wxEXPAND,0); MainSizer->Add(OutputSizer,0,wxEXPAND,0);
MainSizer->Add(Reverse,0,wxTOP|wxEXPAND,5);
// Window // Window
base->SetSizerAndFit(MainSizer); base->SetSizerAndFit(MainSizer);
@ -150,6 +154,13 @@ void AssTransformFramerateFilter::LoadSettings(bool IsDefault) {
Output = &t2; Output = &t2;
} }
else Output = &VFR_Output; else Output = &VFR_Output;
// Reverse
if (Reverse->IsChecked()) {
FrameRate *temp = Output;
Output = Input;
Input = temp;
}
} }
} }

View file

@ -67,6 +67,7 @@ private:
wxTextCtrl *OutputFramerate; wxTextCtrl *OutputFramerate;
wxRadioButton *RadioOutputCFR; wxRadioButton *RadioOutputCFR;
wxRadioButton *RadioOutputVFR; wxRadioButton *RadioOutputVFR;
wxCheckBox *Reverse;
AssTransformFramerateFilter(); AssTransformFramerateFilter();
void TransformFrameRate(AssFile *subs); void TransformFrameRate(AssFile *subs);

View file

@ -33,8 +33,8 @@
; ;
#define MyAppName "Aegisub" #define MyAppName "Aegisub"
#define MyAppRevision "r1952" #define MyAppRevision "r1987"
#define MyAppVer "2.1.1 Release Preview" #define MyAppVer "2.1.2 Release Preview"
#define MyAppPublisher "Aegisub Team" #define MyAppPublisher "Aegisub Team"
#define MyAppURL "http://aegisub.net/" #define MyAppURL "http://aegisub.net/"
#define MyAppExeName "Aegisub.exe" #define MyAppExeName "Aegisub.exe"
@ -42,7 +42,7 @@
; Set these to 0 to make building the installer faster. ; Set these to 0 to make building the installer faster.
; Only intended for testing. ; Only intended for testing.
#define IncludeSpeller 1 #define IncludeSpeller 1
#define IncludeThesaurus 1 #define IncludeThesaurus 0
#define IncludePerl 0 #define IncludePerl 0
#define IncludeFfmpeg 0 #define IncludeFfmpeg 0

View file

@ -1,3 +1,3 @@
release;1.10-524;http://www.aegisub.net/;Aegisub 1.10 release;1.10-524;http://www.aegisub.net/;Aegisub 1.10
svn;1847;http://www.malakith.net/amz/aegisub/;Aegisub 2.1.0 Release Preview r1847 build - Core executable considered stable unless someone finds any issues. Marked "Release Preview" due to incomplete documentation, scripts, and translations. svn;1987;http://www.malakith.net/amz/aegisub/;Aegisub 2.1.2 Release Preview r1987 build - A few assorted fixes and changes since 2.1.1.