4#include <Patternist/PatternEdit.hpp>
12struct DocumentContext;
20class SCORE_PLUGIN_MIDI_EXPORT
Controller final :
public QObject
27 void attach(
View& view);
30 void fillMenu(QMenu& menu,
int lane);
33 std::function<void(
const QString&)>
status;
41 bool pasteSteps(
int lane,
const std::vector<int>& starts);
44 void rotate(
int steps);
46 void transpose(
int semitones);
48 void randomize(
int lane = -1);
50 void toggleMute(
int lane);
51 void toggleSolo(
int lane);
52 void copyLanes(
const std::vector<int>& lanes)
const;
53 bool pasteLanes(
const std::vector<int>& targets);
54 void clearLanes(
const std::vector<int>& lanes);
56 void addControlLane(uint8_t note);
57 void removeLane(
int lane);
58 void setLength(
int length);
59 void setDivision(
int division);
68 if(lane < 0 || lane >=
int(p.lanes.size()))
74 void euclidean(
int lane,
int hits,
int rotation, Combine c);
76 void randomizeField(StepField f,
int lane);
77 void resetField(StepField f,
int lane);
78 void setCondition(
int lane,
int step, Condition c,
int a,
int b);
80 void selectPattern(
int index);
81 void duplicatePattern();
85 bool hasPattern() const noexcept;
90 const
score::DocumentContext& m_ctx;
91 std::mt19937 m_rng{std::random_device{}()};
Definition PatternController.hpp:21
std::function< void(const QString &)> status
What the last action did, for the editor to show.
Definition PatternController.hpp:33
void editLane(int lane, F &&f)
One-shot edits of a lane, as one undo step.
Definition PatternController.hpp:63
Definition PatternModel.hpp:247
Definition PatternView.hpp:20
Base toolkit upon which the software is built.
Definition Application.cpp:83
Definition PatternModel.hpp:139
Definition PatternEdit.hpp:67
Definition DocumentContext.hpp:18