From d639fa7f6b2024dc141b64c2948d28b3110e93c5 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Fri, 18 Apr 2025 11:41:35 +0700 Subject: [PATCH] fix: some nbs songs not loading (layers issue) --- build-number.txt | 2 +- .../me/chayapak1/chomens_bot/song/NBSConverter.java | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/build-number.txt b/build-number.txt index 633e3dc2..8bfb8d67 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -2833 \ No newline at end of file +2855 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/song/NBSConverter.java b/src/main/java/me/chayapak1/chomens_bot/song/NBSConverter.java index 87a8dffc..1f4abe6a 100644 --- a/src/main/java/me/chayapak1/chomens_bot/song/NBSConverter.java +++ b/src/main/java/me/chayapak1/chomens_bot/song/NBSConverter.java @@ -185,7 +185,16 @@ public class NBSConverter implements Converter { final String stringLayerNames = layerNames.toString(); - final Song song = new Song(!songName.isBlank() ? songName : fileName, bot, songName, songAuthor, songOriginalAuthor, songDescription, stringLayerNames.substring(0, stringLayerNames.length() - 1), true); + final Song song = new Song( + !songName.isBlank() ? songName : fileName, + bot, + songName, + songAuthor, + songOriginalAuthor, + songDescription, + stringLayerNames.substring(0, Math.max(0, stringLayerNames.length() - 1)), + true + ); if (loop > 0) { song.loopPosition = getMilliTime(loopStartTick, tempo); // song.loopCount = maxLoopCount; @@ -255,7 +264,7 @@ public class NBSConverter implements Converter { (float) note.velocity * (float) layerVolume / 10000f, getMilliTime(note.tick, tempo), Byte.toUnsignedInt(note.panning), - Byte.toUnsignedInt(nbsLayers.get(note.layer).stereo), + nbsLayers.isEmpty() ? 100 : Byte.toUnsignedInt(nbsLayers.get(note.layer).stereo), isRainbowToggle ) );