Re: Soundfont Import program in jOrgan

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Soundfont Import program in jOrgan

jbeach2646
Awhile ago, someone, (perhaps, Aaron Laws?) provided a Soundfont import program which he had written in order to be able to import Soundfonts in jOrgan.  My understanding, several years ago, was that the ctloader.dll file from Creative Labs was the reason that jOrgan could not import Soundfonts into jOrgan with a Creative Sound (source) disposition.   Since this was and is the
case, I have always used the Soundfont Bank Manager application to load Soundfonts into RAM bank numbers and used them with a jOrgan-Creative Sound disposition.   However, I still have
the SoundfontImport file that Aaron wrote.  My question is,  is this file supposed to be added to the Soundfont.jar file in the jOrgan folder----by editing the Soundfont.jar file?  On opening the Soundfont.jar file with Notepad to edit, I see the portion at the very bottom of the file which appears to be the section that would be redacted and replaced by the SoundfontImport file.  Is this correct and what is the specific point at which the insert is made in the Soundfont.jar file?
 
Also, I have recently finished adding release samples to the soundfonts of a large, homemade disposition.  While Fluidsynth has no problem at all playing them, Creative Sound has severe limitations with the release samples.  I don’t know why this is the case, but I don’t believe there is a remedy.
Thanks.
John Beach

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|

Re: Soundfont Import program in jOrgan

Aaron Laws
On Wed, Nov 1, 2017 at 7:31 AM, John Beach <[hidden email]> wrote:
Awhile ago, someone, (perhaps, Aaron Laws?) provided a Soundfont import program which he had written in order to be able to import Soundfonts in jOrgan.  My understanding, several years ago, was that the ctloader.dll file from Creative Labs was the reason that jOrgan could not import Soundfonts into jOrgan with a Creative Sound (source) disposition.   Since this was and is the
case, I have always used the Soundfont Bank Manager application to load Soundfonts into RAM bank numbers and used them with a jOrgan-Creative Sound disposition.   However, I still have
the SoundfontImport file that Aaron wrote.  My question is,  is this file supposed to be added to the Soundfont.jar file in the jOrgan folder----by editing the Soundfont.jar file?  On opening the Soundfont.jar file with Notepad to edit, I see the portion at the very bottom of the file which appears to be the section that would be redacted and replaced by the SoundfontImport file.  Is this correct and what is the specific point at which the insert is made in the Soundfont.jar file?
 
Also, I have recently finished adding release samples to the soundfonts of a large, homemade disposition.  While Fluidsynth has no problem at all playing them, Creative Sound has severe limitations with the release samples.  I don’t know why this is the case, but I don’t believe there is a remedy.
Thanks.
John Beach

I don't think I wrote a soundfont import program, but if you could provide more details, perhaps I can be persuaded to remember.

You opened a jar file with notepad? Never heard of that one ;-) To replace something in a jar file, the most straightforward procedure would be to un-jar it into some directory, add whatever you like into that directory, then jar it back.

Congratulations on adding release samples! That's a soundfont, not a sfz?

In Christ,
Aaron Laws 

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|

Re: Soundfont Import program in jOrgan

John Reimer
Administrator
Aaron Laws wrote
> Congratulations on adding release samples!

John B,

Yes! As you have had success, and it's a long time since the procedure was
explained to users, can you please share with us the steps you used and the
possible pitfalls?

John Reimer



--
Sent from: http://jorgan.999862.n4.nabble.com/jOrgan-User-f999863.html

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|

Re: Soundfont Release samples

jbeach2646
In reply to this post by Aaron Laws
As you all know, I make my own dispositions and generate my own sounds.  So, I record everything from start to finish with Audacity.   I use four second samples for the auto-looped, steady state of the instrument.  I take the recorded release tail with 4 to 6 complete cycles of the full-volume end just because key-release, leaving about 1/16th inch of space at the beginning of the release sample.  The tails are, generally, one to two seconds in length.  On importing into Polyphone, I reduce the sample volume to 10% (Tools>Sample>Volume Change), set the root key (84)  and cents (0) and in the loop counter I leave “start” empty and set the “end to” 10.  In the instrument pool,  I create a Release instrument with the release sample and I set the Loop Playback to the loop icon with the red tail to the right side.   I set the Global attack at .001  and I set the Global Release at .8.   I bind the release instrument to the Instrument of the same name (Flute, Diapason, etc.) and I set the release for the footage of the stop as per  Paul Stratman’s diagram for release settings.  
 
