@Override
    public MidiChannel[] getChannels() {
        ArrayList<MidiChannel> all = new ArrayList<MidiChannel>();
        if (theSynths.size() == 1)
            return theSynths.get(0).getChannels();
        else {
            for (Synthesizer s : theSynths) {
                MidiChannel[] temp = s.getChannels();
                for (MidiChannel m : temp)
                    all.add(m);
            }
        }
        MidiChannel[] ret = new MidiChannel[all.size()];
        for (int i = 0; i < all.size(); i++)
            ret[i] = all.get(i);
        return ret;
    }