Jump to content

Handshape display error in RS


firekorn

Recommended Posts

  • Administrator

I'm not entirely sure if it's the toolkit OR EOF that creates this display bug in RS but i'm sure it's not link to the DDC.

For @@raynebc and @@cozy1 and @@Alex360

Here are the file used :

https://drive.google.com/folderview?id=0B1ZKYtpB0vu2ci00aG1WZ3lEb3c&usp=sharing

 

I used EOF version 11-3-2015 and the tookit version 2.6.1.0-d8960ca6 beta to generate the files above. The issue only concern the rhythm part in RS which is the PART REAL_GUITAR_22_RS2 part in EOF.

 

Here is some screenshot of the issue in RS :

http://imgur.com/RF9rl3P

http://imgur.com/MkWtOU3

http://imgur.com/mU9AObb

As you can see there's a display bug when there's ghost open note in the Handshape in EOF.

 

But it doesn't appear when there's a ghost open note in those Handshape section :

http://imgur.com/JwXkMzW

 

The only difference is the fact that there's an actual chord in the handshape where the bug appears.

 

I haven't had time to play around much with those to try to figure out a working solution (Arpeggios isn't a solution here since it would break down the first chord and make it harder to read).

 

Thanks in advance for all the debugging you guys will do! :)

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

I wonder if the base chord in those handshapes is sustaining too long and getting closer to the next note than the game likes? If you shorten them a little, does it make a difference? Does this issue not affect arpeggio sections (maybe the "-arp" designation in the chord template display name causes the game to treat it differently)?

Link to comment
Share on other sites

  • Administrator

Ok so shortening the sustain on the chord didn't changed anything at all.

 

The arpeggios notation does not create that display bug :

http://i.imgur.com/rQrro0Q.jpg

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

  • Administrator

I've just realized there's another issue lying in that handshape marking.

The 2nd chord for exemple should only have the 3 lowest note displayed yet the full chord is displayed :

In game (it's the chord behind) :

http://imgur.com/MkWtOU3

in EOF the 3 highest note have the ghost notation :

http://imgur.com/gQXBS5A

 

I don't where does it break but there's clearly something wrong going on in there...

 

Toolkit guys (@@cozy1 @@Alex360 ) any insight?

 

Edit : The ghost HS status didn't changed anything if applied on the chord where the ghost note are supposed to be.

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

  • Administrator

I know that the issue is coming from the fact that there's ghost open notes.

 

But why RS handle that this poorly and how does Ubisoft team makes it work in their DLC?

https://youtu.be/BFuEgnK23VY?t=33s

 

Furthermore, the fact that we can makes this happen without any warning either by the toolkit or EOF is a bit problematic cause we expect things to be displayed properly if we don't have any warning about this.

 

Edit : I have the DLC in the video up there if you guys need it to analyse what's in that chart and how to make it work properly but i won't put a link here obviously so if you need it, just send me a PM ;)

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

Hi firekorn,

 

  The chords which have this issue are not consistent with their chordTemplate.

 

  Look at the following extract of the XML file :

...
<chordTemplates count="48">
  ...
  <chordTemplate displayName="E5" chordName="E5" fret0="0" fret1="2" fret2="2" fret3="-1" fret4="0" fret5="0" finger0="-1" finger1="2" finger2="3" finger3="-1" finger4="-1" finger5="-1" />
  ...
</chordTemplates>
...
  <levels count="1">
    <level difficulty="0">
      ...
      <chords count="346">
        <chord time="3.729" linkNext="0" accent="0" chordId="36" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
          <chordNote time="3.729" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="0" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
          <chordNote time="3.729" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="2" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="1" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
          <chordNote time="3.729" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="3" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="2" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
        </chord>
...

The chordTemplate defines 5 notes, but the chord at time "3.729" has only 3 chordNotes.

 

To avoid this issue with DDC logic, I had to create new specific chordTemplates for the lower levels of difficulties.