A release sample has the sound of a “plucked string” in the Instrument pool when the key is released.  You don’t want this “pluck” to be noticeable in the Preset Pool when the preset is played.
That is why the setting of 10% Volume Change in the Sample Pool.  You will hear the “pluck” in the Instrument Pool, but you will not hear it in the Preset.  The release is more noticeable with reverb when played in Polyphone in the Preset.  However, in normal playing of the organ, it is not something that is, particularly, noticeable, due to the normal flow of music.  I am pleased with it, but I really wanted to see if Fluidsynth can handle it and it has no trouble. 
 
John Beach
 
As far as the Soundfont Import file goes, here is the file content.
 
/*
* jOrgan - Java Virtual Organ
* Copyright (C) 2003 Sven Meier
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
package jorgan.soundfont.gui.imports;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
 
import javax.swing.JComponent;
 
import jorgan.disposition.Element;
import jorgan.disposition.Rank;
import jorgan.disposition.Stop;
import jorgan.importer.gui.Import;
import jorgan.riff.RiffChunk;
import jorgan.riff.RiffFormatException;
import jorgan.soundfont.Preset;
import jorgan.soundfont.SoundfontReader;
import jorgan.swing.wizard.AbstractPage;
import jorgan.swing.wizard.Page;
import bias.Configuration;
import bias.swing.MessageBox;
 
/**
* An {@link Import} from a SoundFont.
*/
public class SoundFontImport implements Import {
 
    static Configuration config = Configuration.getRoot().get(
            SoundFontImport.class);
 
    private OptionsPanel panel = new OptionsPanel();
 
    private String name;
 
    private String description;
 
    private List<Element> elements;
 
    public SoundFontImport() {
        config.read(this);
    }
 
    @Override
    public List<Page> getPages() {
        return Collections.<Page> singletonList(new OptionsPage());
    }
 
    @Override
    public String getName() {
        return name;
    }
 
    @Override
    public String getDescription() {
        return description;
    }
 
