Closed GoogleCodeExporter closed 8 years ago
thekiwimaddog is considering dropping Phase Shift support for slider phrases
due to the inconsistencies with how they're denoted various official/custom
charts and how to reliably identify whether a chart is GH or RB style.
Original comment by raynebc
on 10 Nov 2010 at 12:23
thekiwimaddog and I feel that it would be beneficial for the song.ini file to
indicate the presence of Guitar Hero features and what velocities are used to
denote them, for example:
slider_velocity = 101
open_strum_velocity = 102
This would allow for conflict-free handling of Guitar Hero and Rock Band
features in the same chart. I emailed jstump to see if he had any objections,
but provided I don't hear any, I'll go ahead and try to implement this. This
will allow most of the conflict handling logic for open bass guitar versus
forced hopo to be removed, but we'd need to leave in the MIDI import prompt.
Original comment by raynebc
on 5 Mar 2011 at 12:04
I never heard back, so plans to implement this will remain unchanged. It would
be nice to implement this in the next stable release, but only if a Phase Shift
release supports it at such time.
Original comment by raynebc
on 14 Mar 2011 at 8:53
thekiwimaddog is still willing to implement this, so I'll increase the priority
for this enhancement. Some tasks for this enhancement:
1. Define macros for the velocities being used for these charting mechanisms.
Update export logic to write to the MIDI using these macros and to write the
tags in song.ini.
2. Update the import logic to look for the tags. If such tags are not found,
any conflicts will necessitate a user prompt for how to import (such as how
open bass is prompted about).
3. Remove the in-editor conflict handling for open bass, since it will no
longer conflict during export.
4. Add logic for slider sections, including a submenu and probably a unique
color to render with in the 2D and/or 3D windows. Update import/export logic.
5. Update documentation.
Original comment by raynebc
on 14 Mar 2011 at 9:37
Since nobody has figured out how to properly mark slide phrases yet, it might
be worth using a custom note marker for slide phrases and a custom velocity for
up slides versus down slides.
Original comment by raynebc
on 2 May 2011 at 7:12
I proposed the following INI tags to thekiwimaddog:
slide_note = #
slide_up_velocity = #
slide_down_velocity = #
If this custom marker system were implemented, EOF would have to have checking
to see if the open strum velocity was defined in song.ini and had a velocity
that was different from normal notes. If so, it could load open bass strums
without the lane 1 HOPO conflict prompt.
Original comment by raynebc
on 6 May 2011 at 2:50
I'm thinking that until the native RB3 method is determined, Sysex messages
could be used for custom phrase markings. Something with an identifying
prefix, such as:
'P','S','\0',[difficulty #],[marker ID]
Original comment by raynebc
on 28 May 2011 at 4:04
I PM'd thekiwimaddog to propose the following as the start of our custom phrase
marking system:
(Sysex event)
(Sysex message length)
'P','S','\0' (3 byte Phase Shift Sysex ID)
# (1 byte difficulty ID: 0 = Easy, 1 = Medium, 2 = Hard, 3 = Expert)
# (1 byte phrase ID: 1 = Slider note, 2 = Pro guitar slide up, 3 = Pro guitar
slide down, 4 = Open strum bass, 5 = Pro guitar bend, 6 = Pro guitar palm mute,
7 = Pro guitar vibrato)
# (1 byte status ID: 0 = Phrase stop, 1 = Phrase start)
0xF7 data byte (1 byte "End of Sysex")
Original comment by raynebc
on 29 May 2011 at 9:50
Phrase ID 8 could be for "tapping" notes in general (pro or 5 lane guitar/bass).
Original comment by raynebc
on 29 May 2011 at 9:59
Since the RB3 method for marking hammer ons and pull offs are not immediately
known, I proposed the following custom markers:
9 = Pro guitar hammer on, 10 = Pro guitar pull off
I also proposed the following for custom note names:
(Sysex event ID)
(Sysex message length)
'P','S','\0'
# (difficulty)
11 (Custom note name)
"note name here" (This would be a NULL terminated string, so strcpy could be
used to read the string into a buffer)
0xF7 (End of Sysex)
Original comment by raynebc
on 29 May 2011 at 10:50
As per details I posted in issue 214, I'll use RB3's system of "[chrd1 ...]",
"[chrd2 ...]" and "[chrd3 ...]" text events (ie. Text Event="[chrd1 Bb5]" for
Medium difficulty chord name) to manually override the game's chord name
detection for Medium, Hard and Expert difficulties, respectively. This means
that custom Sysex phrase markers will not be used for chord names.
Original comment by raynebc
on 4 Jun 2011 at 11:32
[deleted comment]
It would probably be better to insert a message ID, so that things besides
phrases can be marked:
(MIDI identifier for Sysex)
'P','S','\0'
(Message ID, ie. 0 = phrase)
(Message data)
0xF7 data byte (1 byte "End of Sysex")
Message ID 0 (phrase marker) definition:
# (1 byte difficulty ID: 0 = Easy, 1 = Medium, 2 = Hard, 3 = Expert)
# (1 byte phrase ID)
# (1 byte status ID: 0 = Phrase stop, 1 = Phrase start)
r785 adds initial logic for the custom Sysex marker system, adding MIDI
import/export support for open strum bass notes, which use phrase ID 1.
Pending approval from the Phase Shift devs, I'll add markers for pro guitar
slide up/down and slider phrases.
Original comment by raynebc
on 21 Jun 2011 at 7:03
r786 adds Sysex markers for pro guitar slides:
Phrase ID:
2=Pro guitar slide up
3=Pro guitar slide down
Original comment by raynebc
on 22 Jun 2011 at 6:57
r818 adds Sysex markers for hi hat statuses:
Phrase ID:
5=Open hi hat
6=Foot pedal controlled hi hat
Original comment by raynebc
on 19 Aug 2011 at 3:29
r819 adds a Sysex marker for rim shot:
Phrase ID:
7=Snare Rimshot
Original comment by raynebc
on 19 Aug 2011 at 8:46
[deleted comment]
[deleted comment]
r821 adds a Sysex marker for slider sections:
Phrase ID:
4=Slider
Original comment by raynebc
on 21 Aug 2011 at 9:18
Difficulty ID 0xFF will be used for Sysex phrases that apply to all
difficulties of a track (ie. slider sections).
Original comment by raynebc
on 21 Aug 2011 at 9:30
r855 added a Sysex marker for sizzle hi hat:
Phrase ID:
8=Sizzle hi hat
Original comment by raynebc
on 6 Jan 2012 at 7:49
Other statuses that are written with Sysex have been added, and new ones will
occasionally be added. The EOF file specification will be used to document
them.
Original comment by raynebc
on 18 May 2012 at 6:26
Original issue reported on code.google.com by
raynebc
on 8 Nov 2010 at 12:45