~teemu-heinamaki/ubuntu/maverick/tuxguitar/merge-from-debian

« back to all changes in this revision

Viewing changes to TuxGuitar/src/org/herac/tuxguitar/player/base/MidiTransmitter.java

  • Committer: Bazaar Package Importer
  • Author(s): Philippe Coval
  • Date: 2009-04-25 19:49:27 UTC
  • mfrom: (1.1.3 upstream) (2.1.7 jaunty)
  • Revision ID: james.westby@ubuntu.com-20090425194927-pblqed0zxp0pmyeq
Tags: 1.1-1
* New Upstream Release (Closes: #489859) (LP: #366476)
* Merged patch : tuxguitar_1.0.dak-1ubuntu1.patch
* debian/README.txt
  - suggests to install tuxguitar-jsa

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.herac.tuxguitar.player.base;
 
2
 
 
3
import java.util.ArrayList;
 
4
import java.util.List;
 
5
 
 
6
public class MidiTransmitter {
 
7
        
 
8
        private List receivers;
 
9
        
 
10
        public MidiTransmitter(){
 
11
                this.receivers = new ArrayList();
 
12
        }
 
13
        
 
14
        public void sendSystemReset() throws MidiPlayerException {
 
15
                for( int i = 0 ; i < this.receivers.size() ; i ++ ){
 
16
                        MidiReceiverItem receiver = (MidiReceiverItem) this.receivers.get( i );
 
17
                        receiver.getReceiver().sendSystemReset();
 
18
                }
 
19
        }
 
20
        
 
21
        public void sendAllNotesOff() throws MidiPlayerException {
 
22
                for( int i = 0 ; i < this.receivers.size() ; i ++ ){
 
23
                        MidiReceiverItem receiver = (MidiReceiverItem) this.receivers.get( i );
 
24
                        receiver.getReceiver().sendAllNotesOff();
 
25
                }
 
26
        }
 
27
        
 
28
        public void sendNoteOn(int channel, int key, int velocity) throws MidiPlayerException {
 
29
                for( int i = 0 ; i < this.receivers.size() ; i ++ ){
 
30
                        MidiReceiverItem receiver = (MidiReceiverItem) this.receivers.get( i );
 
31
                        receiver.getReceiver().sendNoteOn(channel, key, velocity);
 
32
                }
 
33
        }
 
34
        
 
35
        public void sendNoteOff(int channel, int key, int velocity) throws MidiPlayerException {
 
36
                for( int i = 0 ; i < this.receivers.size() ; i ++ ){
 
37
                        MidiReceiverItem receiver = (MidiReceiverItem) this.receivers.get( i );
 
38
                        receiver.getReceiver().sendNoteOff(channel, key, velocity);
 
39
                }
 
40
        }
 
41
        
 
42
        public void sendProgramChange(int channel, int value) throws MidiPlayerException {
 
43
                for( int i = 0 ; i < this.receivers.size() ; i ++ ){
 
44
                        MidiReceiverItem receiver = (MidiReceiverItem) this.receivers.get( i );
 
45
                        receiver.getReceiver().sendProgramChange(channel, value);
 
46
                }
 
47
        }
 
48
        
 
49
        public void sendControlChange(int channel, int controller, int value) throws MidiPlayerException {
 
50
                for( int i = 0 ; i < this.receivers.size() ; i ++ ){
 
51
                        MidiReceiverItem receiver = (MidiReceiverItem) this.receivers.get( i );
 
52
                        receiver.getReceiver().sendControlChange(channel, controller, value);
 
53
                }
 
54
        }
 
55
        
 
56
        public void sendPitchBend(int channel, int value) throws MidiPlayerException {
 
57
                for( int i = 0 ; i < this.receivers.size() ; i ++ ){
 
58
                        MidiReceiverItem receiver = (MidiReceiverItem) this.receivers.get( i );
 
59
                        receiver.getReceiver().sendPitchBend(channel, value);
 
60
                }
 
61
        }
 
62
        
 
63
        public void addReceiver(String id, MidiReceiver receiver){
 
64
                MidiReceiverItem item = getReceiver( id );
 
65
                if( item == null ){
 
66
                        this.receivers.add( new MidiReceiverItem( id , receiver ) );
 
67
                }
 
68
        }
 
69
        
 
70
        public void removeReceiver(String id){
 
71
                MidiReceiverItem item = getReceiver( id );
 
72
                if( item != null ){
 
73
                        this.receivers.remove( item );
 
74
                }
 
75
        }
 
76
        
 
77
        private MidiReceiverItem getReceiver(String id){
 
78
                if( id != null ){
 
79
                        for( int i = 0 ; i < this.receivers.size() ; i ++ ){
 
80
                                MidiReceiverItem receiver = (MidiReceiverItem) this.receivers.get( i );
 
81
                                if( receiver.getId() != null && receiver.getId().equals( id ) ){
 
82
                                        return receiver;
 
83
                                }
 
84
                        }
 
85
                }
 
86
                return null;
 
87
        }
 
88
        
 
89
        private class MidiReceiverItem {
 
90
                private String id;
 
91
                private MidiReceiver receiver;
 
92
                
 
93
                public MidiReceiverItem(String id, MidiReceiver receiver){
 
94
                        this.id = id;
 
95
                        this.receiver = receiver;
 
96
                }
 
97
                
 
98
                public String getId() {
 
99
                        return this.id;
 
100
                }
 
101
                
 
102
                public MidiReceiver getReceiver() {
 
103
                        return this.receiver;
 
104
                }
 
105
        }
 
106
}