ABC Sanitizer/Starbound Compatible ABC

Discussion in 'Starbound Modding' started by TheSpaceMan, Dec 6, 2013.

  1. TheSpaceMan

    TheSpaceMan Starship Captain

    You can find all updates and news about ABC Sanitizer here from now on.
    http://community.playstarbound.com/index.php?threads/abc-sanitizer-not-a-mod-really.42226/


    This tool will report any errors I found out that might cause a ABC file to crash starbound.

    Reports:
    Error for white spaces in Q parameter.
    Error on unhandled exceptions and last parsed file (probably the source for the exception)
    Errors where ":" is used in a comment "%"

    If you get an error, or warning of any kind when running the tool, contant me with the result. If you have a song that makes starbound crash that is not reported by my tool, please send me that file as well and I will figure out why and add that warning to the tool.

    Latest Version:

    https://dl.dropboxusercontent.com/u/7965736/ABCSanitizer0_5.zip
     
    Last edited: Dec 10, 2013
    Lazer, Kirsten, Eldiran and 3 others like this.
  2. Mechrior

    Mechrior Scruffy Nerf-Herder

    this would be amazing as my family would like to be able to make and play music ingame quite alot!
     
    HintOfMint likes this.
  3. TheSpaceMan

    TheSpaceMan Starship Captain

    Cool.
    I'll throw the basics together when I get home.
    Luckely I have access to songs that don't play, play, and crashes.
    So I'll use that as a basis for my validation. Not bothering the developers with such things, since they have more important things to do.

    Maybe, MAYBE it will be possible to implement basic abc error fixing and tempo adjustmen as well... depending on the error type and how the data is handled... (If thats the case I should implement some kind of feedback/player as well)

    This could be a really fun project.
     
    Last edited: Dec 6, 2013
    Mechrior likes this.
  4. TheSpaceMan

    TheSpaceMan Starship Captain

    I will dive more in to it tomorrow, looked at an existing ABC parser, but didn't like the structure, also the abc layout is not rocket science, so will write my own parser tomorrow.
    Can still use the one i found as inspiration, since it mention all the different data types and sizes.

    Will mention the creator of that one with thanks. ABCp I think it was called.
     
  5. TheSpaceMan

    TheSpaceMan Starship Captain

    Ok. So I figured out atleast two reasons for the ingame crash. Both of these might be resolved by the C-Fish crew futher down the road.
    I am going to fix the output messages for the errors I found.
    And then I will upload it and provide a Link.
     
  6. TheSpaceMan

    TheSpaceMan Starship Captain

    Current error fixed was an additional white space in the Q parameter.

    So here is a first beta of a beta. It find one of the most basic crashs and reports it.

    https://dl.dropboxusercontent.com/u/7965736/ABCSanitizer0_2.zip
    It's written in C# under win8 so that might give people issues executing.

    If the program gives no warnings and you still get an error running a song, pm me and tell me where I can get that song and I will make that my next target.

    Since this is no official big company release you will probably get a crazy mount of warnings installing this.
    Like Unknow publisher.
    If you don't dare to install it, thats ok, I understand.
    But the code is sane and does nothing wierd.
     
    Last edited: Dec 9, 2013
  7. Mechrior

    Mechrior Scruffy Nerf-Herder

    will take a look tonight and see how it fares and get back to you!"
     
    HintOfMint likes this.
  8. Mechrior

    Mechrior Scruffy Nerf-Herder

    the only option i get with teh program is ValidateFolder in one file menu. when guiding it to the folder my ABC's are stored in it throws an error for an unhandled exception

    "index and length must refer to a location within the string. Parameter name: length."

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
    Parameter name: length
    at System.String.Substring(Int32 startIndex, Int32 length)
    at ABCSanitizer.ABCHeader..ctor(String[] lines)
    at ABCSanitizer.ABCParser..ctor(String fileIn)
    at ABCSanitizer.ABCSanitizer.validateFolderToolStripMenuItem_Click(Object sender, EventArgs e)
    at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
    at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
    at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
    at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
    at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
    at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
    at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
    at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    at System.Windows.Forms.ToolStrip.WndProc(Message& m)
    at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34003 built by: FX45W81RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ----------------------------------------
    ABCSanitizer
    Assembly Version: 1.0.0.0
    Win32 Version: 0.0.1.0
    CodeBase: file:///C:/Users/Mechrior/AppData/Local/Apps/2.0/VN6K64RM.20Q/DZZ7HCVT.4GG/abcs..tion_523811f81b6fa19f_0000.0001_d045a64ab9fbaa42/ABCSanitizer.exe
    ----------------------------------------
    System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.34003 built by: FX45W81RTMGDR
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.
     
    HintOfMint likes this.
  9. TheSpaceMan

    TheSpaceMan Starship Captain

    Last edited: Dec 9, 2013
  10. TheSpaceMan

    TheSpaceMan Starship Captain

    Mechrior please let me know as soon as you figure out what file caused the exception, as it should be reported properly in the latest version.
     
  11. TheSpaceMan

    TheSpaceMan Starship Captain

    Debugging Misty Mountains Cold... Can't really pinpoint the error, I have made the song play, just trying to figure out the difference between the working version and the non working version...
     
  12. TheSpaceMan

    TheSpaceMan Starship Captain

  13. Lazer

    Lazer Existential Complex

    Thanks for this, TheSpaceMan!

    I'm on Windows XP so I haven't had a chance to test much out, but when and if I run into problems I'll check back in here.
     
  14. TheSpaceMan

    TheSpaceMan Starship Captain

    I figured out some false positives, going to add the new version (that is done) as soon as I get home.
     
  15. TheSpaceMan

    TheSpaceMan Starship Captain

Share This Page