From 762ac25e845a96a16ede40af37aa02d65cfaf5a1 Mon Sep 17 00:00:00 2001 From: Kim Wittenburg Date: Fri, 25 Jul 2025 12:19:06 +0200 Subject: [PATCH] Fix end-of-line grammar The grammar previously used the undefined `line-break` sequence instead of `end-of-line`. --- The UltraStar File Format (Unversioned).md | 11 ++++++----- The UltraStar File Format (v1).md | 9 +++++---- The UltraStar File Format (v2).md | 8 ++++---- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/The UltraStar File Format (Unversioned).md b/The UltraStar File Format (Unversioned).md index 3b096bb..6c36931 100644 --- a/The UltraStar File Format (Unversioned).md +++ b/The UltraStar File Format (Unversioned).md @@ -100,7 +100,7 @@ Whitespace around key and value is ignored. ```abnf file-header = *( header-line / empty-line ) -header-line = hash *WSP header-key *WSP colon *WSP header-value *WSP line-break +header-line = hash *WSP header-key *WSP colon *WSP header-value *WSP end-of-line header-key = 1*header-char header-value = *( header-char / colon ) @@ -399,7 +399,7 @@ note = note-type WSP duration WSP pitch WSP note-text - line-break + end-of-line note-type = %x21-22 / %x24-7E ; Visible ASCII-characters except space and # start-beat = 1*DIGIT @@ -464,7 +464,7 @@ End-of-Phrase markers are indicated by a `-` character (hyphen/minus, `%x2D`). ```abnf end-of-phrase = %x2D ; - WSP start-beat - *WSP line-break + *WSP end-of-line ``` An end-of-phrase marker carries no musical information but indicates the end of a phrase in the song. @@ -482,7 +482,7 @@ A voice change (also referred to as a “player change”) is indicated by a `P` ```abnf voice-change = p voice-numer - *WSP line-break + *WSP end-of-line p = %x50 ; P voice-number = %x31 / %x32 ; 1 / 2 ``` @@ -515,7 +515,7 @@ When relative mode is enabled, the syntax of end-of-phrase markers changes: end-of-phrase =/ dash WSP start-beat WSP rel-offset - *WSP line-break + *WSP end-of-line rel-offset = 1*DIGIT ``` @@ -543,3 +543,4 @@ The `rel` value for a voice does not reset when a voice change is encountered. - 2025-03-07: First revision - 2025-04-22: Fixed section linking - 2025-05-23: Fix time unit for `#END` header +- 2025-07-25: Fix usage of `end-of-line` in grammar diff --git a/The UltraStar File Format (v1).md b/The UltraStar File Format (v1).md index 3b50a0c..b767556 100644 --- a/The UltraStar File Format (v1).md +++ b/The UltraStar File Format (v1).md @@ -98,7 +98,7 @@ Whitespace around key and value is ignored. ```abnf file-header = *( header-line / empty-line ) -header-line = hash *WSP header-key *WSP colon *WSP header-value *WSP line-break +header-line = hash *WSP header-key *WSP colon *WSP header-value *WSP end-of-line header-key = 1*header-char header-value = *( header-char / colon ) @@ -298,7 +298,7 @@ note = note-type WSP duration WSP pitch WSP note-text - line-break + end-of-line note-type = %x21-22 / %x24-7E ; Visible ASCII-characters except space and # start-beat = 1*DIGIT @@ -384,7 +384,7 @@ End-of-Phrase markers are indicated by a `-` character (hyphen/minus, `%x2D`). ```abnf end-of-phrase = %x2D ; - WSP start-beat - *WSP line-break + *WSP end-of-line ``` An end-of-phrase marker carries no musical information but indicates the end of a phrase in the song. @@ -402,7 +402,7 @@ A voice change (also referred to as a “player change”) is indicated by a `P` ```abnf voice-change = p voice-numer - *WSP line-break + *WSP end-of-line p = %x50 ; P voice-number = DIGIT ``` @@ -614,3 +614,4 @@ Examples: - 2025-04-22: Fixed section linking - 2025-05-20: Clarify handling of unknown note types - 2025-05-23: Fix time unit for `#END` header +- 2025-07-25: Fix usage of `end-of-line` in grammar diff --git a/The UltraStar File Format (v2).md b/The UltraStar File Format (v2).md index c983533..4a26625 100644 --- a/The UltraStar File Format (v2).md +++ b/The UltraStar File Format (v2).md @@ -97,7 +97,7 @@ Whitespace around key and value is ignored. ```abnf file-header = *( header-line / empty-line ) -header-line = hash *WSP header-key *WSP colon *WSP header-value *WSP line-break +header-line = hash *WSP header-key *WSP colon *WSP header-value *WSP end-of-line header-key = 1*header-char header-value = *( header-char / colon ) @@ -292,7 +292,7 @@ note = note-type WSP duration WSP pitch WSP note-text - line-break + end-of-line note-type = %x21-22 / %x24-7E ; Visible ASCII-characters except space and # start-beat = 1*DIGIT @@ -378,7 +378,7 @@ End-of-Phrase markers are indicated by a `-` character (hyphen/minus, `%x2D`). ```abnf end-of-phrase = %x2D ; - [ WSP start-beat ] - *WSP line-break + *WSP end-of-line ``` An end-of-phrase marker carries no musical information but indicates the end of a phrase in the song. @@ -399,7 +399,7 @@ A voice change (also referred to as a “player change”) is indicated by a `P` ```abnf voice-change = p voice-numer - *WSP line-break + *WSP end-of-line p = %x50 ; P voice-number = DIGIT ```