OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [gnu/] [javax/] [sound/] [midi/] [alsa/] [AlsaMidiSequencerDevice.java] - Blame information for rev 769

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 769 jeremybenn
/* AlsaMidiSequencerDevice.java -- The ALSA MIDI sequencer device
2
   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
3
 
4
This file is part of GNU Classpath.
5
 
6
GNU Classpath is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
 
11
GNU Classpath is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GNU Classpath; see the file COPYING.  If not, write to the
18
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
02110-1301 USA.
20
 
21
Linking this library statically or dynamically with other modules is
22
making a combined work based on this library.  Thus, the terms and
23
conditions of the GNU General Public License cover the whole
24
combination.
25
 
26
As a special exception, the copyright holders of this library give you
27
permission to link this library with independent modules to produce an
28
executable, regardless of the license terms of these independent
29
modules, and to copy and distribute the resulting executable under
30
terms of your choice, provided that you also meet, for each linked
31
independent module, the terms and conditions of the license of that
32
module.  An independent module is a module which is not derived from
33
or based on this library.  If you modify this library, you may extend
34
this exception to your version of the library, but you are not
35
obligated to do so.  If you do not wish to do so, delete this
36
exception statement from your version. */
37
 
38
 
39
package gnu.javax.sound.midi.alsa;
40
 
41
import java.io.IOException;
42
import java.io.InputStream;
43
 
44
import javax.sound.midi.ControllerEventListener;
45
import javax.sound.midi.InvalidMidiDataException;
46
import javax.sound.midi.MetaEventListener;
47
import javax.sound.midi.MidiUnavailableException;
48
import javax.sound.midi.Receiver;
49
import javax.sound.midi.Sequence;
50
import javax.sound.midi.Sequencer;
51
import javax.sound.midi.Track;
52
import javax.sound.midi.Transmitter;
53
 
54
/**
55
 * The ALSA MIDI sequencer device.  This is a singleton device.
56
 *
57
 * @author green@redhat.com
58
 *
59
 */