These new chordTemplates and the associated chords have only the notes selected for the specific level.

 

Hope that solves your issue ...

Link to comment
Share on other sites

  • Administrator

So the fact that the chord template contain more note than what's inside the chord definition could be the reason?

 

Kinda make sense...

 

I'm actually browsing through the xml file from the all that remain song i've linked to and i found some interesting stuff in there.

 

First there's actually 2 handshape in the same time :

<handShape chordId="1" endTime="42.91" startTime="41.097" />
<handShape chordId="31" endTime="42.98" startTime="41.097" />

The chord id 1 referred to the 7-10 chord that is first played while the chord id 31 is actually just the full chord (7-10-9).

 

the chord template corresponding to the chord id 1 :

<chordTemplate displayName="" chordName="" fret0="-1" fret1="7" fret2="10" fret3="-1" fret4="-1" fret5="-1" finger0="-1" finger1="1" finger2="4" finger3="-1" finger4="-1" finger5="-1" />

and the chord template corresponding to the chord id 31 :

<chordTemplate displayName="Bb/D" chordName="Bb/D" fret0="-1" fret1="7" fret2="10" fret3="9" fret4="-1" fret5="-1" finger0="-1" finger1="1" finger2="4" finger3="3" finger4="-1" finger5="-1" />

The end time difference allow the finger position for the 9 to appear just when the note arrive on the fretboard (you can see it if you slow down the video) meaning that the first handshape indicating in the xml file have the priority for display.

 

All the open note played have a fret value of -1 in the chord and are actually just note in xml file (as is the 9 on the g string) :

<note time="41.934" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="5" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
<note time="42.492" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="4" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
<note time="42.771" linkNext="0" accent="0" bend="0" fret="9" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="3" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />

Forgot the chord definition but it's obviously referencing the chord id 1 and only define the 2 note played at that time :

<chord time="41.097" linkNext="0" accent="0" chordId="1" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="up">
          <chordNote time="41.097" linkNext="0" accent="0" bend="0" fret="7" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="1" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
          <chordNote time="41.097" linkNext="0" accent="0" bend="0" fret="10" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="4" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="2" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />

So i guess EOF is the culprit here but i'll admit it seems like a quite complicated work to get to that result.

@@raynebc let me know if you need any more info or help on that element (like the xml file from that all that remain song)!

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

Please bear with me while I try to figure out what's going wrong.

 

The chords which have this issue are not consistent with their chordTemplate.

 

Look at the following extract of the XML file :

...
<chordTemplates count="48">
  ...
  <chordTemplate displayName="E5" chordName="E5" fret0="0" fret1="2" fret2="2" fret3="-1" fret4="0" fret5="0" finger0="-1" finger1="2" finger2="3" finger3="-1" finger4="-1" finger5="-1" />
  ...
</chordTemplates>
...
  <levels count="1">
    <level difficulty="0">
      ...
      <chords count="346">
        <chord time="3.729" linkNext="0" accent="0" chordId="36" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
          <chordNote time="3.729" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="0" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
          <chordNote time="3.729" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="2" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="1" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
          <chordNote time="3.729" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="3" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="2" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
        </chord>
...
The chordTemplate defines 5 notes, but the chord at time "3.729" has only 3 chordNotes.

 

