-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RW format conversion expects explicit speed parameter in Track.Announce #1081
Comments
Frankly, as you can probably see, the route parser is somewhat of a mess to put it mildly, and originally started out life as a single monster file. The RW parser is somewhat worse of a mess, as it internally converts the RW format strings to CSV before parsing. The function you've linked above is used to replace brackets in filenames (yes, I've found examples of that....) temporarily with the < character so the conversion process doesn't throw a complete fit. RW format: With all that said, I suspect the error is probably actually elsewhere in your file. I'll see about trying a proper test, but might be later in the week before I have a proper chance to dig. |
OK, that's odd, it's definitely hitting the block you linked above. I can't see why either from an intial head-scratch. The very final condition, e.g. i != Text.Length -1 is false (as in this case i is currently 29, with a string length of 30 chars) and this is exactly what the guard was there for :/ |
An RW format command such as
@announce(\NYCT-V\BwayLafAnn.wav)
will raise"Invalid closing parenthesis encountered at line ..."
. Changing it to@announce(\NYCT-V\BwayLafAnn.wav, 0)
resolves the error. Since the CSV documentation says thatTrack.Announce(FileName; Speed)
givesSpeed
a default value of 0 and the RW quick reference doesn't mentionTrack.Announce()
in its list of behavior difference, I assume that many legacy RW routes will omit explicit values forSpeed
.I haven't had a chance yet to sit down and walk my way through the conversion logic, but I'm guessing that this bug comes from some combination of current line 166 and current line 210 in
CsvRwRouteParser.Expression.SeparateCommandsAndArguments
.The text was updated successfully, but these errors were encountered: