OSDN Git Service
(root)
/
midichordhelper
/
MIDIChordHelper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
新シーケンス作成画面に文字コード選択プルダウンを追加
[midichordhelper/MIDIChordHelper.git]
/
src
/
camidion
/
chordhelper
/
midieditor
/
Base64Dialog.java
diff --git
a/src/camidion/chordhelper/midieditor/Base64Dialog.java
b/src/camidion/chordhelper/midieditor/Base64Dialog.java
index
2e17dc0
..
63c9181
100644
(file)
--- a/
src/camidion/chordhelper/midieditor/Base64Dialog.java
+++ b/
src/camidion/chordhelper/midieditor/Base64Dialog.java
@@
-4,11
+4,13
@@
import java.awt.event.ActionEvent;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.charset.Charset;
import java.util.Base64;
import java.util.regex.Pattern;
import javax.sound.midi.InvalidMidiDataException;
import javax.sound.midi.MidiSystem;
import java.util.Base64;
import java.util.regex.Pattern;
import javax.sound.midi.InvalidMidiDataException;
import javax.sound.midi.MidiSystem;
+import javax.sound.midi.Sequence;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.Box;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.Box;
@@
-24,6
+26,7
@@
import javax.swing.event.DocumentListener;
import camidion.chordhelper.ButtonIcon;
import camidion.chordhelper.ChordHelperApplet;
import camidion.chordhelper.ButtonIcon;
import camidion.chordhelper.ChordHelperApplet;
+import camidion.chordhelper.music.MIDISpec;
/**
* Base64テキスト入力ダイアログ
/**
* Base64テキスト入力ダイアログ
@@
-54,7
+57,10
@@
public class Base64Dialog extends JDialog implements DocumentListener {
return -1;
}
try (InputStream in = new ByteArrayInputStream(midiData)) {
return -1;
}
try (InputStream in = new ByteArrayInputStream(midiData)) {
- int index = playlistTable.getModel().add(MidiSystem.getSequence(in), null);
+ Sequence sequence = MidiSystem.getSequence(in);
+ Charset charset = MIDISpec.getCharsetOf(sequence);
+ if( charset == null ) charset = Charset.defaultCharset();
+ int index = playlistTable.getModel().add(sequence, charset, null);
playlistTable.getSelectionModel().setSelectionInterval(index, index);
return index;
} catch( IOException|InvalidMidiDataException e ) {
playlistTable.getSelectionModel().setSelectionInterval(index, index);
return index;
} catch( IOException|InvalidMidiDataException e ) {