synthclone 0.3.0
Loading...
Searching...
No Matches
context.h
Go to the documentation of this file.
1/*
2 * libsynthclone - a plugin API for `synthclone`
3 * Copyright (C) 2011 Devin Anderson
4 *
5 * This library is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU Lesser General Public License as published by the
7 * Free Software Foundation; either version 2.1 of the License, or (at your
8 * option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13 * for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this library; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20#ifndef __SYNTHCLONE_CONTEXT_H__
21#define __SYNTHCLONE_CONTEXT_H__
22
23#include <QtCore/QDir>
24#include <QtCore/QStringList>
25
26#include <synthclone/effect.h>
31#include <synthclone/sampler.h>
32#include <synthclone/target.h>
34
35namespace synthclone {
36
37 class Participant;
38
44
45 class Context: public QObject {
46
47 Q_OBJECT
48
49 public:
50
58
59 virtual const EffectJob *
61
68
69 virtual const SamplerJob *
71
81
82 virtual const Effect *
83 getEffect(int index) const = 0;
84
91
92 virtual int
93 getEffectCount() const = 0;
94
104
105 virtual int
106 getEffectIndex(const Effect *effect) const = 0;
107
117
118 virtual const EffectJob *
119 getEffectJob(int index) const = 0;
120
127
128 virtual int
129 getEffectJobCount() const = 0;
130
140
141 virtual int
143
150
151 virtual const Component *
153
160
161 virtual int
162 getMajorVersion() const = 0;
163
170
171 virtual int
172 getMinorVersion() const = 0;
173
183
184 virtual const Participant *
185 getParticipant(const QByteArray &id) const = 0;
186
200
201 virtual const Participant *
202 getParticipant(int index, const Participant *parent=0) const = 0;
203
215
216 virtual int
217 getParticipantCount(const Participant *parent=0) const = 0;
218
228
229 virtual QByteArray
230 getParticipantId(const Participant *participant) const = 0;
231
242
243 virtual const Participant *
244 getParticipantParent(const Participant *participant) const = 0;
245
252
253 virtual int
254 getRevision() const = 0;
255
262
263 virtual SampleChannelCount
265
273
274 virtual const Sampler *
275 getSampler() const = 0;
276
286
287 virtual const SamplerJob *
288 getSamplerJob(int index) const = 0;
289
296
297 virtual int
299
309
310 virtual int
312
319
320 virtual SampleRate
321 getSampleRate() const = 0;
322
329
330 virtual const Effect *
331 getSelectedEffect() const = 0;
332
339
340 virtual const Target *
341 getSelectedTarget() const = 0;
342
352
353 virtual Zone *
354 getSelectedZone(int index) = 0;
355
362
363 virtual int
365
373
374 virtual const QDir *
376
383
384 virtual SessionState
385 getSessionState() const = 0;
386
396
397 virtual const Target *
398 getTarget(int index) const = 0;
399
406
407 virtual int
408 getTargetCount() const = 0;
409
419
420 virtual int
421 getTargetIndex(const Target *target) const = 0;
422
432
433 virtual Zone *
434 getZone(int index) = 0;
435
442
443 virtual int
444 getZoneCount() const = 0;
445
455
456 virtual int
457 getZoneIndex(const Zone *zone) const = 0;
458
466
467 virtual bool
469
477
478 virtual bool
480
488
489 virtual bool
491
502
503 virtual bool
505
513
514 virtual bool
516
524
525 virtual bool
527
537
538 virtual bool
539 isParticipantActivated(const Participant *participant) const = 0;
540
548
549 virtual bool
551
559
560 virtual bool
562
573
574 virtual bool
575 isSessionDirectory(const QDir &directory) const = 0;
576
584
585 virtual bool
587
595
596 virtual bool
598
606
607 virtual bool
609
619
620 virtual bool
621 isZoneSelected(const Zone *zone) const = 0;
622
632
633 virtual bool
634 isZoneSelected(int index) const = 0;
635
636 public slots:
637
641
642 virtual void
644
652
653 virtual void
655
668
669 virtual const Registration &
670 addEffect(Effect *effect, int index=-1) = 0;
671
682
683 virtual const EffectJob *
684 addEffectJob(Zone *zone) = 0;
685
702
703 virtual const Registration &
705 const QStringList &subMenus=QStringList()) = 0;
706
723
724 virtual const Registration &
725 addMenuAction(MenuAction *action, const Effect *effect,
726 const QStringList &subMenus=QStringList()) = 0;
727
745
746 virtual const Registration &
747 addMenuAction(MenuAction *action, const Sampler *sampler,
748 const QStringList &subMenus=QStringList()) = 0;
749
766
767 virtual const Registration &
768 addMenuAction(MenuAction *action, const Target *target,
769 const QStringList &subMenus=QStringList()) = 0;
770
787
788 virtual const Registration &
790 const QStringList &subMenus=QStringList()) = 0;
791
809
810 virtual const Registration &
811 addMenuSeparator(MenuSeparator *separator, const Effect *effect,
812 const QStringList &subMenus=QStringList()) = 0;
813
831
832 virtual const Registration &
833 addMenuSeparator(MenuSeparator *separator, const Sampler *sampler,
834 const QStringList &subMenus=QStringList()) = 0;
835
853
854 virtual const Registration &
855 addMenuSeparator(MenuSeparator *separator, const Target *target,
856 const QStringList &subMenus=QStringList()) = 0;
857
885
886 virtual const Registration &
887 addParticipant(Participant *participant, const QByteArray &subId) = 0;
888
899
900 virtual const Registration &
901 addSampler(Sampler *sampler) = 0;
902
918
919 virtual const SamplerJob *
921
934
935 virtual const Registration &
936 addTarget(Target *target, int index=-1) = 0;
937
947
948 virtual Zone *
949 addZone(int index=-1) = 0;
950
954
955 virtual void
957
970
971 virtual void
972 createSession(const QDir &directory, SampleRate sampleRate,
973 SampleChannelCount count) = 0;
974
982
983 virtual void
984 deactivateParticipant(const Participant *participant) = 0;
985
996
997 virtual void
998 loadSession(const QDir &directory) = 0;
999
1009
1010 virtual void
1011 moveEffect(int fromIndex, int toIndex) = 0;
1012
1022
1023 virtual void
1024 moveEffectJob(int fromIndex, int toIndex) = 0;
1025
1035
1036 virtual void
1037 moveSamplerJob(int fromIndex, int toIndex) = 0;
1038
1048
1049 virtual void
1050 moveTarget(int fromIndex, int toIndex) = 0;
1051
1061
1062 virtual void
1063 moveZone(int fromIndex, int toIndex) = 0;
1064
1073
1074 virtual void
1075 quit() = 0;
1076
1083
1084 virtual void
1085 removeEffect(const Effect *effect) = 0;
1086
1093
1094 virtual void
1095 removeEffect(int index) = 0;
1096
1103
1104 virtual void
1106
1113
1114 virtual void
1115 removeEffectJob(int index) = 0;
1116
1123
1124 virtual void
1125 removeMenuAction(const MenuAction *action) = 0;
1126
1133
1134 virtual void
1135 removeMenuSeparator(const MenuSeparator *separator) = 0;
1136
1143
1144 virtual void
1145 removeParticipant(const Participant *participant) = 0;
1146
1150
1151 virtual void
1153
1160
1161 virtual void
1163
1170
1171 virtual void
1172 removeSamplerJob(int index) = 0;
1173
1180
1181 virtual void
1182 removeTarget(const Target *target) = 0;
1183
1190
1191 virtual void
1192 removeTarget(int index) = 0;
1193
1200
1201 virtual void
1202 removeZone(Zone *zone) = 0;
1203
1210
1211 virtual void
1212 removeZone(int index) = 0;
1213
1221
1222 virtual void
1223 reportError(const QString &message) = 0;
1224
1229
1230 virtual void
1232
1240
1241 virtual void
1242 saveSession(const QDir &directory) = 0;
1243
1250
1251 virtual void
1253
1260
1261 virtual void
1263
1270
1271 virtual void
1272 setChannelPropertyVisible(bool visible) = 0;
1273
1283
1284 virtual void
1285 setControlPropertyVisible(MIDIData control, bool visible) = 0;
1286
1293
1294 virtual void
1296
1304
1305 virtual void
1306 setFocusedComponent(const Component *component) = 0;
1307
1314
1315 virtual void
1316 setNotePropertyVisible(bool visible) = 0;
1317
1324
1325 virtual void
1327
1344
1345 virtual void
1347
1357
1358 virtual void
1359 setSampleRate(SampleRate sampleRate) = 0;
1360
1367
1368 virtual void
1370
1378
1379 virtual void
1380 setSelectedEffect(const Effect *effect) = 0;
1381
1389
1390 virtual void
1391 setSelectedEffect(int index) = 0;
1392
1400
1401 virtual void
1402 setSelectedTarget(const Target *target) = 0;
1403
1411
1412 virtual void
1413 setSelectedTarget(int index) = 0;
1414
1422
1423 virtual void
1425
1432
1433 virtual void
1434 setStatusPropertyVisible(bool visible) = 0;
1435
1442
1443 virtual void
1445
1452
1453 virtual void
1455
1465
1466 virtual void
1467 setZoneSelected(const Zone *zone, bool selected) = 0;
1468
1478
1479 virtual void
1480 setZoneSelected(int index, bool selected) = 0;
1481
1491
1492 virtual void
1493 sortZones(const ZoneComparer &comparer, bool ascending=true) = 0;
1494
1504
1505 virtual void
1507
1508 signals:
1509
1524
1525 void
1527 const synthclone::Participant *parent,
1528 const QByteArray &id);
1529
1539
1540 void
1541 addingEffect(const synthclone::Effect *effect, int index);
1542
1552
1553 void
1555
1569
1570 void
1572 synthclone::Menu menu, const QStringList &subMenus);
1573
1587
1588 void
1590 const synthclone::Effect *effect,
1591 const QStringList &subMenus);
1592
1607
1608 void
1610 const synthclone::Sampler *sampler,
1611 const QStringList &subMenus);
1612
1626
1627 void
1629 const synthclone::Target *target,
1630 const QStringList &subMenus);
1631
1645
1646 void
1648 synthclone::Menu menu,
1649 const QStringList &subMenus);
1650
1665
1666 void
1668 const synthclone::Effect *effect,
1669 const QStringList &subMenus);
1670
1685
1686 void
1688 const synthclone::Sampler *sampler,
1689 const QStringList &subMenus);
1690
1705
1706 void
1708 const synthclone::Target *target,
1709 const QStringList &subMenus);
1710
1725
1726 void
1728 const synthclone::Participant *parent,
1729 const QByteArray &id);
1730
1737
1738 void
1740
1750
1751 void
1753
1763
1764 void
1765 addingTarget(const synthclone::Target *target, int index);
1766
1776
1777 void
1778 addingZone(const synthclone::Zone *zone, int index);
1779
1786
1787 void
1789
1796
1797 void
1799
1803
1804 void
1806
1814
1815 void
1817
1824
1825 void
1827
1837
1838 void
1840 bool visible);
1841
1848
1849 void
1851
1858
1859 void
1861
1876
1877 void
1879 const synthclone::Participant *parent,
1880 const QByteArray &id);
1881
1888
1889 void
1891
1901
1902 void
1903 effectAdded(const synthclone::Effect *effect, int index);
1904
1914
1915 void
1917
1930
1931 void
1932 effectJobMoved(const synthclone::EffectJob *job, int fromIndex,
1933 int toIndex);
1934
1944
1945 void
1947
1960
1961 void
1962 effectMoved(const synthclone::Effect *effect, int fromIndex,
1963 int toIndex);
1964
1974
1975 void
1976 effectRemoved(const synthclone::Effect *effect, int index);
1977
1984
1985 void
1986 errorReported(const QString &message);
1987
1995
1996 void
1998
2012
2013 void
2015 synthclone::Menu menu, const QStringList &subMenus);
2016
2030
2031 void
2033 const synthclone::Effect *effect,
2034 const QStringList &subMenus);
2035
2049
2050 void
2052 const synthclone::Sampler *sampler,
2053 const QStringList &subMenus);
2054
2068
2069 void
2071 const synthclone::Target *target,
2072 const QStringList &subMenus);
2073
2087
2088 void
2090 synthclone::Menu menu, const QStringList &subMenus);
2091
2105
2106 void
2108 const synthclone::Effect *effect,
2109 const QStringList &subMenus);
2110
2124
2125 void
2127 const synthclone::Sampler *sampler,
2128 const QStringList &subMenus);
2129
2143
2144 void
2146 const synthclone::Target *target,
2147 const QStringList &subMenus);
2148
2162
2163 void
2165 synthclone::Menu menu, const QStringList &subMenus);
2166
2180
2181 void
2183 const synthclone::Effect *effect,
2184 const QStringList &subMenus);
2185
2199
2200 void
2202 const synthclone::Sampler *sampler,
2203 const QStringList &subMenus);
2204
2218
2219 void
2221 const synthclone::Target *target,
2222 const QStringList &subMenus);
2223
2237
2238 void
2240 synthclone::Menu menu,
2241 const QStringList &subMenus);
2242
2257
2258 void
2260 const synthclone::Effect *effect,
2261 const QStringList &subMenus);
2262
2277
2278 void
2280 const synthclone::Sampler *sampler,
2281 const QStringList &subMenus);
2282
2297
2298 void
2300 const synthclone::Target *target,
2301 const QStringList &subMenus);
2302
2315
2316 void
2317 movingEffect(const synthclone::Effect *effect, int fromIndex,
2318 int toIndex);
2319
2332
2333 void
2334 movingEffectJob(const synthclone::EffectJob *job, int fromIndex,
2335 int toIndex);
2336
2349
2350 void
2351 movingSamplerJob(const synthclone::SamplerJob *job, int fromIndex,
2352 int toIndex);
2353
2366
2367 void
2368 movingTarget(const synthclone::Target *target, int fromIndex,
2369 int toIndex);
2370
2383
2384 void
2385 movingZone(const synthclone::Zone *zone, int fromIndex, int toIndex);
2386
2393
2394 void
2396
2411
2412 void
2414 const synthclone::Participant *parent,
2415 const QByteArray &id);
2416
2430
2431 void
2433 const synthclone::Participant *parent,
2434 const QByteArray &id);
2435
2450
2451 void
2453 const synthclone::Participant *parent,
2454 const QByteArray &id);
2455
2470
2471 void
2473 const synthclone::Participant *parent,
2474 const QByteArray &id);
2475
2482
2483 void
2485
2495
2496 void
2497 removingEffect(const synthclone::Effect *effect, int index);
2498
2508
2509 void
2511
2525
2526 void
2528 synthclone::Menu menu, const QStringList &subMenus);
2529
2543
2544 void
2546 const synthclone::Effect *effect,
2547 const QStringList &subMenus);
2548
2562
2563 void
2565 const synthclone::Sampler *sampler,
2566 const QStringList &subMenus);
2567
2581
2582 void
2584 const synthclone::Target *target,
2585 const QStringList &subMenus);
2586
2600
2601 void
2603 synthclone::Menu menu,
2604 const QStringList &subMenus);
2605
2620
2621 void
2623 const synthclone::Effect *effect,
2624 const QStringList &subMenus);
2625
2640
2641 void
2643 const synthclone::Sampler *sampler,
2644 const QStringList &subMenus);
2645
2660
2661 void
2663 const synthclone::Target *target,
2664 const QStringList &subMenus);
2665
2680
2681 void
2683 const synthclone::Participant *parent,
2684 const QByteArray &id);
2685
2692
2693 void
2695
2706
2707 void
2709
2719
2720 void
2721 removingTarget(const synthclone::Target *target, int index);
2722
2732
2733 void
2734 removingZone(const synthclone::Zone *zone, int index);
2735
2743
2744 void
2746
2753
2754 void
2756
2763
2764 void
2766
2776
2777 void
2779
2792
2793 void
2794 samplerJobMoved(const synthclone::SamplerJob *job, int fromIndex,
2795 int toIndex);
2796
2807
2808 void
2810
2817
2818 void
2820
2827
2828 void
2830
2840
2841 void
2843
2853
2854 void
2856
2867
2868 void
2870 const QDir *directory);
2871
2878
2879 void
2881
2891
2892 void
2893 targetAdded(const synthclone::Target *target, int index);
2894
2904
2905 void
2907 const QString &message);
2908
2915
2916 void
2918
2922
2923 void
2925
2938
2939 void
2940 targetMoved(const synthclone::Target *target, int fromIndex,
2941 int toIndex);
2942
2952
2953 void
2954 targetRemoved(const synthclone::Target *target, int index);
2955
2962
2963 void
2965
2972
2973 void
2975
2985
2986 void
2987 zoneAdded(const synthclone::Zone *zone, int index);
2988
3001
3002 void
3003 zoneMoved(const synthclone::Zone *zone, int fromIndex, int toIndex);
3004
3014
3015 void
3016 zoneRemoved(const synthclone::Zone *zone, int index);
3017
3027
3028 void
3029 zoneSelectionChanged(const synthclone::Zone *zone, bool selected);
3030
3031 protected:
3032
3041
3042 explicit
3043 Context(QObject *parent=0);
3044
3049
3050 virtual
3052
3053 };
3054
3055}
3056
3057#endif
Base class for synthclone components.
Definition component.h:33
void effectAdded(const synthclone::Effect *effect, int index)
Emitted when an Effect has been added to the Effect list.
virtual void reportError(const QString &message)=0
Reports a session error.
void addingMenuSeparator(const synthclone::MenuSeparator *separator, synthclone::Menu menu, const QStringList &subMenus)
Emitted when a MenuSeparator is being added to a root menu.
void wetSamplePropertyVisibilityChanged(bool visible)
Emitted when the visibility of the wet sample property is changed.
void removingMenuSeparator(const synthclone::MenuSeparator *separator, synthclone::Menu menu, const QStringList &subMenus)
Emitted when a MenuSeparator is being removed from a root menu.
virtual void moveZone(int fromIndex, int toIndex)=0
Moves a Zone.
void statusPropertyVisibilityChanged(bool visible)
Emitted when the visibility of the status property is changed.
virtual void removeSamplerJob(const SamplerJob *job)=0
Removes a SamplerJob from the SamplerJob queue.
virtual const SamplerJob * getCurrentSamplerJob() const =0
Gets the SamplerJob currently being executed by the Sampler.
virtual void deactivateParticipant(const Participant *participant)=0
Deactivates a Participant.
virtual void setSampleRate(SampleRate sampleRate)=0
Sets the SampleRate for the session.
virtual const Participant * getParticipant(int index, const Participant *parent=0) const =0
Gets a Participant.
void samplerJobRemoved(const synthclone::SamplerJob *job, int index)
Emitted when a SamplerJob has been removed from the SamplerJob queue.
virtual Zone * getZone(int index)=0
Gets a Zone.
virtual bool isChannelPressurePropertyVisible() const =0
Gets a boolean indicating whether or not the channel pressure property is visible.
void addingSamplerJob(const synthclone::SamplerJob *job, int index)
Emitted when a SamplerJob is being added to the SamplerJob queue.
virtual const Registration & addMenuAction(MenuAction *action, const Sampler *sampler, const QStringList &subMenus=QStringList())=0
Adds a MenuAction to the application.
virtual const Sampler * getSampler() const =0
Gets the Sampler registered with the session.
void effectJobRemoved(const synthclone::EffectJob *job, int index)
Emitted when an EffectJob has been removed from the EffectJob queue.
virtual bool isVelocityPropertyVisible() const =0
Gets a boolean indicating whether or not the velocity property is visible.
virtual void setZoneSelected(int index, bool selected)=0
(De)selects a Zone.
virtual void removeTarget(const Target *target)=0
Removes a Target from the Target list.
virtual void setChannelPropertyVisible(bool visible)=0
Sets the visibility of the channel property.
void addingZone(const synthclone::Zone *zone, int index)
Emitted when a Zone is being added to the Zone list.
void participantRemoved(const synthclone::Participant *participant, const synthclone::Participant *parent, const QByteArray &id)
Emitted when a Participant has being removed.
void menuSeparatorRemoved(const synthclone::MenuSeparator *separator, const synthclone::Effect *effect, const QStringList &subMenus)
Emitted when a MenuSeparator has been removed from an Effect menu.
virtual int getTargetCount() const =0
Gets the count of Target objects in the Target list.
void sampleChannelCountChanged(synthclone::SampleChannelCount count)
Emitted when the session's synthclone::SampleChannelCount is changed.
virtual void setReleaseTimePropertyVisible(bool visible)=0
Sets the visibility of the release time property.
void removingMenuAction(const synthclone::MenuAction *action, const synthclone::Target *target, const QStringList &subMenus)
Emitted when a MenuAction is being removed from a Target menu.
virtual void removeMenuAction(const MenuAction *action)=0
Removes a MenuAction.
void menuActionAdded(const synthclone::MenuAction *action, const synthclone::Sampler *sampler, const QStringList &subMenus)
Emitted when a MenuAction has been added to a Sampler menu.
void drySamplePropertyVisibilityChanged(bool visible)
Emitted when the visibility of the dry sample property is changed.
virtual int getZoneCount() const =0
Gets the count of Zones in the Zone list.
virtual void createSession(const QDir &directory, SampleRate sampleRate, SampleChannelCount count)=0
Writes an empty synthclone session to a directory.
virtual const Registration & addMenuAction(MenuAction *action, Menu menu, const QStringList &subMenus=QStringList())=0
Adds a MenuAction to the application.
virtual const Registration & addMenuAction(MenuAction *action, const Target *target, const QStringList &subMenus=QStringList())=0
Adds a MenuAction to the application.
virtual bool isControlPropertyVisible(MIDIData control) const =0
Gets a boolean indicating whether or not a control property is visible.
virtual void moveSamplerJob(int fromIndex, int toIndex)=0
Moves a SamplerJob.
virtual void moveTarget(int fromIndex, int toIndex)=0
Moves a Target.
virtual void sortZones(const ZoneComparer &comparer, bool ascending=true)=0
Sorts the Zone list.
virtual void saveSession()=0
Saves the session in the current session directory.
void removingMenuAction(const synthclone::MenuAction *action, const synthclone::Sampler *sampler, const QStringList &subMenus)
Emitted when a MenuAction is being removed from a Sampler menu.
virtual void setSampleTimePropertyVisible(bool visible)=0
Sets the visibility of the sample time property.
virtual void activateParticipant(const synthclone::Participant *participant)=0
Activates a Participant.
void aftertouchPropertyVisibilityChanged(bool visible)
Emitted when the visibility of the aftertouch property is changed.
void addingMenuSeparator(const synthclone::MenuSeparator *separator, const synthclone::Sampler *sampler, const QStringList &subMenus)
Emitted when a MenuSeparator is being added to a Sampler menu.
void activatingParticipant(const synthclone::Participant *participant, const synthclone::Participant *parent, const QByteArray &id)
Emitted when a Participant is being activated.
void participantActivated(const synthclone::Participant *participant, const synthclone::Participant *parent, const QByteArray &id)
Emitted when a Participant has being activated.
virtual void removeSampler()=0
Removes a Sampler registered with the session.
virtual const EffectJob * getCurrentEffectJob() const =0
Gets the EffectJob currently being executed by the registered Effect objects.
virtual void setNotePropertyVisible(bool visible)=0
Sets the visibility of the note property.
void samplerJobMoved(const synthclone::SamplerJob *job, int fromIndex, int toIndex)
Emitted when a SamplerJob is moved in the SamplerJob queue.
virtual const Registration & addParticipant(Participant *participant, const QByteArray &subId)=0
Adds a Participant to the session.
virtual const Registration & addMenuSeparator(MenuSeparator *separator, const Sampler *sampler, const QStringList &subMenus=QStringList())=0
Adds a MenuSeparator to the application.
void movingZone(const synthclone::Zone *zone, int fromIndex, int toIndex)
Emitted when a Zone is being moved.
virtual const EffectJob * getEffectJob(int index) const =0
Gets an EffectJob from the EffectJob queue.
virtual const Registration & addMenuSeparator(MenuSeparator *separator, const Target *target, const QStringList &subMenus=QStringList())=0
Adds a MenuSeparator to the application.
virtual ~Context()
Destroys the Context object.
void menuActionRemoved(const synthclone::MenuAction *action, const synthclone::Effect *effect, const QStringList &subMenus)
Emitted when a MenuAction has been removed from an Effect menu.
void removingSampler(const synthclone::Sampler *sampler)
Emitted when a Sampler is being removed.
virtual const Registration & addSampler(Sampler *sampler)=0
Adds a Sampler to the session, removing any Sampler that may already be registered with the session.
void buildingTargets()
Emitted when a Target build operation is starting.
void movingEffect(const synthclone::Effect *effect, int fromIndex, int toIndex)
Emitted when an Effect is being moved.
virtual Zone * addZone(int index=-1)=0
Adds a new zone to the session.
virtual bool isChannelPropertyVisible() const =0
Gets a boolean indicating whether or not the channel property is visible.
virtual const SamplerJob * getSamplerJob(int index) const =0
Gets a SamplerJob from the SamplerJob queue.
virtual const Registration & addMenuSeparator(MenuSeparator *separator, Menu menu, const QStringList &subMenus=QStringList())=0
Adds a MenuSeparator to the application.
void menuSeparatorRemoved(const synthclone::MenuSeparator *separator, const synthclone::Target *target, const QStringList &subMenus)
Emitted when a MenuSeparator has been removed from a Target menu.
virtual const Target * getSelectedTarget() const =0
Gets the currently selected target.
void targetsBuilt()
Emitted when a Target build operation is completed.
virtual void setZoneSelected(const Zone *zone, bool selected)=0
(De)selects a Zone.
void menuSeparatorRemoved(const synthclone::MenuSeparator *separator, const synthclone::Sampler *sampler, const QStringList &subMenus)
Emitted when a MenuSeparator has been removed from a Sampler menu.
virtual const QDir * getSessionDirectory() const =0
Gets the current session directory.
void targetMoved(const synthclone::Target *target, int fromIndex, int toIndex)
Emitted when a Target has been moved in the Target list.
void buildingTarget(const synthclone::Target *target)
Emitted when a Target is being built.
void sessionStateChanged(synthclone::SessionState state, const QDir *directory)
Emitted when the synthclone::SessionState changes.
void removingEffect(const synthclone::Effect *effect, int index)
Emitted when an Effect is being removed from the Effect list.
virtual const Effect * getEffect(int index) const =0
Gets the effect.
virtual const Registration & addMenuAction(MenuAction *action, const Effect *effect, const QStringList &subMenus=QStringList())=0
Adds a MenuAction to the application.
void addingMenuSeparator(const synthclone::MenuSeparator *separator, const synthclone::Target *target, const QStringList &subMenus)
Emitted when a MenuSeparator is being added to a Target menu.
void addingEffectJob(const synthclone::EffectJob *job, int index)
Emitted when an EffectJob is being added to the EffectJob queue.
void addingParticipant(const synthclone::Participant *participant, const synthclone::Participant *parent, const QByteArray &id)
Emitted when a Participant is being added.
virtual void setWetSamplePropertyVisible(bool visible)=0
Sets the visibility of the wet sample property.
void removingMenuAction(const synthclone::MenuAction *action, const synthclone::Effect *effect, const QStringList &subMenus)
Emitted when a MenuAction is being removed from an Effect menu.
virtual void moveEffectJob(int fromIndex, int toIndex)=0
Moves an EffectJob.
void releaseTimePropertyVisibilityChanged(bool visible)
Emitted when the visibility of the release time property is changed.
virtual void setSessionModified()=0
Changes the session state to SESSIONSTATE_MODIFIED if the session state is SESSIONSTATE_CURRENT.
virtual void removeEffect(int index)=0
Removes an Effect.
virtual bool isSampleTimePropertyVisible() const =0
Gets a boolean indicating whether or not the sample time property is visible.
virtual const Participant * getParticipantParent(const Participant *participant) const =0
Gets the parent Participant of a Participant.
void menuSeparatorAdded(const synthclone::MenuSeparator *separator, synthclone::Menu menu, const QStringList &subMenus)
Emitted when a MenuSeparator has been added to a root menu.
virtual const EffectJob * addEffectJob(Zone *zone)=0
Adds an EffectJob to the EffectJob queue.
virtual int getSamplerJobCount() const =0
Gets the count of SamplerJob objects in the SamplerJob queue.
void zoneMoved(const synthclone::Zone *zone, int fromIndex, int toIndex)
Emitted when a Zone has been moved in the Zone list.
virtual bool isParticipantActivated(const Participant *participant) const =0
Gets a boolean indicating whether or not a Participant is activated.
virtual const Component * getFocusedComponent() const =0
Gets the component that currently has focus.
void addingEffect(const synthclone::Effect *effect, int index)
Emitted when an Effect is being added to the Effect list.
void movingTarget(const synthclone::Target *target, int fromIndex, int toIndex)
Emitted when a Target is being moved.
void notePropertyVisibilityChanged(bool visible)
Emitted when the visibility of the note property is changed.
virtual int getTargetIndex(const Target *target) const =0
Gets the index of a Target in the Target list.
void sampleTimePropertyVisibilityChanged(bool visible)
Emitted when the visibility of the sample time property is changed.
virtual int getParticipantCount(const Participant *parent=0) const =0
Gets the count of child Participants of a Participant, or the count of root Participant objects.
void currentEffectJobChanged(const synthclone::EffectJob *job)
Emitted when the current effect job is changed.
virtual bool isNotePropertyVisible() const =0
Gets a boolean indicating whether or not the note property is visible.
void samplerJobAdded(const synthclone::SamplerJob *job, int index)
Emitted when a SamplerJob has been added to the SamplerJob queue.
void menuSeparatorRemoved(const synthclone::MenuSeparator *separator, synthclone::Menu menu, const QStringList &subMenus)
Emitted when a MenuSeparator has been removed from a root menu.
void effectJobAdded(const synthclone::EffectJob *job, int index)
Emitted when an EffectJob has been added to the EffectJob queue.
void movingSamplerJob(const synthclone::SamplerJob *job, int fromIndex, int toIndex)
Emitted when a SamplerJob is being moved.
void removingSamplerJob(const synthclone::SamplerJob *job, int index)
Emitted when a SamplerJob is being removed from the SamplerJob queue.
virtual const Participant * getParticipant(const QByteArray &id) const =0
Gets a Participant.
Context(QObject *parent=0)
Constructs a new Context object.
void selectedTargetChanged(const synthclone::Target *target, int index)
Emitted when the selected Target is changed.
virtual void removeEffect(const Effect *effect)=0
Removes an Effect.
void menuSeparatorAdded(const synthclone::MenuSeparator *separator, const synthclone::Sampler *sampler, const QStringList &subMenus)
Emitted when a MenuSeparator has been added to a Sampler menu.
virtual bool isWetSamplePropertyVisible() const =0
Gets a boolean indicating whether or not the wet sample property is visible.
void zoneSelectionChanged(const synthclone::Zone *zone, bool selected)
Emitted when the selection of a Zone changes.
virtual int getMajorVersion() const =0
Gets the major portion of the version of synthclone.
void movingEffectJob(const synthclone::EffectJob *job, int fromIndex, int toIndex)
Emitted when an EffectJob is being moved.
virtual int getZoneIndex(const Zone *zone) const =0
Gets the index of a Zone in the Zone list.
virtual int getEffectCount() const =0
Gets the count of registered effects.
void velocityPropertyVisibilityChanged(bool visible)
Emitted when the visibility of the velocity property is changed.
virtual void abortCurrentSamplerJob()=0
Tells the Sampler to abort the current SamplerJob.
void removingMenuSeparator(const synthclone::MenuSeparator *separator, const synthclone::Sampler *sampler, const QStringList &subMenus)
Emitted when a MenuSeparator is being removed from a Sampler menu.
void zoneRemoved(const synthclone::Zone *zone, int index)
Emitted when a Zone has been removed from the Zone list.
void channelPropertyVisibilityChanged(bool visible)
Emitted when the visibility of the channel property is changed.
void menuActionAdded(const synthclone::MenuAction *action, const synthclone::Target *target, const QStringList &subMenus)
Emitted when a MenuAction has been added to a Target menu.
virtual void moveEffect(int fromIndex, int toIndex)=0
Moves an Effect.
void controlPropertyVisibilityChanged(synthclone::MIDIData control, bool visible)
Emitted when the visibility of a control property is changed.
virtual int getRevision() const =0
Gets the revision portion of the version of synthclone.
void removingTarget(const synthclone::Target *target, int index)
Emitted when a Target is being removed from the Target list.
void menuActionAdded(const synthclone::MenuAction *action, synthclone::Menu menu, const QStringList &subMenus)
Emitted when a MenuAction has been added to a root menu.
void addingMenuAction(const synthclone::MenuAction *action, const synthclone::Sampler *sampler, const QStringList &subMenus)
Emitted when a MenuAction is being added to a Sampler menu.
void addingMenuAction(const synthclone::MenuAction *action, synthclone::Menu menu, const QStringList &subMenus)
Emitted when a MenuAction is being added to a root menu.
virtual void setControlPropertyVisible(MIDIData control, bool visible)=0
Sets the visibility of a control property.
virtual void removeMenuSeparator(const MenuSeparator *separator)=0
Removes a MenuSeparator.
virtual void setDrySamplePropertyVisible(bool visible)=0
Sets the visibility of the dry sample property.
void effectRemoved(const synthclone::Effect *effect, int index)
Emitted when an Effect has been removed from the Effect list.
virtual bool isReleaseTimePropertyVisible() const =0
Gets a boolean indicating whether or not the release time property is visible.
void participantAdded(const synthclone::Participant *participant, const synthclone::Participant *parent, const QByteArray &id)
Emitted when a Participant has being added.
void targetRemoved(const synthclone::Target *target, int index)
Emitted when a Target has been removed from the Target list.
void currentSamplerJobChanged(const synthclone::SamplerJob *job)
Emitted when the current sampler job is changed.
void menuActionRemoved(const synthclone::MenuAction *action, const synthclone::Target *target, const QStringList &subMenus)
Emitted when a MenuAction has been removed from a Target menu.
virtual const Target * getTarget(int index) const =0
Gets a Target from the Target list.
virtual const Registration & addTarget(Target *target, int index=-1)=0
Adds a Target to the session.
void removingMenuAction(const synthclone::MenuAction *action, synthclone::Menu menu, const QStringList &subMenus)
Emitted when a MenuAction is being removed from a root menu.
virtual void removeEffectJob(int index)=0
Removes an EffectJob from the EffectJob queue.
void menuActionAdded(const synthclone::MenuAction *action, const synthclone::Effect *effect, const QStringList &subMenus)
Emitted when a MenuAction has been added to an Effect menu.
virtual QByteArray getParticipantId(const Participant *participant) const =0
Gets the id of a Participant.
void selectedEffectChanged(const synthclone::Effect *effect, int index)
Emitted when the selected Effect is changed.
virtual int getSelectedZoneCount() const =0
Gets the count of Zone objects in the selected Zone list.
void deactivatingParticipant(const synthclone::Participant *participant, const synthclone::Participant *parent, const QByteArray &id)
Emitted when a Participant is being deactivated.
void targetBuilt(const synthclone::Target *target)
Emitted when a Target is successfully built.
void sampleRateChanged(synthclone::SampleRate sampleRate)
Emitted when the session's synthclone::SampleRate is changed.
virtual SampleRate getSampleRate() const =0
Gets the session sample rate.
virtual int getEffectJobCount() const =0
Gets the count of EffectJob objects in the EffectJob queue.
void effectJobMoved(const synthclone::EffectJob *job, int fromIndex, int toIndex)
Emitted when an EffectJob is moved in the EffectJob queue.
void addingTarget(const synthclone::Target *target, int index)
Emitted when a Target is being added to the Target list.
virtual void removeZone(Zone *zone)=0
Removes a Zone from the Zone list.
void removingMenuSeparator(const synthclone::MenuSeparator *separator, const synthclone::Effect *effect, const QStringList &subMenus)
Emitted when a MenuSeparator is being removed from an Effect menu.
virtual void setStatusPropertyVisible(bool visible)=0
Sets the visibility of the status property.
virtual void removeTarget(int index)=0
Removes a Target from the Target list.
virtual void removeParticipant(const Participant *participant)=0
Removes a Participant from the session.
virtual int getSamplerJobIndex(const synthclone::SamplerJob *job) const =0
Gets the index of a SamplerJob in the SamplerJob queue.
virtual void loadSession(const QDir &directory)=0
Loads a synthclone session.
virtual void setAftertouchPropertyVisible(bool visible)=0
Sets the visibility of the aftertouch property.
virtual void saveSession(const QDir &directory)=0
Saves the session, and changes the current session directory.
void menuSeparatorAdded(const synthclone::MenuSeparator *separator, const synthclone::Effect *effect, const QStringList &subMenus)
Emitted when a MenuSeparator has been added to an Effect menu.
virtual void setSelectedTarget(int index)=0
Sets the selected Target.
virtual void setSelectedEffect(const Effect *effect)=0
Sets the selected Effect.
void samplerRemoved(const synthclone::Sampler *sampler)
Emitted when a Sampler is removed.
void errorReported(const QString &message)
Emitted when an error is reported.
virtual void buildTargets()=0
Attempts to build all registered targets.
virtual bool isSessionDirectory(const QDir &directory) const =0
Gets a boolean indicating whether or not a directory contains a valid synthclone session.
void removingEffectJob(const synthclone::EffectJob *job, int index)
Emitted when an EffectJob is being removed from the EffectJob queue.
virtual const Registration & addMenuSeparator(MenuSeparator *separator, const Effect *effect, const QStringList &subMenus=QStringList())=0
Adds a MenuSeparator to the application.
virtual void setChannelPressurePropertyVisible(bool visible)=0
Sets the visibility of the channel pressure property.
virtual int getEffectJobIndex(const synthclone::EffectJob *job) const =0
Gets the index of an EffectJob in the EffectJob queue.
virtual void removeZone(int index)=0
Removes a Zone from the Zone list.
virtual void unloadSession()=0
Unloads the current session.
void channelPressurePropertyVisibilityChanged(bool visible)
Emitted when the visibility of the channel pressure property is changed.
void menuActionRemoved(const synthclone::MenuAction *action, synthclone::Menu menu, const QStringList &subMenus)
Emitted when a MenuAction has been removed from a root menu.
virtual bool isStatusPropertyVisible() const =0
Gets a boolean indicating whether or not the status property is visible.
void samplerAdded(const synthclone::Sampler *sampler)
Emitted when a Sampler has been added.
virtual int getEffectIndex(const Effect *effect) const =0
Gets the index of an effect.
void targetAdded(const synthclone::Target *target, int index)
Emitted when a Target has been added to the Target list.
void removingParticipant(const synthclone::Participant *participant, const synthclone::Participant *parent, const QByteArray &id)
Emitted when a Participant is being removed.
void removingMenuSeparator(const synthclone::MenuSeparator *separator, const synthclone::Target *target, const QStringList &subMenus)
Emitted when a MenuSeparator is being removed from a Target menu.
virtual void setVelocityPropertyVisible(bool visible)=0
Sets the visibility of the velocity property.
virtual void quit()=0
Terminates synthclone.
void zoneAdded(const synthclone::Zone *zone, int index)
Emitted when a Zone has been added to the Zone list.
virtual bool isDrySamplePropertyVisible() const =0
Gets a boolean indicating whether or not the dry sample property is visible.
virtual SessionState getSessionState() const =0
Gets the state of the current session.
void participantDeactivated(const synthclone::Participant *participant, const synthclone::Participant *parent, const QByteArray &id)
Emitted when a Participant has being deactivated.
void addingMenuAction(const synthclone::MenuAction *action, const synthclone::Target *target, const QStringList &subMenus)
Emitted when a MenuAction is being added to a Target menu.
virtual void setFocusedComponent(const Component *component)=0
Sets the focused component.
void menuSeparatorAdded(const synthclone::MenuSeparator *separator, const synthclone::Target *target, const QStringList &subMenus)
Emitted when a MenuSeparator has been added to a Target menu.
virtual void setSelectedEffect(int index)=0
Sets the selected Effect.
virtual int getMinorVersion() const =0
Gets the minor portion of the version of synthclone.
virtual Zone * getSelectedZone(int index)=0
Gets a Zone from the selected Zone list.
void removingZone(const synthclone::Zone *zone, int index)
Emitted when an Zone is being removed from the Zone list.
virtual const Effect * getSelectedEffect() const =0
Gets the currently selected Effect.
void addingSampler(const synthclone::Sampler *sampler)
Emitted when a Sampler is being added.
virtual bool isZoneSelected(int index) const =0
Gets a boolean indicating whether or not a Zone is selected.
virtual bool isAftertouchPropertyVisible() const =0
Gets a boolean indicating whether or not the aftertouch property is visible.
virtual void setSampleChannelCount(SampleChannelCount sampleChannelCount)=0
Sets the SampleChannelCount for the session.
void targetBuildError(const synthclone::Target *target, const QString &message)
Emitted when an error occurs while attempting to build a Target.
void addingMenuAction(const synthclone::MenuAction *action, const synthclone::Effect *effect, const QStringList &subMenus)
Emitted when a MenuAction is being added to an Effect menu.
virtual SampleChannelCount getSampleChannelCount() const =0
Gets the current sample channel count.
virtual void setSelectedTarget(const Target *target)=0
Sets the selected Target.
virtual void removeEffectJob(const EffectJob *job)=0
Removes an EffectJob from the EffectJob queue.
void menuActionRemoved(const synthclone::MenuAction *action, const synthclone::Sampler *sampler, const QStringList &subMenus)
Emitted when a MenuAction has been removed from a Sampler menu.
virtual const Registration & addEffect(Effect *effect, int index=-1)=0
Adds an Effect to the session.
virtual const SamplerJob * addSamplerJob(SamplerJob::Type type, Zone *zone)=0
Adds a SamplerJob object to the SamplerJob queue.
virtual bool isZoneSelected(const Zone *zone) const =0
Gets a boolean indicating whether or not a Zone is selected.
void addingMenuSeparator(const synthclone::MenuSeparator *separator, const synthclone::Effect *effect, const QStringList &subMenus)
Emitted when a MenuSeparator is being added to an Effect menu.
void effectMoved(const synthclone::Effect *effect, int fromIndex, int toIndex)
Emitted when an Effect has been moved in the Effect list.
void focusedComponentChanged(const synthclone::Component *component)
Emitted when the focused component is changed.
virtual void removeSamplerJob(int index)=0
Removes a sampler job from the SamplerJob queue.
Represents a job that will be sent to registered Effect objects.
Definition effectjob.h:31
Component capable of altering samples in some way.
Definition effect.h:34
MenuAction objects are triggerable choices in a menu.
Definition menuaction.h:33
MenuSeparator objects are used to create a sense of grouping with MenuAction objects.
Definition menuseparator.h:32
Participants objects interact with synthclone.
Definition participant.h:34
Registration objects are returned when objects are registered with the session.
Definition registration.h:33
Represents a job that will be sent to a Sampler.
Definition samplerjob.h:31
Type
The type of job that will be executed by the Sampler.
Definition samplerjob.h:41
Component capable of capturing and playing back audio.
Definition sampler.h:33
Component capable of building a patch from a list of Zone objects.
Definition target.h:34
Subclasses of 'ZoneComparer' are used to sort zones, generally by a specific property.
Definition zonecomparer.h:35
Zone objects contains data about how Sample objects should be acquired from a Sampler.
Definition zone.h:37
Definition component.h:26
quint32 SampleRate
Holds a sample rate.
Definition types.h:96
quint8 MIDIData
Holds a byte of MIDI data.
Definition types.h:59
quint16 SampleChannelCount
Holds a sample channel count.
Definition types.h:72
Menu
Menu identifiers for default synthclone menus.
Definition types.h:44
SessionState
Defines session states.
Definition types.h:148