Control Surface API  3.0.3
ControllerHost.java
1 package com.bitwig.extension.controller.api;
2 
8 
9 import jdk.nashorn.api.scripting.JSObject;
10 
48 @SuppressWarnings("restriction")
49 public interface ControllerHost extends Host
50 {
56  void restart();
57 
62  void loadAPI(int version);
63 
74  void useBetaApi();
75 
80  boolean shouldFailOnDeprecatedUse();
81 
87  void setShouldFailOnDeprecatedUse(boolean value);
88 
93  void load(String path);
94 
101  boolean platformIsWindows();
102 
109  boolean platformIsMac();
110 
117  boolean platformIsLinux();
118 
138  void defineController(String vendor, String name, String version, String uuid, String author);
139 
153  void defineMidiPorts(int numInports, int numOutports);
154 
163  MidiIn getMidiInPort(int index);
164 
173  MidiOut getMidiOutPort(int index);
174 
182  HardwareDevice hardwareDevice(int index);
183 
202  void addDeviceNameBasedDiscoveryPair(String[] inputs, String[] outputs);
203 
218  @Deprecated
219  void defineSysexIdentityReply(String reply);
220 
228  Preferences getPreferences();
229 
237  DocumentState getDocumentState();
238 
249  NotificationSettings getNotificationSettings();
250 
256  Project getProject();
257 
266  Transport createTransport();
267 
275  Groove createGroove();
276 
285  Application createApplication();
286 
295  Arranger createArranger();
296 
306  Arranger createArranger(final int window);
307 
315  Mixer createMixer();
316 
329  Mixer createMixer(final String panelLayout);
330 
341  Mixer createMixer(final int window);
342 
357  Mixer createMixer(final String panelLayout, final int window);
358 
388  TrackBank createTrackBank(final int numTracks, final int numSends, final int numScenes);
389 
421  TrackBank createTrackBank(
422  final int numTracks,
423  final int numSends,
424  final int numScenes,
425  final boolean hasFlatTrackList);
426 
444  TrackBank createMainTrackBank(final int numTracks, final int numSends, final int numScenes);
445 
461  TrackBank createEffectTrackBank(final int numTracks, final int numScenes);
462 
472  MasterTrack createMasterTrack(final int numScenes);
473 
488  @Deprecated
489  CursorTrack createArrangerCursorTrack(final int numSends, final int numScenes);
490 
508  @Deprecated
509  CursorTrack createCursorTrack(final String name, final int numSends, final int numScenes);
510 
527  CursorTrack createCursorTrack(
528  final String id,
529  String name,
530  final int numSends,
531  final int numScenes,
532  boolean shouldFollowSelection);
533 
552  SceneBank createSceneBank(final int numScenes);
553 
569  @Deprecated
570  CursorDevice createEditorCursorDevice();
571 
588  @Deprecated
589  CursorDevice createEditorCursorDevice(int numSends);
590 
596  @Deprecated
597  Clip createCursorClip(final int gridWidth, final int gridHeight);
598 
610  Clip createLauncherCursorClip(final int gridWidth, final int gridHeight);
611 
623  Clip createArrangerCursorClip(final int gridWidth, final int gridHeight);
624 
635  UserControlBank createUserControls(final int numControllers);
636 
650  @Deprecated
651  void scheduleTask(JSObject callback, Object[] args, long delay);
652 
663  void scheduleTask(Runnable callback, long delay);
664 
670  void requestFlush();
671 
680  void println(String s);
681 
690  void errorln(String s);
691 
700  void showPopupNotification(String text);
701 
714  RemoteSocket createRemoteConnection(String name, int defaultPort);
715 
728  void connectToRemoteHost(String host, int port, ConnectionEstablishedCallback callback);
729 
742  void sendDatagramPacket(String host, int port, byte[] data);
743 
758  boolean addDatagramPacketObserver(String name, int port, DataReceivedCallback callback);
759 
764  @Deprecated
765  void defineController(String vendor, String name, String version, String uuid);
766 
771  @Deprecated
772  Transport createTransportSection();
773 
777  CursorTrack createCursorTrack(final int numSends, final int numScenes);
778 
783  @Deprecated
784  Groove createGrooveSection();
785 
790  @Deprecated
791  Application createApplicationSection();
792 
797  @Deprecated
798  Arranger createArrangerSection(final int screenIndex);
799 
804  @Deprecated
805  Mixer createMixerSection(final String perspective, final int screenIndex);
806 
811  @Deprecated
812  TrackBank createTrackBankSection(final int numTracks, final int numSends, final int numScenes);
813 
818  @Deprecated
819  TrackBank createMainTrackBankSection(final int numTracks, final int numSends, final int numScenes);
820 
825  @Deprecated
826  TrackBank createEffectTrackBankSection(final int numTracks, final int numScenes);
827 
832  @Deprecated
833  CursorTrack createCursorTrackSection(final int numSends, final int numScenes);
834 
839  @Deprecated
840  Track createMasterTrackSection(final int numScenes);
841 
846  @Deprecated
847  Clip createCursorClipSection(final int gridWidth, final int gridHeight);
848 
853  @Deprecated
854  CursorDevice createCursorDeviceSection(final int numControllers);
855 
860  @Deprecated
861  CursorDevice createCursorDevice();
862 
867  @Deprecated
868  UserControlBank createUserControlsSection(final int numControllers);
869 
874  @Deprecated
875  void defineSysexDiscovery(String request, String reply);
876 
882  PopupBrowser createPopupBrowser();
883 
891  BeatTimeFormatter defaultBeatTimeFormatter();
892 
899  void setDefaultBeatTimeFormatter(BeatTimeFormatter formatter);
900 
918  BeatTimeFormatter createBeatTimeFormatter(
919  final String separator,
920  final int barsLen,
921  final int beatsLen,
922  final int subdivisionLen,
923  final int ticksLen);
924 }