    public void setDescription(String description) {
        this.description = description;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public List<Element> getElements() {
        return elements;
    }
 
    private void showMessage(String key, Object... args) {
        MessageBox box = SoundFontImport.config.get(key).read(
                new MessageBox(MessageBox.OPTIONS_OK));
        box.show(panel, args);
    }
 
    /**
     * Read ranks from the given soundfont file.
     *
     * @param file
     *            file to read from
     * @return list of ranks
     * @throws IOException
     * @throws RiffFormatException
     */
    private Set<Rank> readRanks(File file, int bank) throws IOException,
            RiffFormatException {
 
        Set<Rank> ranks = new HashSet<Rank>();
 
        InputStream input = null;
        try {
            input = new FileInputStream(file);
 
            RiffChunk riffChunk = new SoundfontReader(input).read();
 
            List<Preset> presets = SoundfontReader.getPresets(riffChunk);
            Collections.sort(presets);
            for (int p = 0; p < presets.size(); p++) {
                Preset preset = presets.get(p);
                if (preset.getBank() != bank) continue;
                Rank rank = new Rank();
                rank.setName(preset.getName());
                rank.setProgram(preset.getProgram());
                rank.setBank(bank);
                if (!this.panel.getTouchSensitive()) {
                    rank.setVelocity(100);
                }
                ranks.add(rank);
            }
        } finally {
            if (input != null) {
                input.close();
            }
        }
 
        return ranks;
    }
 
    private class OptionsPage extends AbstractPage {
 
        @Override
        public String getDescription() {
            return SoundFontImport.this.getDescription();
        }
 
        @Override
        protected JComponent getComponentImpl() {
            return panel;
        }
 
        @Override
        public boolean allowsNext() {
            File file = panel.getSelectedFile();
 
            return file != null && file.exists() && file.isFile();
        }
 
        @Override
        public boolean leavingToPrevious() {
            elements = null;
 
            return true;
        }
 
        @Override
        public boolean leavingToNext() {
 
            File file = panel.getSelectedFile();
            try {
                List<Element> elements = new ArrayList<Element>();
 
                Set<Rank> ranks = readRanks(file, panel.getBank());
                elements.addAll(ranks);
 
                if (panel.getCreateStops()) {
                    for (Rank rank : ranks) {
                        Stop stop = new Stop();
                        stop.setName(rank.getName());
                        stop.reference(rank);
                        elements.add(stop);
                    }
                }
 
                SoundFontImport.this.elements = elements;
            } catch (RiffFormatException ex) {
                showMessage("exception/invalid", file.getPath());
                return false;
            } catch (IOException ex) {
                showMessage("exception/general", file.getPath());
                return false;
            }
 
            return true;
        }
    }
}

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|

Re: Soundfont Release samples

Aaron Laws
On Wed, Nov 1, 2017 at 11:03 PM, John Beach <[hidden email]> wrote:
As you all know, I make my own dispositions and generate my own sounds.  So, I record everything from start to finish with Audacity.   I use four second samples for the auto-looped, steady state of the instrument.  I take the recorded release tail with 4 to 6 complete cycles of the full-volume end just because key-release, leaving about 1/16th inch of space at the beginning of the release sample.  The tails are, generally, one to two seconds in length.  On importing into Polyphone, I reduce the sample volume to 10% (Tools>Sample>Volume Change), set the root key (84)  and cents (0) and in the loop counter I leave “start” empty and set the “end to” 10.  In the instrument pool,  I create a Release instrument with the release sample and I set the Loop Playback to the loop icon with the red tail to the right side.   I set the Global attack at .001  and I set the Global Release at .8.   I bind the release instrument to the Instrument of the same name (Flute, Diapason, etc.) and I set the release for the footage of the stop as per  Paul Stratman’s diagram for release settings.  
 
A release sample has the sound of a “plucked string” in the Instrument pool when the key is released.  You don’t want this “pluck” to be noticeable in the Preset Pool when the preset is played.
That is why the setting of 10% Volume Change in the Sample Pool.  You will hear the “pluck” in the Instrument Pool, but you will not hear it in the Preset.  The release is more noticeable with reverb when played in Polyphone in the Preset.  However, in normal playing of the organ, it is not something that is, particularly, noticeable, due to the normal flow of music.  I am pleased with it, but I really wanted to see if Fluidsynth can handle it and it has no trouble. 
 
John Beach
 
As far as the Soundfont Import file goes, here is the file content.
 
/*
* jOrgan - Java Virtual Organ
* Copyright (C) 2003 Sven Meier
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
package jorgan.soundfont.gui.imports;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
 
import javax.swing.JComponent;
 
import jorgan.disposition.Element;
import jorgan.disposition.Rank;
import jorgan.disposition.Stop;
import jorgan.importer.gui.Import;
import jorgan.riff.RiffChunk;
import jorgan.riff.RiffFormatException;
import jorgan.soundfont.Preset;
import jorgan.soundfont.SoundfontReader;
import jorgan.swing.wizard.AbstractPage;
import jorgan.swing.wizard.Page;
import bias.Configuration;
import bias.swing.MessageBox;
 
/**
* An {@link Import} from a SoundFont.
*/
public class SoundFontImport implements Import {
 
    static Configuration config = Configuration.getRoot().get(
            SoundFontImport.class);
 
    private OptionsPanel panel = new OptionsPanel();
 
    private String name;
 
    private String description;
 
    private List<Element> elements;
 
    public SoundFontImport() {
        config.read(this);
    }
 
    @Override
    public List<Page> getPages() {
        return Collections.<Page> singletonList(new OptionsPage());
    }
 
    @Override
    public String getName() {
        return name;
    }
 
    @Override
    public String getDescription() {
        return description;
    }
 