I've been thinking about it and comparing the XML output of various versions of EOF just to be sure and I can't tell that it was ever exported any other way. Even 2.5 months ago EOF wrote them this way (the chord template used for the base chord's chord tag defined finger and fret values even for the ghosted gems).

 

About overlapping handshape tags, Chlipouni mentioned in another thread that it is supposedly valid and used in official charts:

http://customsforge.com/topic/22596-handshapearpeggio-for-multiple-notes-at-a-time/page-2?do=findComment&comment=186048

If you can direct me to the project file that resulted in overlapping handshape tags though, I could look at it to see why it exported that way.

Link to comment
Share on other sites

  • Administrator

@@raynebc i've sent you the official DLC where i've extracted the overlaping handshape and maybe find a bit of a solution for our case.

 

From what i understand of the xml file from the official DLC they break down the the chord that start the handshape in at least 3 part :

The first part is the chord that is played first when the handshape is created :

  • the 7-10 with the chord id 1

The second part is the creation of the single note that are being played during the handshape :

  • all note are written as note in the xml (both 0 and the 9 on the G)

The last part is the handshape on the chart :

  • The first handshape to appear is the handshape that is associated with the chord id 1 then will appear the handshape corresponding to the full chord (all open note are ignored in those chord template) with the chord id 31

The weird thing is that the cdlc actually follow those rules pretty well apparently so i'm still a bit clueless on why this is happening but i hope that put some light on what might cause the issue?!

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

I'm starting to see the whole picture, but you're certain so far that the graphical glitch is only for open notes inside the handshape phrases? It seems odd to me considering the overlapping handshape tags all define the strings that play the open notes as being unused.

 

Even so, I'm not sure why the handshape tags would have any effect outside of the fingering animations themselves. If the chart didn't indicate that the A, D and G strings were to all be fretted at the same time (ie. if the base chord didn't sustain over the entire handshape phrase), the overlapping handshapes would presumably not have occurred.

Link to comment
Share on other sites

  • Administrator

The glitch appear only where there's ghost open note in the chord that start the handshape.

 

The fact that even for chord where there is ghost note in it appear with all note (even the supposedly ghosted one) might be a good place to start looking and might actually explain why the glitch appear on open note as i mentionned previously :

 

I've just realized there's another issue lying in that handshape marking.

The 2nd chord for exemple should only have the 3 lowest note displayed yet the full chord is displayed :

In game (it's the chord behind) :

http://imgur.com/MkWtOU3

in EOF the 3 highest note have the ghost notation :

http://imgur.com/gQXBS5A

 

I'm note really sure on why does it display weirdly and it might appear on other condition but so far it's only one i'm aware off.

 

My only guess is that you use the following chordtemplate :

<chordTemplate displayName="E5" chordName="E5" fret0="0" fret1="2" fret2="2" fret3="-1" fret4="0" fret5="0" finger0="-1" finger1="2" finger2="3" finger3="-1" finger4="-1" finger5="-1" />

But you should probably use the chordtemplate 26 :

<chordTemplate displayName="E5" chordName="E5" fret0="0" fret1="2" fret2="2" fret3="-1" fret4="-1" fret5="-1" finger0="-1" finger1="2" finger2="3" finger3="-1" finger4="-1" finger5="-1" />

For the first chord to match the chord note in it :

<chord time="3.729" linkNext="0" accent="0" chordId="36" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
      <chordNote time="3.729" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="0" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
      <chordNote time="3.729" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="2" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="1" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
      <chordNote time="3.729" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="3" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="2" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />

That might actually be the only reason this bug appear (and might explain why the other note appear on the other chord) the display glitch only coming from the fact that some of those are open note in the Emin chord. The glitch is only the tip of the iceberg in this case apparently.

 

So yeah after thinking a bit the overlapping handshape is just a clever way to do a smooth finger placement transition on screen more than anything...

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

  • 5 weeks later...

@@raynebc & @@firekorn,

 

 By working on the relationship between chords, chord templates and handshapes, I have found the precise case in which the display glitches appear.

 

 1) The "chordNotes" tag is not mandatory

  In the XML file, the "chordNotes" tag of a chord can be omitted if the notes have no technics.

 

  The following example works fine :

<chordTemplates count="1">
  <chordTemplate chordName="G5" displayName="G5" finger0="1" finger1="3" finger2="4" finger3="-1" finger4="-1" finger5="-1" fret0="3" fret1="5" fret2="5" fret3="-1" fret4="-1" fret5="-1" />
</chordTemplates>
...
<chord time="6.000" linkNext="0" accent="0" chordId="0" fretHandMute="0" highDensity="1" ignore="0" palmMute="0" hopo="0" strum="down" />
... 

2) The exception is for open notes

 If the chordTemplate contains an open note which is not defined in the "chordNotes" tag, the display glitch appears.

 

 To avoid the display glitch, a solution is adding only the open notes inside the "chordNotes" tag.

 The following example works fine (without display glitch) :

<chordTemplates count="9">
  <chordTemplate displayName="D" chordName="D" fret0="-1" fret1="-1" fret2="0" fret3="2" fret4="3" fret5="2" finger0="-1" finger1="-1" finger2="-1" finger3="1" finger4="3" finger5="2" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="-1" fret3="2" fret4="3" fret5="2" finger0="-1" finger1="-1" finger2="-1" finger3="1" finger4="3" finger5="2" />
  <chordTemplate displayName="C" chordName="C" fret0="-1" fret1="3" fret2="2" fret3="0" fret4="1" fret5="0" finger0="-1" finger1="3" finger2="2" finger3="-1" finger4="1" finger5="-1" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="2" fret3="0" fret4="1" fret5="0" finger0="-1" finger1="-1" finger2="2" finger3="-1" finger4="1" finger5="-1" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="-1" fret3="0" fret4="1" fret5="0" finger0="-1" finger1="-1" finger2="-1" finger3="-1" finger4="1" finger5="-1" />
  <chordTemplate displayName="G" chordName="G" fret0="3" fret1="2" fret2="0" fret3="0" fret4="3" fret5="3" finger0="2" finger1="1" finger2="-1" finger3="-1" finger4="3" finger5="4" />
  <chordTemplate displayName="" chordName="" fret0="3" fret1="2" fret2="0" fret3="0" fret4="-1" fret5="-1" finger0="2" finger1="1" finger2="-1" finger3="-1" finger4="-1" finger5="-1" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="0" fret3="0" fret4="3" fret5="3" finger0="-1" finger1="-1" finger2="-1" finger3="-1" finger4="3" finger5="4" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="-1" fret3="0" fret4="3" fret5="3" finger0="-1" finger1="-1" finger2="-1" finger3="-1" finger4="3" finger5="4" />
</chordTemplates>
  ...
<chord time="6" linkNext="0" accent="0" chordId="0" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
  <chordNote time="6" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="2" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
</chord>
<chord time="7" linkNext="0" accent="0" chordId="1" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down" />
<chord time="7.5" linkNext="0" accent="0" chordId="1" fretHandMute="0" highDensity="1" ignore="0" palmMute="0" hopo="0" strum="down" />
<chord time="7.75" linkNext="0" accent="0" chordId="1" fretHandMute="0" highDensity="1" ignore="0" palmMute="0" hopo="0" strum="down" />
<chord time="8" linkNext="0" accent="0" chordId="2" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
  <chordNote time="8" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="3" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
  <chordNote time="8" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="5" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
</chord>
  ... 
Link to comment
Share on other sites

@@raynebc & @@firekorn,

 

 By working on the relationship between chords, chord templates and handshapes, I have found the precise case in which the display glitches appear.

 

 1) The "chordNote" tag is not mandatory

  In the XML file, the "chordNotes" tag of a chord can be omitted if the notes have no technics.

 

  The following example works fine :

