Bitwig Studio Control Surface API  4.0.1
ControllerHost.java
1 package com.bitwig.extension.controller.api;
2 
3 import java.util.UUID;
4 import java.util.function.DoubleConsumer;
5 import java.util.function.Supplier;
6 
12 
50 @SuppressWarnings("restriction")
51 public interface ControllerHost extends Host
52 {
58  void restart();
59 
64  void loadAPI(int version);
65 
76  void useBetaApi();
77 
82  boolean shouldFailOnDeprecatedUse();
83 
89  void setShouldFailOnDeprecatedUse(boolean value);
90 
95  void load(String path);
96 
103  boolean platformIsWindows();
104 
111  boolean platformIsMac();
112 
119  boolean platformIsLinux();
120 
140  void defineController(String vendor, String name, String version, String uuid, String author);
141 
155  void defineMidiPorts(int numInports, int numOutports);
156 
165  MidiIn getMidiInPort(int index);
166 
175  MidiOut getMidiOutPort(int index);
176 
184  HardwareDevice hardwareDevice(int index);
185 
204  void addDeviceNameBasedDiscoveryPair(String[] inputs, String[] outputs);
205 
220  @Deprecated
221  void defineSysexIdentityReply(String reply);
222 
230  Preferences getPreferences();
231 
239  DocumentState getDocumentState();
240 
251  NotificationSettings getNotificationSettings();
252 
258  Project getProject();
259 
268  Transport createTransport();
269 
277  Groove createGroove();
278 
287  Application createApplication();
288 
297  Arranger createArranger();
298 
308  Arranger createArranger(final int window);
309 
317  Mixer createMixer();
318 
331  Mixer createMixer(final String panelLayout);
332 
343  Mixer createMixer(final int window);
344 
359  Mixer createMixer(final String panelLayout, final int window);
360 
369  DetailEditor createDetailEditor();
370 
380  DetailEditor createDetailEditor(final int window);
381 
411  TrackBank createTrackBank(final int numTracks, final int numSends, final int numScenes);
412 
444  TrackBank createTrackBank(
445  final int numTracks,
446  final int numSends,
447  final int numScenes,
448  final boolean hasFlatTrackList);
449 
467  TrackBank createMainTrackBank(final int numTracks, final int numSends, final int numScenes);
468 
484  TrackBank createEffectTrackBank(final int numTracks, final int numScenes);
485 
495  MasterTrack createMasterTrack(final int numScenes);
496 
511  @Deprecated
512  CursorTrack createArrangerCursorTrack(final int numSends, final int numScenes);
513 
531  @Deprecated
532  CursorTrack createCursorTrack(final String name, final int numSends, final int numScenes);
533 
550  CursorTrack createCursorTrack(
551  final String id,
552  String name,
553  final int numSends,
554  final int numScenes,
555  boolean shouldFollowSelection);
556 
575  SceneBank createSceneBank(final int numScenes);
576 
592  @Deprecated
593  CursorDevice createEditorCursorDevice();
594 
611  @Deprecated
612  CursorDevice createEditorCursorDevice(int numSends);
613 
619  @Deprecated
620  Clip createCursorClip(final int gridWidth, final int gridHeight);
621 
633  Clip createLauncherCursorClip(final int gridWidth, final int gridHeight);
634 
646  Clip createArrangerCursorClip(final int gridWidth, final int gridHeight);
647 
658  UserControlBank createUserControls(final int numControllers);
659 
673  @Deprecated
674  void scheduleTask(Object callback, Object[] args, long delay);
675 
686  void scheduleTask(Runnable callback, long delay);
687 
693  void requestFlush();
694 
703  void println(String s);
704 
713  void errorln(String s);
714 
723  void showPopupNotification(String text);
724 
737  RemoteSocket createRemoteConnection(String name, int defaultPort);
738 
751  void connectToRemoteHost(String host, int port, ConnectionEstablishedCallback callback);
752 
765  void sendDatagramPacket(String host, int port, byte[] data);
766 
781  boolean addDatagramPacketObserver(String name, int port, DataReceivedCallback callback);
782 
787  @Deprecated
788  void defineController(String vendor, String name, String version, String uuid);
789 
794  @Deprecated
795  Transport createTransportSection();
796 
800  CursorTrack createCursorTrack(final int numSends, final int numScenes);
801 
806  @Deprecated
807  Groove createGrooveSection();
808 
813  @Deprecated
814  Application createApplicationSection();
815 
820  @Deprecated
821  Arranger createArrangerSection(final int screenIndex);
822 
827  @Deprecated
828  Mixer createMixerSection(final String perspective, final int screenIndex);
829 
834  @Deprecated
835  TrackBank createTrackBankSection(final int numTracks, final int numSends, final int numScenes);
836 
841  @Deprecated
842  TrackBank createMainTrackBankSection(final int numTracks, final int numSends, final int numScenes);
843 
848  @Deprecated
849  TrackBank createEffectTrackBankSection(final int numTracks, final int numScenes);
850 
855  @Deprecated
856  CursorTrack createCursorTrackSection(final int numSends, final int numScenes);
857 
862  @Deprecated
863  Track createMasterTrackSection(final int numScenes);
864 
869  @Deprecated
870  Clip createCursorClipSection(final int gridWidth, final int gridHeight);
871 
876  @Deprecated
877  CursorDevice createCursorDeviceSection(final int numControllers);
878 
883  @Deprecated
884  CursorDevice createCursorDevice();
885 
890  @Deprecated
891  UserControlBank createUserControlsSection(final int numControllers);
892 
897  @Deprecated
898  void defineSysexDiscovery(String request, String reply);
899 
905  PopupBrowser createPopupBrowser();
906 
914  BeatTimeFormatter defaultBeatTimeFormatter();
915 
922  void setDefaultBeatTimeFormatter(BeatTimeFormatter formatter);
923 
941  BeatTimeFormatter createBeatTimeFormatter(
942  final String separator,
943  final int barsLen,
944  final int beatsLen,
945  final int subdivisionLen,
946  final int ticksLen);
947 
953  HardwareSurface createHardwareSurface();
954 
960  HardwareActionMatcher createOrHardwareActionMatcher(
961  HardwareActionMatcher matcher1,
962  HardwareActionMatcher matcher2);
963 
970  RelativeHardwareValueMatcher createOrRelativeHardwareValueMatcher(
973 
980  AbsoluteHardwareValueMatcher createOrAbsoluteHardwareValueMatcher(
983 
990  MidiExpressions midiExpressions();
991 
1004  HardwareActionBindable createAction(Runnable runnable, Supplier<String> descriptionProvider);
1005 
1018  HardwareActionBindable createAction(
1019  DoubleConsumer actionPressureConsumer,
1020  Supplier<String> descriptionProvider);
1021 
1034  RelativeHardwarControlBindable createRelativeHardwareControlStepTarget(
1035  HardwareActionBindable stepForwardsAction,
1036  HardwareActionBindable stepBackwardsAction);
1037 
1048  RelativeHardwarControlBindable createRelativeHardwareControlAdjustmentTarget(
1049  DoubleConsumer adjustmentConsumer);
1050 
1061  AbsoluteHardwarControlBindable createAbsoluteHardwareControlAdjustmentTarget(
1062  DoubleConsumer adjustmentConsumer);
1063 
1069  void deleteObjects(String undoName, DeleteableObject... objects);
1070 
1076  void deleteObjects(DeleteableObject... objects);
1077 
1083  DeviceMatcher createInstrumentMatcher();
1084 
1090  DeviceMatcher createAudioEffectMatcher();
1091 
1097  DeviceMatcher createNoteEffectMatcher();
1098 
1104  DeviceMatcher createBitwigDeviceMatcher(UUID id);
1105 
1111  DeviceMatcher createVST2DeviceMatcher(int id);
1112 
1118  DeviceMatcher createVST3DeviceMatcher(String id);
1119 
1125  DeviceMatcher createActiveDeviceMatcher();
1126 
1132  DeviceMatcher createFirstDeviceInChainMatcher();
1133 
1139  DeviceMatcher createLastDeviceInChainMatcher();
1140 
1146  DeviceMatcher createOrDeviceMatcher(DeviceMatcher... deviceMatchers);
1147 
1153  DeviceMatcher createAndDeviceMatcher(DeviceMatcher... deviceMatchers);
1154 
1160  DeviceMatcher createNotDeviceMatcher(DeviceMatcher deviceMatcher);
1161 }