A Java library for reading gbs files and reading / manipulating the tags.
GBS-files are sound files containing ripped chiptune music from Game Boy and Game Boy Colour games. GBS stands for Game Boy Sound System.
- ✔️ 100% Java (Java 8) ☕
- ✔️ Supports UTF-8 encoding in the tags!
- Implements
Comparable
for sorting out of the box!
Gbs gbsfile = new GbsFile("/tmp/supermarioland.gbs");
Tag tag = gbsfile.getTag();
System.out.println("Version number: " + tag.getVersionNumber());
System.out.println("This gbs file contains: " + tag.getNumberOfSongs() + " songs");
System.out.println("The first one is no. " + tag.getFirstSong());
System.out.println("Author:\t" + tag.getAuthor());
System.out.println("Title:\t" + tag.getTitle());
System.out.println("Copyright:\t" + tag.getCopyright());
gbsfile.save();
Gbs gbsfile = new GbsFile("/tmp/supermarioland.gbs");
SimpleGbsTag tag = gbsfile.getTag();
tag.setAuthor("Koji Kondo");
tag.setCopyright("2000 Nintendo");
tag.setTitle("Wario Land 5");
List<ReadOnlySimpleGbsTag> myTags = new ArrayList<>();
myTags.add(superMarioLand);
myTags.add(warioLand3);
myTags.add(donkeyKongLand);
myTags.sort(null); // That's it! :)
This is a Maven project.
To build simply run
mvn install
To run the tests run
mvn test
For command-line or GUI programs see gbstag and jbstag
There are a number of interfaces included for the GbsTag
class.
Tag
- read/write all tags. Reads low-level tagsLowLevel
- read only, low-level tagsReadOnlyGbsTag
- read only, all tagsReadOnlySimpleGbsTag
- read only author, title and copyrightSimpleGbsTag
- read/write author, title and copyright
Please refer to the Javadocs provided for further details.
LGPL v2.1 only
See COPYING
Further reading:
- Image by Flappiefh (2013) from Wikimedia Commons. Creative Commons Attribution-Share-Alike 3.0 Unported licence.