<chordTemplates count="1">
  <chordTemplate chordName="G5" displayName="G5" finger0="1" finger1="3" finger2="4" finger3="-1" finger4="-1" finger5="-1" fret0="3" fret1="5" fret2="5" fret3="-1" fret4="-1" fret5="-1" />
</chordTemplates>
...
<chord time="6.000" linkNext="0" accent="0" chordId="0" fretHandMute="0" highDensity="1" ignore="0" palmMute="0" hopo="0" strum="down" />
... 

2) The exception is for open notes

 If the chordTemplate contains an open note which is not defined in the "chordNote" tag, the display glitch appears.

 

 To avoid the display glitch, a solution is adding only the open notes inside the "chordNotes" tag.

 The following example works fine (without display glitch) :

<chordTemplates count="9">
  <chordTemplate displayName="D" chordName="D" fret0="-1" fret1="-1" fret2="0" fret3="2" fret4="3" fret5="2" finger0="-1" finger1="-1" finger2="-1" finger3="1" finger4="3" finger5="2" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="-1" fret3="2" fret4="3" fret5="2" finger0="-1" finger1="-1" finger2="-1" finger3="1" finger4="3" finger5="2" />
  <chordTemplate displayName="C" chordName="C" fret0="-1" fret1="3" fret2="2" fret3="0" fret4="1" fret5="0" finger0="-1" finger1="3" finger2="2" finger3="-1" finger4="1" finger5="-1" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="2" fret3="0" fret4="1" fret5="0" finger0="-1" finger1="-1" finger2="2" finger3="-1" finger4="1" finger5="-1" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="-1" fret3="0" fret4="1" fret5="0" finger0="-1" finger1="-1" finger2="-1" finger3="-1" finger4="1" finger5="-1" />
  <chordTemplate displayName="G" chordName="G" fret0="3" fret1="2" fret2="0" fret3="0" fret4="3" fret5="3" finger0="2" finger1="1" finger2="-1" finger3="-1" finger4="3" finger5="4" />
  <chordTemplate displayName="" chordName="" fret0="3" fret1="2" fret2="0" fret3="0" fret4="-1" fret5="-1" finger0="2" finger1="1" finger2="-1" finger3="-1" finger4="-1" finger5="-1" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="0" fret3="0" fret4="3" fret5="3" finger0="-1" finger1="-1" finger2="-1" finger3="-1" finger4="3" finger5="4" />
  <chordTemplate displayName="" chordName="" fret0="-1" fret1="-1" fret2="-1" fret3="0" fret4="3" fret5="3" finger0="-1" finger1="-1" finger2="-1" finger3="-1" finger4="3" finger5="4" />
