Add an option to disable keyframes in the audio display only in karaoke mode. Closes #644.

Originally committed to SVN as r5860.
This commit is contained in:
Thomas Goyne 2011-11-16 19:56:09 +00:00
parent 91a62836a5
commit de03dfd8a8
6 changed files with 11 additions and 8 deletions

View file

@ -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();

View file

@ -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();

View file

@ -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)

View file

@ -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)

View file

@ -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,

View file

@ -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);