From de03dfd8a866776df6b617c83c7b98eb47494eb4 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Wed, 16 Nov 2011 19:56:09 +0000 Subject: [PATCH] Add an option to disable keyframes in the audio display only in karaoke mode. Closes #644. Originally committed to SVN as r5860. --- aegisub/src/audio_marker_provider_keyframes.cpp | 6 +++--- aegisub/src/audio_marker_provider_keyframes.h | 3 ++- aegisub/src/audio_timing_dialogue.cpp | 2 +- aegisub/src/audio_timing_karaoke.cpp | 2 +- aegisub/src/libresrc/default_config.json | 3 ++- aegisub/src/preferences.cpp | 3 ++- 6 files changed, 11 insertions(+), 8 deletions(-) diff --git a/aegisub/src/audio_marker_provider_keyframes.cpp b/aegisub/src/audio_marker_provider_keyframes.cpp index 3fa84eff7..392f2c55a 100644 --- a/aegisub/src/audio_marker_provider_keyframes.cpp +++ b/aegisub/src/audio_marker_provider_keyframes.cpp @@ -46,14 +46,14 @@ public: operator int64_t() const { return position; } }; -AudioMarkerProviderKeyframes::AudioMarkerProviderKeyframes(agi::Context *c) +AudioMarkerProviderKeyframes::AudioMarkerProviderKeyframes(agi::Context *c, const char *opt_name) : controller(c->audioController) , vc(c->videoController) , keyframe_slot(vc->AddKeyframesListener(&AudioMarkerProviderKeyframes::Update, this)) , audio_open_slot(controller->AddAudioOpenListener(&AudioMarkerProviderKeyframes::Update, this)) , timecode_slot(vc->AddTimecodesListener(&AudioMarkerProviderKeyframes::Update, this)) -, enabled_slot(OPT_SUB("Audio/Display/Draw/Keyframes", &AudioMarkerProviderKeyframes::Update, this)) -, enabled_opt(OPT_GET("Audio/Display/Draw/Keyframes")) +, enabled_slot(OPT_SUB(opt_name, &AudioMarkerProviderKeyframes::Update, this)) +, enabled_opt(OPT_GET(opt_name)) , style(new Pen("Colour/Audio Display/Keyframe")) { Update(); diff --git a/aegisub/src/audio_marker_provider_keyframes.h b/aegisub/src/audio_marker_provider_keyframes.h index 6c164accd..fb72b0cb4 100644 --- a/aegisub/src/audio_marker_provider_keyframes.h +++ b/aegisub/src/audio_marker_provider_keyframes.h @@ -63,7 +63,8 @@ class AudioMarkerProviderKeyframes : public AudioMarkerProvider { public: /// Constructor /// @param c Project context; must have audio and video controllers initialized - AudioMarkerProviderKeyframes(agi::Context *c); + /// @param opt_name Name of the option to use to decide whether or not this provider is enabled + AudioMarkerProviderKeyframes(agi::Context *c, const char *opt_name); /// Explicit destructor needed due to members with incomplete types ~AudioMarkerProviderKeyframes(); diff --git a/aegisub/src/audio_timing_dialogue.cpp b/aegisub/src/audio_timing_dialogue.cpp index b6026d6f0..66cef0083 100644 --- a/aegisub/src/audio_timing_dialogue.cpp +++ b/aegisub/src/audio_timing_dialogue.cpp @@ -253,7 +253,7 @@ void AudioMarkerDialogueTiming::InitPair(AudioMarkerDialogueTiming *marker1, Aud // AudioTimingControllerDialogue AudioTimingControllerDialogue::AudioTimingControllerDialogue(agi::Context *c) -: keyframes_provider(c) +: keyframes_provider(c, "Audio/Display/Draw/Keyframes in Dialogue Mode") , timing_modified(false) , commit_id(-1) , context(c) diff --git a/aegisub/src/audio_timing_karaoke.cpp b/aegisub/src/audio_timing_karaoke.cpp index d1ee64b5a..ea27ea76d 100644 --- a/aegisub/src/audio_timing_karaoke.cpp +++ b/aegisub/src/audio_timing_karaoke.cpp @@ -151,7 +151,7 @@ AudioTimingControllerKaraoke::AudioTimingControllerKaraoke(agi::Context *c, AssK , end_pen("Colour/Audio Display/Line boundary End", "Audio/Line Boundaries Thickness") , start_marker(ToSamples(active_line->Start.GetMS()), &start_pen, AudioMarker::Feet_Right) , end_marker(ToSamples(active_line->End.GetMS()), &end_pen, AudioMarker::Feet_Left) -, keyframes_provider(c) +, keyframes_provider(c, "Audio/Display/Draw/Keyframes in Karaoke Mode") , auto_commit(OPT_GET("Audio/Auto/Commit")->GetBool()) , auto_next(OPT_GET("Audio/Next Line on Commit")->GetBool()) , commit_id(-1) diff --git a/aegisub/src/libresrc/default_config.json b/aegisub/src/libresrc/default_config.json index 4196222d4..230d28a4e 100644 --- a/aegisub/src/libresrc/default_config.json +++ b/aegisub/src/libresrc/default_config.json @@ -37,7 +37,8 @@ "Dragging Times" : false, "Draw" : { "Cursor Time" : true, - "Keyframes" : true, + "Keyframes in Dialogue Mode" : true, + "Keyframes in Karaoke Mode" : true, "Secondary Lines" : true, "Selection Background" : true, "Timeline" : true, diff --git a/aegisub/src/preferences.cpp b/aegisub/src/preferences.cpp index a9e223e67..f377adf28 100644 --- a/aegisub/src/preferences.cpp +++ b/aegisub/src/preferences.cpp @@ -153,7 +153,8 @@ Audio::Audio(wxTreebook *book, Preferences *parent): OptionPage(book, parent, _( OptionAdd(display, _("Selection background"), "Audio/Display/Draw/Selection Background"); OptionAdd(display, _("Timeline"), "Audio/Display/Draw/Timeline"); OptionAdd(display, _("Cursor time"), "Audio/Display/Draw/Cursor Time"); - OptionAdd(display, _("Keyframes"), "Audio/Display/Draw/Keyframes"); + OptionAdd(display, _("Keyframes"), "Audio/Display/Draw/Keyframes in Dialogue Mode"); + OptionAdd(display, _("Karaoke keyframes"), "Audio/Display/Draw/Keyframes in Karaoke Mode"); OptionAdd(display, _("Video position"), "Audio/Display/Draw/Video Position"); SetSizerAndFit(sizer);