Audacity 3.2.0
TempoChange.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*!********************************************************************
3
4 Audacity: A Digital Audio Editor
5
6 TempoChange.h
7
8 PaulLicameli
9
10**********************************************************************/
12#include <optional>
13
14class ChannelGroup;
15
19 struct OnProjectTempoChangeTag,
20 void, ChannelGroup,
21 const std::optional<double>& /* oldTempo */, double /* newTempo */
22>;
24 STRETCHING_SEQUENCE_API, OnProjectTempoChange);
25
26STRETCHING_SEQUENCE_API
27void DoProjectTempoChange(ChannelGroup &group, double newTempo);
28
29STRETCHING_SEQUENCE_API
30const std::optional<double>& GetProjectTempo(const ChannelGroup &group);
Utility for non-intrusive definition of a new method on a base class.
STRETCHING_SEQUENCE_API const std::optional< double > & GetProjectTempo(const ChannelGroup &group)
Definition: TempoChange.cpp:48
STRETCHING_SEQUENCE_API void DoProjectTempoChange(ChannelGroup &group, double newTempo)
Definition: TempoChange.cpp:41
DECLARE_EXPORTED_ATTACHED_VIRTUAL(STRETCHING_SEQUENCE_API, OnProjectTempoChange)
Class template generates single-dispatch, open method registry tables.
STL namespace.