IsSoundbankSupported.java revision 829:b06c29386f63
1/*
2 * Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.  Sun designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Sun in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25
26/* @test
27   @summary Test SoftSynthesizer isSoundbankSupported method */
28
29import javax.sound.midi.Instrument;
30import javax.sound.midi.MidiDevice;
31import javax.sound.midi.MidiUnavailableException;
32import javax.sound.midi.Patch;
33import javax.sound.midi.Soundbank;
34import javax.sound.midi.SoundbankResource;
35import javax.sound.sampled.*;
36import javax.sound.midi.MidiDevice.Info;
37
38import com.sun.media.sound.*;
39
40public class IsSoundbankSupported {
41
42    private static void assertEquals(Object a, Object b) throws Exception
43    {
44        if(!a.equals(b))
45            throw new RuntimeException("assertEquals fails!");
46    }
47
48    private static void assertTrue(boolean value) throws Exception
49    {
50        if(!value)
51            throw new RuntimeException("assertTrue fails!");
52    }
53
54    public static void main(String[] args) throws Exception {
55        AudioSynthesizer synth = new SoftSynthesizer();
56        synth.openStream(null, null);
57        SimpleSoundbank sbk = new SimpleSoundbank();
58        SimpleInstrument ins = new SimpleInstrument();
59        sbk.addInstrument(ins);
60        assertTrue(synth.isSoundbankSupported(sbk));
61        Soundbank dummysbk = new Soundbank()
62        {
63            public String getName() {
64                return null;
65            }
66            public String getVersion() {
67                return null;
68            }
69            public String getVendor() {
70                return null;
71            }
72            public String getDescription() {
73                return null;
74            }
75            public SoundbankResource[] getResources() {
76                return null;
77            }
78            public Instrument[] getInstruments() {
79                Instrument ins = new Instrument(null, null, null, null)
80                {
81                    public Object getData() {
82                        return null;
83                    }
84                };
85                return new Instrument[] {ins};
86            }
87            public Instrument getInstrument(Patch patch) {
88                return null;
89            }
90        };
91        assertTrue(!synth.isSoundbankSupported(dummysbk));
92        synth.close();
93
94    }
95}
96