lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
include
VstSyncController.h
Go to the documentation of this file.
1
/*
2
* VstSyncController.h - type declarations needed for VST to lmms host sync
3
*
4
* Copyright (c) 2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
5
* Copyright (c) 2013 Mike Choi <rdavidian71/at/gmail/dot/com>
6
*
7
* This file is part of LMMS - https://lmms.io
8
*
9
* This program is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU General Public
11
* License as published by the Free Software Foundation; either
12
* version 2 of the License, or (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public
20
* License along with this program (see COPYING); if not, write to the
21
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
* Boston, MA 02110-1301 USA.
23
*
24
*/
25
26
#ifndef LMMS_VST_SYNC_CONTROLLER_H
27
#define LMMS_VST_SYNC_CONTROLLER_H
28
29
#include <QObject>
30
31
#include "
SharedMemory.h
"
32
#include "
VstSyncData.h
"
// IWYU pragma: keep
33
34
namespace
lmms
35
{
36
37
class
VstSyncController
:
public
QObject
38
{
39
Q_OBJECT
40
public
:
41
VstSyncController
();
42
43
void
setAbsolutePosition
(
double
ticks);
44
void
setPlaybackState
(
bool
enabled);
45
void
setTempo
(
int
newTempo);
46
void
setTimeSignature
(
int
num,
int
denom);
47
void
startCycle
(
int
startTick,
int
endTick);
48
void
stopCycle
();
49
void
setPlaybackJumped
(
bool
jumped);
50
void
update
();
51
52
const
std::string&
sharedMemoryKey
() const noexcept {
return
m_syncData
.key(); }
53
54
private
slots:
55
void
updateSampleRate
();
56
57
private
:
58
SharedMemory<VstSyncData>
m_syncData
;
59
};
60
61
62
}
// namespace lmms
63
64
#endif
// LMMS_VST_SYNC_CONTROLLER_H
SharedMemory.h
VstSyncData.h
lmms::SharedMemory
Definition
SharedMemory.h:147
lmms::VstSyncController::m_syncData
SharedMemory< VstSyncData > m_syncData
Definition
VstSyncController.h:58
lmms::VstSyncController::update
void update()
Definition
VstSyncController.cpp:138
lmms::VstSyncController::startCycle
void startCycle(int startTick, int endTick)
Definition
VstSyncController.cpp:109
lmms::VstSyncController::VstSyncController
VstSyncController()
Definition
VstSyncController.cpp:40
lmms::VstSyncController::updateSampleRate
void updateSampleRate()
Definition
VstSyncController.cpp:151
lmms::VstSyncController::sharedMemoryKey
const std::string & sharedMemoryKey() const noexcept
Definition
VstSyncController.h:52
lmms::VstSyncController::setTempo
void setTempo(int newTempo)
Definition
VstSyncController.cpp:85
lmms::VstSyncController::setPlaybackJumped
void setPlaybackJumped(bool jumped)
Definition
VstSyncController.cpp:129
lmms::VstSyncController::stopCycle
void stopCycle()
Definition
VstSyncController.cpp:120
lmms::VstSyncController::setAbsolutePosition
void setAbsolutePosition(double ticks)
Definition
VstSyncController.cpp:63
lmms::VstSyncController::setPlaybackState
void setPlaybackState(bool enabled)
Definition
VstSyncController.cpp:76
lmms::VstSyncController::setTimeSignature
void setTimeSignature(int num, int denom)
Definition
VstSyncController.cpp:99
lmms
Definition
RemotePluginBase.cpp:34
Generated on
for lmms by
1.18.0