</chordTemplates>
  ...
<chord time="6" linkNext="0" accent="0" chordId="0" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
  <chordNote time="6" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="2" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
</chord>
<chord time="7" linkNext="0" accent="0" chordId="1" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down" />
<chord time="7.5" linkNext="0" accent="0" chordId="1" fretHandMute="0" highDensity="1" ignore="0" palmMute="0" hopo="0" strum="down" />
<chord time="7.75" linkNext="0" accent="0" chordId="1" fretHandMute="0" highDensity="1" ignore="0" palmMute="0" hopo="0" strum="down" />
<chord time="8" linkNext="0" accent="0" chordId="2" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
  <chordNote time="8" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="3" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
  <chordNote time="8" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="5" sustain="0" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0" />
</chord>
  ... 
  • Like 1
Link to comment
Share on other sites

1) The "chordNotes" tag is not mandatory

2) The exception is for open notes

That's good to know, but aside from making the XML smaller, is there a notable behavior or performance benefit from leaving out chordnotes where doing so wouldn't cause problems? I suppose if that's unknown we could assume that the longer the song is, the more cumulative any system resource savings could be. And it reduces clutter in the XML. Any toolkit devs have any concerns about me trying to make use of this in EOF's Rocksmith 2014 export?
Link to comment
Share on other sites

@@raynebc,

 

  My goal was to give this information for avoiding these display glitches in future developments.

  Removing unnecessary "chordNote" tags will only simplify the XML files.

  In my opinion, this could be an improvement but with a low level of priority.

 

  For your information the RSToolkit already used these few lines of code in the "addChordNotes" function :

  // don't export chordnotes if there are no techniques
  bool noTechniques = c.NoteMask.All(m => m == 0);
  if (noTechniques)
      return -1; 
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. - Privacy Policy