From d8fb4403eeb1004d13c389fc4694d4e03eeecbec Mon Sep 17 00:00:00 2001 From: uvok Date: Sat, 12 Jul 2025 11:31:50 +0200 Subject: Add remaining fields and classes --- .../src/main/java/de/uvok/tuxguitar/Beat.java | 12 ++++++++++++ .../src/main/java/de/uvok/tuxguitar/Measure.java | 4 ++++ .../src/main/java/de/uvok/tuxguitar/Note.java | 4 ++++ .../src/main/java/de/uvok/tuxguitar/Song.java | 3 +++ .../java/de/uvok/tuxguitar/SongsterrInputStream.java | 4 ++-- .../src/main/java/de/uvok/tuxguitar/Tempo.java | 6 ++++++ .../src/main/java/de/uvok/tuxguitar/Text.java | 6 ++++++ .../test/java/de/uvok/tuxguitar/ApplicationTest.java | 17 ++++++++++++++++- 8 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 songsterr-reader/src/main/java/de/uvok/tuxguitar/Tempo.java create mode 100644 songsterr-reader/src/main/java/de/uvok/tuxguitar/Text.java diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Beat.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Beat.java index c784617..2de48e7 100644 --- a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Beat.java +++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Beat.java @@ -5,5 +5,17 @@ public class Beat { public boolean rest; public Note[] notes; public int[] duration; + public boolean dotted; + + public Tempo tempo; + public boolean beamStart; + public boolean beamStop; + + // maybe make enum + public String velocity; + + public int upStroke; + + public Text text; } diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Measure.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Measure.java index 8bdcfa2..35f3bb2 100644 --- a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Measure.java +++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Measure.java @@ -5,4 +5,8 @@ public class Measure { public int[] signature; public boolean rest; public Voice voices[]; + + public boolean repeatStart; + public int repeat; + public int[] alternateEnding; } diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Note.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Note.java index a431442..9e300be 100644 --- a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Note.java +++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Note.java @@ -6,4 +6,8 @@ public class Note { // or? public int string; public int fret; + + // ??? + public boolean hp; + public boolean grace; } diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Song.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Song.java index e2724e6..7c118e1 100644 --- a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Song.java +++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Song.java @@ -1,5 +1,8 @@ package de.uvok.tuxguitar; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +@JsonIgnoreProperties(ignoreUnknown = true) public class Song { public int strings; public Measure[] measures; diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java index c1f581c..dbdec61 100644 --- a/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java +++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/SongsterrInputStream.java @@ -23,11 +23,11 @@ public class SongsterrInputStream implements TGSongReader { public void read(TGSongReaderHandle arg0) throws TGFileFormatException { InputStream is = arg0.getInputStream(); try { - ObjectMapper om = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + ObjectMapper om = new ObjectMapper(); //.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); Song song = om.readValue(is, Song.class); System.out.println(song); } catch (IOException e) { - throw new TGFileFormatException(); + throw new TGFileFormatException(e); } } diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Tempo.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Tempo.java new file mode 100644 index 0000000..6453033 --- /dev/null +++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Tempo.java @@ -0,0 +1,6 @@ +package de.uvok.tuxguitar; + +public class Tempo { + public int type; + public int bpm; +} diff --git a/songsterr-reader/src/main/java/de/uvok/tuxguitar/Text.java b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Text.java new file mode 100644 index 0000000..e2fb02c --- /dev/null +++ b/songsterr-reader/src/main/java/de/uvok/tuxguitar/Text.java @@ -0,0 +1,6 @@ +package de.uvok.tuxguitar; + +public class Text { + public String text; + public int width; +} diff --git a/songsterr-reader/src/test/java/de/uvok/tuxguitar/ApplicationTest.java b/songsterr-reader/src/test/java/de/uvok/tuxguitar/ApplicationTest.java index d78bc76..e7041ab 100644 --- a/songsterr-reader/src/test/java/de/uvok/tuxguitar/ApplicationTest.java +++ b/songsterr-reader/src/test/java/de/uvok/tuxguitar/ApplicationTest.java @@ -4,10 +4,25 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertTrue; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; + +import org.herac.tuxguitar.io.base.TGSongReaderHandle; +import org.herac.tuxguitar.util.TGContext; + class ApplicationTest { @Test - void shouldAnswerWithTrue() { + void shouldAnswerWithTrue() throws IOException { + TGSongReaderHandle srh = new TGSongReaderHandle(); + try (InputStream buf = new FileInputStream("/home/andreas/development/TgSongsterrImport/ftb.json")) { + srh.setInputStream(buf); + SongsterrInputStream s = new SongsterrInputStream(); + s.read(srh); + } assertTrue(true); } } -- cgit v1.2.3