60
public class AlsaMidiSequencerDevice implements Sequencer
61
{
62
  // The singleton instance.
63
  public final static AlsaMidiSequencerDevice instance = new AlsaMidiSequencerDevice();
64
 
65
  // A pointer to a native chunk of memory
66
  private long nativeState;
67
 
68
  // The sequence to process
69
  private Sequence sequence;
70
 
71
  /**
72
   * A private constructor.  There should only be one instance of this
73
   * device.
74
   */
75
  private AlsaMidiSequencerDevice()
76
  {
77
    super();
78
  }
79
 
80
  /**
81
   * Return the sequencer singleton.
82
   *
83
   * @return the sequencer singleton
84
   */
85
  public static AlsaMidiSequencerDevice getInstance()
86
  {
87
    return instance;
88
  }
89
 
90
  /* (non-Javadoc)
91
   * @see javax.sound.midi.Sequencer#setSequence(javax.sound.midi.Sequence)
92
   */
93
  public void setSequence(Sequence seq) throws InvalidMidiDataException
94
  {
95
    sequence = seq;
96
  }
97
 
98
  /* (non-Javadoc)
99
   * @see javax.sound.midi.Sequencer#setSequence(java.io.InputStream)
100
   */
101
  public void setSequence(InputStream istream) throws IOException,
102
      InvalidMidiDataException
103
  {
104
    // TODO Auto-generated method stub
105
  }
106
 
107
  /* (non-Javadoc)
108
   * @see javax.sound.midi.Sequencer#getSequence()
109
   */
110
  public Sequence getSequence()
111
  {
112
    return sequence;
113
  }
114
 
115
  /* (non-Javadoc)
116
   * @see javax.sound.midi.Sequencer#start()
117
   */
118
  public void start()
119
  {
120
    // TODO Auto-generated method stub
121
  }
122
 
123
  /* (non-Javadoc)
124
   * @see javax.sound.midi.Sequencer#stop()
125
   */
126
  public void stop()
127
  {
128
    // TODO Auto-generated method stub
129
 
130
  }
131
 
132
  /* (non-Javadoc)
133
   * @see javax.sound.midi.Sequencer#isRunning()
134
   */
135
  public boolean isRunning()
136
  {
137
    // TODO Auto-generated method stub
138
    return false;
139
  }
140
 
141
  /* (non-Javadoc)
142
   * @see javax.sound.midi.Sequencer#startRecording()
143
   */
144
  public void startRecording()
145
  {
146
    // TODO Auto-generated method stub
147
 
148
  }
149
 
150
  /* (non-Javadoc)
151
   * @see javax.sound.midi.Sequencer#stopRecording()
152
   */
153
  public void stopRecording()
154
  {
155
    // TODO Auto-generated method stub
156
 
157
  }
158
 
159
  /* (non-Javadoc)
160
   * @see javax.sound.midi.Sequencer#isRecording()
161
   */
162
  public boolean isRecording()
163
  {
164
    // TODO Auto-generated method stub
165
    return false;
166
  }
167
 
168
  /* (non-Javadoc)
169
   * @see javax.sound.midi.Sequencer#recordEnable(javax.sound.midi.Track, int)
170
   */
171
  public void recordEnable(Track track, int channel)
172
  {
173
    // TODO Auto-generated method stub
174
 
175
  }
176
 
177
  /* (non-Javadoc)
178
   * @see javax.sound.midi.Sequencer#recordDisable(javax.sound.midi.Track)
179
   */
180
  public void recordDisable(Track track)
181
  {
182
    // TODO Auto-generated method stub
183
 
184
  }
185
 
186
  /* (non-Javadoc)
187
   * @see javax.sound.midi.Sequencer#getTempoInBPM()
188
   */
189
  public float getTempoInBPM()
190
  {
191
    // TODO Auto-generated method stub
192
    return 0;
193
  }
194
 
195
  /* (non-Javadoc)
196
   * @see javax.sound.midi.Sequencer#setTempoInBPM(float)
197
   */
198
  public void setTempoInBPM(float bpm)
199
  {
200
    // TODO Auto-generated method stub
201
 
202
  }
203
 
204
  /* (non-Javadoc)
205
   * @see javax.sound.midi.Sequencer#getTempoInMPQ()
206
   */
207
  public float getTempoInMPQ()
208
  {
209
    // TODO Auto-generated method stub
210
    return 0;
211
  }
212
 
213
  /* (non-Javadoc)
214
   * @see javax.sound.midi.Sequencer#setTempoInMPQ(float)
215
   */
216
  public void setTempoInMPQ(float mpq)
217
  {
218
    // TODO Auto-generated method stub
219
 
220
  }
221
 
222
  /* (non-Javadoc)
223
   * @see javax.sound.midi.Sequencer#setTempoFactor(float)
224
   */
225
  public void setTempoFactor(float factor)
226
  {
227
    // TODO Auto-generated method stub
228
 
229
  }
230
 
231
  /* (non-Javadoc)
232
   * @see javax.sound.midi.Sequencer#getTempoFactor()
233
   */
234
  public float getTempoFactor()
235
  {
236
    // TODO Auto-generated method stub
237
    return 0;
238
  }
239
 
240
  /* (non-Javadoc)
241
   * @see javax.sound.midi.Sequencer#getTickLength()
242
   */
243
  public long getTickLength()
244
  {
245
    // TODO Auto-generated method stub
246
    return 0;
247
  }
248
 
249
  /* (non-Javadoc)
250
   * @see javax.sound.midi.Sequencer#getTickPosition()
251
   */
252
  public long getTickPosition()
253
  {
254
    // TODO Auto-generated method stub
255
    return 0;
256
  }
257
 
258
  /* (non-Javadoc)
259
   * @see javax.sound.midi.Sequencer#setTickPosition(long)
260
   */
261
  public void setTickPosition(long tick)
262
  {
263
    // TODO Auto-generated method stub
264
 
265
  }
266
 
267
  /* (non-Javadoc)
268
   * @see javax.sound.midi.Sequencer#getMicrosecondLength()
269
   */
270
  public long getMicrosecondLength()
271
  {
272
    // TODO Auto-generated method stub
273
    return 0;
274
  }
275
 
276
  /* (non-Javadoc)
277
   * @see javax.sound.midi.Sequencer#getMicrosecondPosition()
278
   */
279
  public long getMicrosecondPosition()
280
  {
281
    // TODO Auto-generated method stub
282
    return 0;
283
  }
284
 
285
  /* (non-Javadoc)
286
   * @see javax.sound.midi.Sequencer#setMicrosecondPosition(long)
287
   */
288
  public void setMicrosecondPosition(long microsecond)
289
  {
290
    // TODO Auto-generated method stub
291
 
292
  }
293
 
294
  /* (non-Javadoc)
295
   * @see javax.sound.midi.Sequencer#setMasterSyncMode(javax.sound.midi.Sequencer.SyncMode)
296
   */
297
  public void setMasterSyncMode(SyncMode sync)
298
  {
299
    // TODO Auto-generated method stub
300
 
301
  }
302
 
303
  /* (non-Javadoc)
304
   * @see javax.sound.midi.Sequencer#getMasterSyncMode()
305
   */
306
  public SyncMode getMasterSyncMode()
307
  {
308
    // TODO Auto-generated method stub
309
    return null;
310
  }
311
 
312
  /* (non-Javadoc)
313
   * @see javax.sound.midi.Sequencer#getMasterSyncModes()
314
   */
315
  public SyncMode[] getMasterSyncModes()
316
  {
317
    // TODO Auto-generated method stub
318
    return null;
319
  }
320
 
321
  /* (non-Javadoc)
322
   * @see javax.sound.midi.Sequencer#setSlaveSyncMode(javax.sound.midi.Sequencer.SyncMode)
323
   */
324
  public void setSlaveSyncMode(SyncMode sync)
325
  {
326
    // TODO Auto-generated method stub
327
 
328
  }
329
 
330
  /* (non-Javadoc)
331
   * @see javax.sound.midi.Sequencer#getSlaveSyncMode()
332
   */
333
  public SyncMode getSlaveSyncMode()
334
  {
335
    // TODO Auto-generated method stub
336
    return null;
337
  }
338
 
339
  /* (non-Javadoc)
340
   * @see javax.sound.midi.Sequencer#getSlaveSyncModes()
341
   */
342
  public SyncMode[] getSlaveSyncModes()
343
  {
344
    // TODO Auto-generated method stub
345
    return null;
346
  }
347
 
348
  /* (non-Javadoc)
349
   * @see javax.sound.midi.Sequencer#setTrackMute(int, boolean)
350
   */
351
  public void setTrackMute(int track, boolean mute)
352
  {
353
    // TODO Auto-generated method stub
354
 
355
  }
356
 
357
  /* (non-Javadoc)
358
   * @see javax.sound.midi.Sequencer#getTrackMute(int)
359
   */
360
  public boolean getTrackMute(int track)
361
  {
362
    // TODO Auto-generated method stub
363
    return false;
364
  }
365
 
366
  /* (non-Javadoc)
367
   * @see javax.sound.midi.Sequencer#setTrackSolo(int, boolean)
368
   */
369
  public void setTrackSolo(int track, boolean solo)
370
  {
371
    // TODO Auto-generated method stub
372
 
373
  }
374
 
375
  /* (non-Javadoc)
376
   * @see javax.sound.midi.Sequencer#getTrackSolo(int)
377
   */
378
  public boolean getTrackSolo(int track)
379
  {
380
    // TODO Auto-generated method stub
381
    return false;
382
  }
383
 
384
  /* (non-Javadoc)
385
   * @see javax.sound.midi.Sequencer#addMetaEventListener(javax.sound.midi.MetaEventListener)
386
   */
387
  public boolean addMetaEventListener(MetaEventListener listener)
388
  {
389
    // TODO Auto-generated method stub
390
    return false;
391
  }
392
 
393
  /* (non-Javadoc)
394
   * @see javax.sound.midi.Sequencer#removeMetaEventListener(javax.sound.midi.MetaEventListener)
395
   */
396
  public void removeMetaEventListener(MetaEventListener listener)
397
  {
398
    // TODO Auto-generated method stub
399
 
400
  }
401
 
402
  /* (non-Javadoc)
403
   * @see javax.sound.midi.Sequencer#addControllerEventListener(javax.sound.midi.ControllerEventListener, int[])
404
   */
405
  public int[] addControllerEventListener(ControllerEventListener listener,
406
                                          int[] controllers)
407
  {
408
    // TODO Auto-generated method stub
409
    return null;
410
  }
411
 
412
  /* (non-Javadoc)
413
   * @see javax.sound.midi.Sequencer#removeControllerEventListener(javax.sound.midi.ControllerEventListener, int[])
414
   */
415
  public int[] removeControllerEventListener(ControllerEventListener listener,
416
                                             int[] controllers)
417
  {
418
    // TODO Auto-generated method stub
419
    return null;
420
  }
421
 
422
  /* (non-Javadoc)
423
   * @see javax.sound.midi.MidiDevice#getDeviceInfo()
424
   */
425
  public Info getDeviceInfo()
426
  {
427
    // TODO Auto-generated method stub
428
    return null;
429
  }
430
 
431
  /* (non-Javadoc)
432
   * @see javax.sound.midi.MidiDevice#open()
433
   */
434
  public void open() throws MidiUnavailableException
435
  {
436
    synchronized(this)
437
    {
438
      // Check to see if we're open already.
439
      if (nativeState != 0)
440
        return;
441
 
442
      nativeState = open_();
443
    }
444
  }
445
 
446
  /**
447
   * Allocate the native state object, and open the sequencer.
448
   *
449
   * @return a long representation of a pointer to the nativeState.
450
   */
451
  private native long open_();
452
 
453
  /**
454
   * Close the sequencer and free the native state object.
455
   */
456
  private native void close_(long nativeState);
457
 
458
  /* (non-Javadoc)
459
   * @see javax.sound.midi.MidiDevice#close()
460
   */
461
  public void close()
462
  {
463
    synchronized(this)
464
    {
465
      close_(nativeState);
466
      nativeState = 0;
467
    }
468
  }
469
 
470
  /* (non-Javadoc)
471
   * @see javax.sound.midi.MidiDevice#isOpen()
472
   */
473
  public boolean isOpen()
474
  {
475
    synchronized(this)
476
    {
477
      return (nativeState != 0);
478
    }
479
  }
480
 
481
  /* (non-Javadoc)
482
   * @see javax.sound.midi.MidiDevice#getMaxReceivers()
483
   */
484
  public int getMaxReceivers()
485
  {
486
    return -1;
487
  }
488
 
489
  /* (non-Javadoc)
490
   * @see javax.sound.midi.MidiDevice#getMaxTransmitters()
491
   */
492
  public int getMaxTransmitters()
493
  {
494
    return -1;
495
  }
496
 
497
  /* (non-Javadoc)
498
   * @see javax.sound.midi.MidiDevice#getReceiver()
499
   */
500
  public Receiver getReceiver() throws MidiUnavailableException
501
  {
502
    // TODO Auto-generated method stub
503
    return null;
504
  }
505
 
506
  /* (non-Javadoc)
507
   * @see javax.sound.midi.MidiDevice#getTransmitter()
508
   */
509
  public Transmitter getTransmitter() throws MidiUnavailableException
510
  {
511
    // TODO Auto-generated method stub
512
    return null;
513
  }
514
 
515
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.