summaryrefslogtreecommitdiff
path: root/tools/seq_compiler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tools/seq_compiler.cc')
-rw-r--r--tools/seq_compiler.cc28
1 files changed, 10 insertions, 18 deletions
diff --git a/tools/seq_compiler.cc b/tools/seq_compiler.cc
index ecb9908..069122a 100644
--- a/tools/seq_compiler.cc
+++ b/tools/seq_compiler.cc
@@ -633,30 +633,22 @@ void generate_gantt_html(const std::string& output_file,
// (seconds)
std::string convert_to_time(const std::string& value, float bpm) {
std::string val = value;
- bool is_beat = false;
- // Check for explicit 'b' suffix (beat)
- if (!val.empty() && val.back() == 'b') {
- is_beat = true;
- val.pop_back();
- }
- // Check for explicit 's' suffix (seconds)
- else if (!val.empty() && val.back() == 's') {
+ // Check for explicit 's' suffix (seconds) - return as-is
+ if (!val.empty() && val.back() == 's') {
val.pop_back();
- return val; // Already in seconds
- }
- // If no suffix and no decimal point, assume beats
- else if (val.find('.') == std::string::npos) {
- is_beat = true;
+ return val;
}
- if (is_beat) {
- float beat = std::stof(val);
- float time = beat * 60.0f / bpm;
- return std::to_string(time);
+ // Check for explicit 'b' suffix (beats) - strip and convert
+ if (!val.empty() && val.back() == 'b') {
+ val.pop_back();
}
- return val; // Return as-is (seconds)
+ // DEFAULT: All numbers (with or without 'b' suffix) are beats
+ float beat = std::stof(val);
+ float time = beat * 60.0f / bpm;
+ return std::to_string(time);
}
int main(int argc, char* argv[]) {