    public void setDescription(String description) {
        this.description = description;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public List<Element> getElements() {
        return elements;
    }
 
    private void showMessage(String key, Object... args) {
        MessageBox box = SoundFontImport.config.get(key).read(
                new MessageBox(MessageBox.OPTIONS_OK));
        box.show(panel, args);
    }
 
    /**
     * Read ranks from the given soundfont file.
     *
     * @param file
     *            file to read from
     * @return list of ranks
     * @throws IOException
     * @throws RiffFormatException
     */
    private Set<Rank> readRanks(File file, int bank) throws IOException,
            RiffFormatException {
 
        Set<Rank> ranks = new HashSet<Rank>();
 
        InputStream input = null;
        try {
            input = new FileInputStream(file);
 
            RiffChunk riffChunk = new SoundfontReader(input).read();
 
            List<Preset> presets = SoundfontReader.getPresets(riffChunk);
            Collections.sort(presets);
            for (int p = 0; p < presets.size(); p++) {
                Preset preset = presets.get(p);
                if (preset.getBank() != bank) continue;
                Rank rank = new Rank();
                rank.setName(preset.getName());
                rank.setProgram(preset.getProgram());
                rank.setBank(bank);
                if (!this.panel.getTouchSensitive()) {
                    rank.setVelocity(100);
                }
                ranks.add(rank);
            }
        } finally {
            if (input != null) {
                input.close();
            }
        }
 
        return ranks;
    }
 
    private class OptionsPage extends AbstractPage {
 
        @Override
        public String getDescription() {
            return SoundFontImport.this.getDescription();
        }
 
        @Override
        protected JComponent getComponentImpl() {
            return panel;
        }
 
        @Override
        public boolean allowsNext() {
            File file = panel.getSelectedFile();
 
            return file != null && file.exists() && file.isFile();
        }
 
        @Override
        public boolean leavingToPrevious() {
            elements = null;
 
            return true;
        }
 
        @Override
        public boolean leavingToNext() {
 
            File file = panel.getSelectedFile();
            try {
                List<Element> elements = new ArrayList<Element>();
 
                Set<Rank> ranks = readRanks(file, panel.getBank());
                elements.addAll(ranks);
 
                if (panel.getCreateStops()) {
                    for (Rank rank : ranks) {
                        Stop stop = new Stop();
                        stop.setName(rank.getName());
                        stop.reference(rank);
                        elements.add(stop);
                    }
                }
 
                SoundFontImport.this.elements = elements;
            } catch (RiffFormatException ex) {
                showMessage("exception/invalid", file.getPath());
                return false;
            } catch (IOException ex) {
                showMessage("exception/general", file.getPath());
                return false;
            }
 
            return true;
        }
    }
}

Excellent work! Definitely not my code. If I had to guess, I would say Sven's.

In Christ,
Aaron Laws

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|

Re: Soundfont Release samples

jOrgan - User mailing list
In reply to this post by jbeach2646
Perhaps there is hope yet for my desire.

I need several G-MIDI soundfonts translated to SF2 or something suitable to play on MidiTzer or jOrgan. Bruse Milesand I had come up with something awhile back, but he took the secret of how we did it.

I play G-MIDI files from my Roland SoundCanvas from a dedicated 4th MIDI keyboard, but lost our files when I stepped away from Organ several years. Today I cannot figure how to play G-Midi sounds of orchestral instruments (especially brass for enchamade and violin / viola / oboe and some of the other orchestral instruments as solos or obbliagatoes  accompanied by organ.

HELP!

pk
StentorVox.com


On Wednesday, November 1, 2017, 8:03:45 PM PDT, John Beach <[hidden email]> wrote:


As you all know, I make my own dispositions and generate my own sounds.  So, I record everything from start to finish with Audacity.   I use four second samples for the auto-looped, steady state of the instrument.  I take the recorded release tail with 4 to 6 complete cycles of the full-volume end just because key-release, leaving about 1/16th inch of space at the beginning of the release sample.  The tails are, generally, one to two seconds in length.  On importing into Polyphone, I reduce the sample volume to 10% (Tools>Sample>Volume Change), set the root key (84)  and cents (0) and in the loop counter I leave “start” empty and set the “end to” 10.  In the instrument pool,  I create a Release instrument with the release sample and I set the Loop Playback to the loop icon with the red tail to the right side.   I set the Global attack at .001  and I set the Global Release at .8.   I bind the release instrument to the Instrument of the same name (Flute, Diapason, etc.) and I set the release for the footage of the stop as per  Paul Stratman’s diagram for release settings.  
 
A release sample has the sound of a “plucked string” in the Instrument pool when the key is released.  You don’t want this “pluck” to be noticeable in the Preset Pool when the preset is played.
That is why the setting of 10% Volume Change in the Sample Pool.  You will hear the “pluck” in the Instrument Pool, but you will not hear it in the Preset.  The release is more noticeable with reverb when played in Polyphone in the Preset.  However, in normal playing of the organ, it is not something that is, particularly, noticeable, due to the normal flow of music.  I am pleased with it, but I really wanted to see if Fluidsynth can handle it and it has no trouble. 
 
John Beach
 
As far as the Soundfont Import file goes, here is the file content.
 
/*
* jOrgan - Java Virtual Organ
* Copyright (C) 2003 Sven Meier
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
package jorgan.soundfont.gui.imports;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
 
import javax.swing.JComponent;
 
import jorgan.disposition.Element;
import jorgan.disposition.Rank;
import jorgan.disposition.Stop;
import jorgan.importer.gui.Import;
import jorgan.riff.RiffChunk;
import jorgan.riff.RiffFormatException;
import jorgan.soundfont.Preset;
import jorgan.soundfont.SoundfontReader;
import jorgan.swing.wizard.AbstractPage;
import jorgan.swing.wizard.Page;
import bias.Configuration;
import bias.swing.MessageBox;
 
/**
* An {@link Import} from a SoundFont.
*/
public class SoundFontImport implements Import {
 
    static Configuration config = Configuration.getRoot().get(
            SoundFontImport.class);
 
    private OptionsPanel panel = new OptionsPanel();
 
    private String name;
 
    private String description;
 
    private List<Element> elements;
 
    public SoundFontImport() {
        config.read(this);
    }
 
    @Override
    public List<Page> getPages() {
        return Collections.<Page> singletonList(new OptionsPage());
    }
 
    @Override
    public String getName() {
        return name;
    }
 
    @Override
    public String getDescription() {
        return description;
    }
 
    public void setDescription(String description) {
        this.description = description;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public List<Element> getElements() {
        return elements;
    }
 
    private void showMessage(String key, Object... args) {
        MessageBox box = SoundFontImport.config.get(key).read(
                new MessageBox(MessageBox.OPTIONS_OK));
        box.show(panel, args);
    }
 
    /**
     * Read ranks from the given soundfont file.
     *
     * @param file
     *            file to read from
     * @return list of ranks
     * @throws IOException
     * @throws RiffFormatException
     */
    private Set<Rank> readRanks(File file, int bank) throws IOException,
            RiffFormatException {
 
        Set<Rank> ranks = new HashSet<Rank>();
 
        InputStream input = null;
        try {
            input = new FileInputStream(file);
 
            RiffChunk riffChunk = new SoundfontReader(input).read();
 
            List<Preset> presets = SoundfontReader.getPresets(riffChunk);
            Collections.sort(presets);
            for (int p = 0; p < presets.size(); p++) {
                Preset preset = presets.get(p);
                if (preset.getBank() != bank) continue;
                Rank rank = new Rank();
                rank.setName(preset.getName());
                rank.setProgram(preset.getProgram());
                rank.setBank(bank);
                if (!this.panel.getTouchSensitive()) {
                    rank.setVelocity(100);
                }
                ranks.add(rank);
            }
        } finally {
            if (input != null) {
                input.close();
            }
        }
 
        return ranks;
    }
 
    private class OptionsPage extends AbstractPage {
 
        @Override
        public String getDescription() {
            return SoundFontImport.this.getDescription();
        }
 
        @Override
        protected JComponent getComponentImpl() {
            return panel;
        }
 
        @Override
        public boolean allowsNext() {
            File file = panel.getSelectedFile();
 
            return file != null && file.exists() && file.isFile();
        }
 
        @Override
        public boolean leavingToPrevious() {
            elements = null;
 
            return true;
        }
 
        @Override
        public boolean leavingToNext() {
 
            File file = panel.getSelectedFile();
            try {
                List<Element> elements = new ArrayList<Element>();
 
                Set<Rank> ranks = readRanks(file, panel.getBank());
                elements.addAll(ranks);
 
                if (panel.getCreateStops()) {
                    for (Rank rank : ranks) {
                        Stop stop = new Stop();
                        stop.setName(rank.getName());
                        stop.reference(rank);
                        elements.add(stop);
                    }
                }
 
                SoundFontImport.this.elements = elements;
            } catch (RiffFormatException ex) {
                showMessage("exception/invalid", file.getPath());
                return false;
            } catch (IOException ex) {
                showMessage("exception/general", file.getPath());
                return false;
            }
 
            return true;
        }
    }
}
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|

Re: Soundfont Release samples

drwilx
StentorVox,

I can send you an old no longer used disposition that interfaced with a
sound canvas. Email me privately and I will send it along. I currently use a
Roland Integra 7 to supply orchestral sounds. I can send that disposition
along also if that would help you. Both Roland boxes are accessed similarly.

Regards,

Dennis



--
Sent from: http://jorgan.999862.n4.nabble.com/jOrgan-User-f999863.html

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user