diff --git a/aegisub/src/audio_timing_karaoke.cpp b/aegisub/src/audio_timing_karaoke.cpp index 4bb0f4383..7ab4f0566 100644 --- a/aegisub/src/audio_timing_karaoke.cpp +++ b/aegisub/src/audio_timing_karaoke.cpp @@ -142,7 +142,7 @@ public: void ModifyStart(int delta); bool IsNearbyMarker(int ms, int sensitivity) const; std::vector OnLeftClick(int ms, bool, int sensitivity, int); - std::vector OnRightClick(int, bool, int, int) { return std::vector(); } + std::vector OnRightClick(int ms, bool, int, int); void OnMarkerDrag(std::vector const& marker, int new_position, int); AudioTimingControllerKaraoke(agi::Context *c, AssKaraoke *kara, agi::signal::Connection& file_changed); @@ -368,6 +368,16 @@ std::vector AudioTimingControllerKaraoke::OnLeftClick(int ms, bool return std::vector(); } +std::vector AudioTimingControllerKaraoke::OnRightClick(int ms, bool, int, int) { + cur_syl = distance(markers.begin(), lower_bound(markers.begin(), markers.end(), ms)); + + AnnounceUpdatedPrimaryRange(); + AnnounceUpdatedStyleRanges(); + c->audioController->PlayPrimaryRange(); + + return std::vector(); +} + int AudioTimingControllerKaraoke::MoveMarker(KaraokeMarker *marker, int new_position) { // No rearranging of syllables allowed new_position = mid(