120 } 121 122 @Override 123 public int getChannels() { 124 return 1; 125 } 126 127 @Override 128 public String getName() { 129 return getClass().getName(); 130 } 131 132 public Patch getPatch() { 133 return new Patch(0, 0); 134 } 135 136 @Override 137 public ModelOscillatorStream open(float samplerate) { 138 ModelAbstractOscillator oscs; 139 try { 140 oscs = this.getClass().newInstance(); 141 } catch (InstantiationException e) { 142 throw new IllegalArgumentException(e); 143 } catch (IllegalAccessException e) { 144 throw new IllegalArgumentException(e); 145 } 146 oscs.setSampleRate(samplerate); 147 oscs.init(); 148 return oscs; 149 } 150 151 public ModelPerformer getPerformer() { 152 // Create performer for my custom oscillirator 153 ModelPerformer performer = new ModelPerformer(); 154 performer.getOscillators().add(this); 155 return performer; 156 157 } 158 159 public ModelInstrument getInstrument() { 160 // Create Instrument object around my performer 161 SimpleInstrument ins = new SimpleInstrument(); 162 ins.setName(getName()); 163 ins.add(getPerformer()); | 120 } 121 122 @Override 123 public int getChannels() { 124 return 1; 125 } 126 127 @Override 128 public String getName() { 129 return getClass().getName(); 130 } 131 132 public Patch getPatch() { 133 return new Patch(0, 0); 134 } 135 136 @Override 137 public ModelOscillatorStream open(float samplerate) { 138 ModelAbstractOscillator oscs; 139 try { 140 oscs = this.getClass().getDeclaredConstructor().newInstance(); 141 } catch (ReflectiveOperationException e) { 142 throw new IllegalArgumentException(e); 143 } 144 oscs.setSampleRate(samplerate); 145 oscs.init(); 146 return oscs; 147 } 148 149 public ModelPerformer getPerformer() { 150 // Create performer for my custom oscillirator 151 ModelPerformer performer = new ModelPerformer(); 152 performer.getOscillators().add(this); 153 return performer; 154 155 } 156 157 public ModelInstrument getInstrument() { 158 // Create Instrument object around my performer 159 SimpleInstrument ins = new SimpleInstrument(); 160 ins.setName(getName()); 161 ins.add(getPerformer()); |