summaryrefslogtreecommitdiffstats
path: root/arts/midi/midisynctest.cc
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-12-08 22:26:17 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-12-08 22:26:17 +0900
commitfce86b22a2367f1be1f9aae5e1ba3d18d1371b74 (patch)
tree707fe84fef0569a152e632ce1e16407f9d19a3d2 /arts/midi/midisynctest.cc
parent41fa1afc2c571b909acd0312e4eebb4a0b21e3c2 (diff)
downloadtdemultimedia-fce86b22a2367f1be1f9aae5e1ba3d18d1371b74.tar.gz
tdemultimedia-fce86b22a2367f1be1f9aae5e1ba3d18d1371b74.zip
Renaming of files in preparation for code style tools.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'arts/midi/midisynctest.cc')
-rw-r--r--arts/midi/midisynctest.cc137
1 files changed, 0 insertions, 137 deletions
diff --git a/arts/midi/midisynctest.cc b/arts/midi/midisynctest.cc
deleted file mode 100644
index e1278f1b..00000000
--- a/arts/midi/midisynctest.cc
+++ /dev/null
@@ -1,137 +0,0 @@
- /*
-
- Copyright (C) 2002 Stefan Westerfeld
- stefan@space.twc.de
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-
- */
-
-#include "config.h"
-#include "artsmidi.h"
-#include "soundserver.h"
-#include "timestampmath.h"
-#include "debug.h"
-#include <stdio.h>
-#include <math.h>
-
-using namespace Arts;
-using namespace std;
-
-int main()
-{
- Dispatcher dispatcher;
-
- MidiManager midiManager = DynamicCast(Reference("global:Arts_MidiManager"));
- if(midiManager.isNull())
- arts_fatal("midimanager is null");
-
- SoundServer soundServer = DynamicCast(Reference("global:Arts_SoundServer"));
- if(soundServer.isNull())
- arts_fatal("soundServer is null");
-
- MidiSyncGroup syncGroup = midiManager.addSyncGroup();
- MidiClient client = midiManager.addClient(mcdPlay, mctApplication, "midisynctest", "midisynctest");
- syncGroup.addClient(client);
-
- MidiPort port = client.addOutputPort();
-
- MidiClient client2 = midiManager.addClient(mcdPlay, mctApplication, "midisynctest2", "midisynctest2");
-
- syncGroup.addClient(client2);
-
- MidiPort port2 = client2.addOutputPort();
-
- /* setup audio synchronization */
- AudioSync audioSync;
- audioSync = DynamicCast(soundServer.createObject("Arts::AudioSync"));
- if(audioSync.isNull())
- arts_fatal("audioSync is null");
-
- syncGroup.addAudioSync(audioSync);
-
- const int C = 60;
- const int D = 62;
- const int E = 64;
- const int F = 65, f = F - 12;
- const int G = 67, g = G - 12;
- const int A = 69, a = A - 12;
- const int H = 71, h = H - 12;
- int np = 0;
- int notes[] = { C,E,G,E,a,C,E,C,f,a,C,a,g,h,D,h,0 };
-
- printf("connect port1 and port2 to two different ports in the artscontrol midi manager,\n"
- "hit return");
- getchar();
-
- TimeStamp t = port.time();
- timeStampInc(t,TimeStamp(0,100000));
- for(;;)
- {
- Synth_PLAY_WAV wav;
- Synth_AMAN_PLAY sap;
-
- MidiEvent e;
-
- e = MidiEvent(t,MidiCommand(mcsNoteOn|0, notes[np], 100));
-
- port.processEvent(e);
- port2.processEvent(e);
-
- if((np & 1) == 0)
- {
- /* setup wave player */
- wav = DynamicCast(soundServer.createObject("Arts::Synth_PLAY_WAV"));
- if(wav.isNull())
- arts_fatal("can't create Arts::Synth_PLAY_WAV");
-
- sap = DynamicCast(soundServer.createObject("Arts::Synth_AMAN_PLAY"));
- if(sap.isNull())
- arts_fatal("can't create Arts::Synth_AMAN_PLAY");
-
- wav.filename("/opt/trinity/share/sounds/pop.wav");
- sap.title("midisynctest2");
- sap.autoRestoreID("midisynctest2");
- connect(wav,sap);
-
- audioSync.queueStart(wav);
- audioSync.queueStart(sap);
- audioSync.executeAt(t);
- }
-
- timeStampInc(t,TimeStamp(0,100000));
-
- e = MidiEvent(t,MidiCommand(mcsNoteOff|0, notes[np], 100));
-
- port.processEvent(e);
- port2.processEvent(e);
-
- if((np & 1) == 0)
- {
- audioSync.queueStop(wav);
- audioSync.queueStop(sap);
- audioSync.executeAt(t);
- }
-
- timeStampInc(t,TimeStamp(0,400000));
-
- while(port.time().sec < (t.sec - 2))
- usleep(100000);
-
- np++;
- if(notes[np] == 0) np = 0;
- }
-}