~ubuntu-branches/ubuntu/oneiric/tuxguitar/oneiric

« back to all changes in this revision

Viewing changes to TuxGuitar-midi/src/org/herac/tuxguitar/io/midi/MidiSongExporter.java

  • Committer: Bazaar Package Importer
  • Author(s): Philippe Coval
  • Date: 2008-06-19 00:30:30 UTC
  • mto: (5.1.2 sid)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20080619003030-h719szrhsngou7c6
Tags: upstream-1.0
ImportĀ upstreamĀ versionĀ 1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.herac.tuxguitar.io.midi;
 
2
 
 
3
import java.io.OutputStream;
 
4
 
 
5
import org.herac.tuxguitar.io.base.TGFileFormat;
 
6
import org.herac.tuxguitar.io.base.TGSongExporter;
 
7
import org.herac.tuxguitar.player.base.MidiSequenceParser;
 
8
import org.herac.tuxguitar.song.managers.TGSongManager;
 
9
import org.herac.tuxguitar.song.models.TGSong;
 
10
 
 
11
public class MidiSongExporter implements TGSongExporter{
 
12
        
 
13
        private MidiSettings settings;
 
14
        
 
15
        public String getExportName() {
 
16
                return "Midi";
 
17
        }
 
18
        
 
19
        public TGFileFormat getFileFormat() {
 
20
                return new TGFileFormat("Midi","*.mid;*.midi");
 
21
        }
 
22
        
 
23
        public boolean configure(boolean setDefaults) {
 
24
                this.settings = (setDefaults ? MidiSettings.getDefaults(): new MidiSettingsDialog().open() );
 
25
                return (this.settings != null);
 
26
        }
 
27
        
 
28
        public void exportSong(OutputStream stream, TGSong song) {
 
29
                TGSongManager manager = new TGSongManager();
 
30
                manager.setSong(song);
 
31
                MidiSequenceParser parser = new MidiSequenceParser(manager,MidiSequenceParser.DEFAULT_EXPORT_FLAGS,100,this.settings.getTranspose());
 
32
                MidiSequenceHandlerImpl sequence = new MidiSequenceHandlerImpl( (song.countTracks() + 1) , stream);
 
33
                parser.parse(sequence);
 
34
        }
 
35
}