Jump to content

iminashi

Developer
  • Posts

    411
  • Joined

  • Last visited

  • Days Won

    3
  • Country

    Finland
  • Donations

    0.00 USD 

Posts posted by iminashi

  1. 0OKdUdW.png

     
    This tool originated as a command line program I wrote in Ruby to automate a workaround to prevent DDC from moving sections that are not placed on the first beat of a measure. Since than I've added more features and eventually decided to make it into a GUI program using C#, largely as a learning experience.
     
    It is called DDC Improver since I couldn't think of a better name. Some of the features in the program have nothing to do with DDC and it can also process files with manual DD.
     
    Features:

    -Can process multiple files simultaneously

    -Prevents DDC from moving sections that are not on the first beat of a measure
    -Restores FHPs set at the beginning of noguitar sections
    -Adjusts the lengths of handshapes if they are too close together
    -Fixes phrases that have only one level by adding a second level to them
    -Can automatically place crowd events
    -Move phrases/sections off beat with special phrase names
    -Removes beats that come after the audio has ended

    -Can be used to remove DD from files
    -Checks the XML for issues
     
    About the XML checking feature:
     
    -The program will complain if you have a tone change that is placed on a note. This is not really an error, it's more of a best practice to place a tone change before the note it occurs. 
    -The only check that can give you false positives is the check for mismatches between anchor position and chord fingering.

     

    Changelog:

    v3.1.25

    -Updated DDC to v3.7
    -Fixed a bug in the "one level phrase fixer"
    -Added a check for chords whose chord notes have different sustains
    -Updated to .NET 5.0

    Downloads:

    Windows version

    Requires the .NET 5 Runtime

     

    Mac version

    Requires macOS version 10.13 - 10.14, with Wine installed on in order to execute DDC.

    Though DDC Improver itself does work on 10.15 (Catalina), the functionality is severely limited since running DDC does not work due to it being a 32bit program.

     

    A Linux build is possible if anyone actually wants it.

     

    The source code is available at github.

     

    Old versions changelog:

     

    v3.0.20

    - Added "Quick Remove DD" feature (can be found in the Tools menu)
    - Added "Open Containing Folder" context menu item
    - Added relative note/chord finding to the "so" custom event
     -Fixed a minor bug with crowd event placement checking
    - Fixed the tab order in the configuration window
    - Fixed a null reference exception in the chord slide handshape length fix
    - Fixed an off-by-one error in the FIXOPEN chord processor
    - Fixed a false positive in the bend value mismatch check
    - Change the internal representation of time codes to use integers instead of floating point numbers
    - Changed where the program settings and logs are stored for better cross-platform compatibility
    - Removed the select DDC executable button from the configuration window
    - Updated the phrase moving section in the Help window
    - Improvements to the UI of the Avalonia version 
    - Updated Avalonia to version 0.9.11
    - Updated .NET Core to version 3.1

     

    v2.2.128

    -Added "so" (Slide Out) custom event

    -Added "anchor placeholder note" removing

    -Added checking for the need to reset arrangement IDs

    -Added XML check for unpitched slide notes with linknext

    -Added linknext chord slide handshape length correction

    -Updated Avalonia to version 0.8.3

    -Updated the WPF version to run on .NET Core 3

     

    v2.1.98

    -Updated DDC to version 3.6

    -Removed first phrase/beat moving workarounds

    -Added 'overwrite original file' option

    -Added Ctrl+P and F5 shortcuts for 'Process'
    -Added shortcut keys to Avalonia version
    -Added anchor placement checking (will notify of anchors that are a couple of milliseconds away from a note)
    -Added crowd event correction (E0 -> e0 etc)
    -Improved the "chord fingering relative to anchor position" check
    -Couple of minor bugfixes
     

    v2.0.113

    -The processing the program does is more efficient and uses less memory (but new bugs may have been introduced  :ph34r: )

    -Processing of manual DD has been improved

    -The handshape adjustment has been improved

    -Added relative phrase moving name "moveR" which you should use instead of the "moveto" ones since it is easier to use and does not rely on absolute times. See the Help inside the program.

    -Added "moteto--m--s--" phrase moving pattern where the time is in minutes, seconds and milliseconds

    -The FHP will be moved with the phrase/section automatically

    -Added option to display times (in the log) in minutes, seconds and milliseconds instead of seconds and milliseconds

    -The program writes a comment with the version number into the processed XML files

    -Fixed a bug that could cause wrong NLD phrase ids in certain circumstances if "Keep END phrase location" is enabled and DDC has moved the END phrase

    -Other bug fixes

    -Minor improvements to the UI

     

    v1.1.19

    -Fixed a strange crash bug in the Windows version when clicking the scroll bar in the help window

     

    v1.1.17

    -Cross platform version available

    -Fixed a couple of minor bugs

    -Added checks for notes with both harmonic and pinch harmonic and notes inside noguitar sections

     

    • Like 2
  2. One workaround is to split the time signature of the measure so that the section starts on the first beat, like splitting it into 3/4 and 1/4 time signatures for example. It's not very pretty.

     

    I've wrote a program that automates a workaround (and does other things) so I don't have to think about it. I've been meaning to release it any day now....

  3. You seems to work on some interesting tool from what i've heard so if you want help or a tester, i'd be more than happy to help around.

     

    My "DDC Improver" program is pretty much done and I should release it to the general public. I just haven't been able to decide what kind of icon I should use for it, and also I've been too lazy to write a proper help/readme for it.  :P

    • Like 2
  4. FWIW I've been working on an editor. For now it's just a list of the notes and the GUI would need to be changed to something else to actually make more extensive editing of the showlights convenient.

     

    0MO3fUL.png

     

    And for the past two days I've been trying to get this thing working:

     

    gLG62LD.jpg

    • Like 1
  5. This was an issue that @@I)ark_Seph mentioned to me.

     

    Here's an example XML:

    https://drive.google.com/open?id=1Pk4yEd8KB2vDTFTVX7Z5HXJEVQK5c9Rq

     

    DDC will create a new empty phrase at 5.167, which breaks the handshape in game.

     

     

    Somewhat related, I noticed that in one of my own customs there is an 8 bar phrase that ends with three empty bars and then a single sustained note. DDC creates an empty phrase for the three empty bars and places the last note into its own phrase. I guess I can live with that, though it is a bit silly to have a phrase with just one note in it.

  6. This reminded me that I had ran into this too but then forgot about it.  :P

     

    https://drive.google.com/open?id=19KLiGZPTX--m_r6VbwYkn3-SsSYvSOC6

     

    Here's an XML with a single phrase where it happens. DDC generates levels where the slide out has three notes when the chord itself has two notes.

     

    Another issue with this phrase is that a muted strum at the end (at 15.895) gets the sustain of the previous chord when it is reduced to a single note.

  7. Could you make it so that DDC keeps the FHP set at the beginning of a noguitar section? In case one wants to move to the new position right away, as is done in ODLC sometimes.

     

    Another, somewhat more important issue. A phrase/section that ends like this (no notes after, handshape spans two bars):

     

    2ReGEpC.png

     

    DDC will add a new empty phrase at the beat around 14s, which breaks the handshape.

  8. @@Berneer

     

    I've been reading the tutorial and here are some thoughts:

     

    -In Figure 5a, linkNext will not actually be used since the Toolkit ignores it in this case. Also, in the last three pictures (and in many of your other example screenshots), EOF optimizes the notes into a single note when you link one note into another one that has identical techniques (none in this case).

     

    -The Toolkit selects the longest sustain of a chord's chordNotes and uses that as the sustain of the chord. In the SNG file, chordNotes do not have the attribute "sustain", so it is impossible for them to have different sustains. If you wanted to do that, linkNext is required (which is pretty much what chordify does):

     

    TIptvPU.png

     

    -I tried creating the example in Figure 5 and it crashes the game for me... (and the culprit is not the showlights file ;))

     

    -You can think of masks as on/off switches. In RS, the notes have masks for PALMMUTE, HAMMERON, SLIDE, etc. In the SNG file, linkNext is actually two masks: PARENT and CHILD. PARENT doesn't affect the appearance of a note, but CHILD causes the note to not be drawn.

     

    -Open notes glitch:

     

    0Ph2qAx.jpg

     

    The technical reason for why this happens is that a chord has an open note, but the chordNote doesn't have the OPEN mask. A chord that has open notes, but doesn't have chordNotes will cause this.

     

    -As for the example from Tenacious D – The Metal; I don't own it so I can't look at the XML file, but it is not related to the sustain limitation of chordNotes since it doesn't use chords. I tried creating something similar quickly, and interestingly enough, I ran into the linkNext issue in the Toolkit:

     

    QYOakAz.png

  9. I'll need some time to read all that.  :)  That reminded me of something though:

     

    The current implementation in the Toolkit that applies the mask related to linkNext to the notes (the CHILD mask, which causes the note to not be drawn, only its sustain) doesn't check the linkNext status of the chordNotes. It only checks the chord itself. That's why this doesn't currently work:

     

    PCnW20a.png

     

    Also, as I mentioned in the issue I posted at Github, Rocksmith will not draw the next note of a linkNext note (note with PARENT mask) even if it doesn't have the CHILD mask in the SNG file, except if the note is an open note. Which makes sense, since I don't think ODLC uses open string notes that are linked to a technique.

×
×
  • 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