forked from mia/Aegisub
Implement the audio scroll commands
Originally committed to SVN as r5693.
This commit is contained in:
parent
597dd4bb8e
commit
5c75c9f708
3 changed files with 49 additions and 3 deletions
|
@ -62,6 +62,7 @@
|
||||||
#include "audio_controller.h"
|
#include "audio_controller.h"
|
||||||
#include "audio_display.h"
|
#include "audio_display.h"
|
||||||
#include "audio_karaoke.h"
|
#include "audio_karaoke.h"
|
||||||
|
#include "audio_timing.h"
|
||||||
#include "command/command.h"
|
#include "command/command.h"
|
||||||
#include "libresrc/libresrc.h"
|
#include "libresrc/libresrc.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
@ -203,3 +204,12 @@ void AudioBox::ShowKaraokeBar(bool show) {
|
||||||
SetMinSize(wxSize(-1, new_height));
|
SetMinSize(wxSize(-1, new_height));
|
||||||
GetParent()->Layout();
|
GetParent()->Layout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AudioBox::ScrollAudioBy(int pixel_amount) {
|
||||||
|
audioDisplay->ScrollBy(pixel_amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AudioBox::ScrollToActiveLine() {
|
||||||
|
if (controller->GetTimingController())
|
||||||
|
audioDisplay->ScrollSampleRangeInView(controller->GetTimingController()->GetIdealVisibleSampleRange());
|
||||||
|
}
|
||||||
|
|
|
@ -89,5 +89,14 @@ public:
|
||||||
|
|
||||||
void ShowKaraokeBar(bool show);
|
void ShowKaraokeBar(bool show);
|
||||||
|
|
||||||
|
/// @brief Scroll the audio display
|
||||||
|
/// @param pixel_amount Number of pixels to scroll the view
|
||||||
|
///
|
||||||
|
/// A positive amount moves the display to the right, making later parts of the audio visible.
|
||||||
|
void ScrollAudioBy(int pixel_amount);
|
||||||
|
|
||||||
|
/// Make the currently active line visible in the audio display
|
||||||
|
void ScrollToActiveLine();
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
|
|
||||||
#include "../ass_dialogue.h"
|
#include "../ass_dialogue.h"
|
||||||
|
#include "../audio_box.h"
|
||||||
#include "../audio_controller.h"
|
#include "../audio_controller.h"
|
||||||
#include "../audio_karaoke.h"
|
#include "../audio_karaoke.h"
|
||||||
#include "../audio_timing.h"
|
#include "../audio_timing.h"
|
||||||
|
@ -333,15 +334,39 @@ struct audio_commit : public Command {
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Scroll the audio display to the current selection
|
/// Scroll the audio display to the current selection
|
||||||
struct audio_go_to : public Command {
|
struct audio_go_to : public validate_audio_open {
|
||||||
CMD_NAME("audio/go_to")
|
CMD_NAME("audio/go_to")
|
||||||
STR_MENU("Go to selection")
|
STR_MENU("Go to selection")
|
||||||
STR_DISP("Go to selection")
|
STR_DISP("Go to selection")
|
||||||
STR_HELP("Go to selection")
|
STR_HELP("Go to selection")
|
||||||
|
|
||||||
void operator()(agi::Context *c) {
|
void operator()(agi::Context *c) {
|
||||||
//if (c->audioController->GetTimingController())
|
c->audioBox->ScrollToActiveLine();
|
||||||
//audioDisplay->ScrollSampleRangeInView(c->audioController->GetTimingController()->GetIdealVisibleSampleRange());
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/// Scroll the audio display left
|
||||||
|
struct audio_scroll_left : public validate_audio_open {
|
||||||
|
CMD_NAME("audio/scroll/left")
|
||||||
|
STR_MENU("Scroll left")
|
||||||
|
STR_DISP("Scroll left")
|
||||||
|
STR_HELP("Scroll the audio display left")
|
||||||
|
|
||||||
|
void operator()(agi::Context *c) {
|
||||||
|
c->audioBox->ScrollAudioBy(-128);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/// Scroll the audio display right
|
||||||
|
struct audio_scroll_right : public validate_audio_open {
|
||||||
|
CMD_NAME("audio/scroll/right")
|
||||||
|
STR_MENU("Scroll right")
|
||||||
|
STR_DISP("Scroll right")
|
||||||
|
STR_HELP("Scroll the audio display right")
|
||||||
|
|
||||||
|
void operator()(agi::Context *c) {
|
||||||
|
c->audioBox->ScrollAudioBy(128);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -475,6 +500,8 @@ namespace cmd {
|
||||||
reg(new audio_play_selection);
|
reg(new audio_play_selection);
|
||||||
reg(new audio_play_to_end);
|
reg(new audio_play_to_end);
|
||||||
reg(new audio_save_clip);
|
reg(new audio_save_clip);
|
||||||
|
reg(new audio_scroll_left);
|
||||||
|
reg(new audio_scroll_right);
|
||||||
reg(new audio_stop);
|
reg(new audio_stop);
|
||||||
reg(new audio_toggle_spectrum);
|
reg(new audio_toggle_spectrum);
|
||||||
reg(new audio_vertical_link);
|
reg(new audio_vertical_link);
|
||||||
|
|
Loading…
Reference in a new issue