Search Unity

DryWetMIDI / .NET library to work with MIDI files and MIDI devices

Discussion in 'Assets and Asset Store' started by melanchall, Jun 13, 2022.

  1. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    17
    I've decided to publish all releases of the DryWetMIDI in one thread.

    And I'm going to start the thread with a new release – 6.1.1 version has been released both in NuGet and Unity Asset Store. Please see the changelog below.

    This release continues unifying API to work with different MIDI objects finishing the work done in the previous release.

    New features and improvements
    Small changes and bug fixes
    • All exception classes are now serializable.
    • Fixed: ReplaceTempoMap throws an exception for empty track chunks collections / MIDI file.
    You can also see threads on the previous versions:
     
    Last edited: Jan 14, 2023
  2. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    17
    6.1.2 version has been released on NuGet (full | nativeless) and Unity Asset Store (full | nativeless).

    Apple Silicon support

    DryWetMIDI multimedia API now supports Apple Silicon chips when used on macOS (#204). Thanks to @ThaddeusChristopher for testing!

    Nativeless version

    The library has now nativeless version where all native-dependent API is cut out. More info in the Nativeless package article.

    New features and improvements
     
    Last edited: Jan 14, 2023
  3. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    17
    6.1.3 version has been released on NuGet (full | nativeless) and Unity Asset Store (full | nativeless).

    Lazy reading/writing API

    DryWetMIDI now provides ways to read/write data from/to a MIDI file sequentially token by token which allows to keep low memory consumption. Here the new methods and classes aimed for this task:
    Small changes and bug fixes
     
    Last edited: Jan 14, 2023
  4. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    17
    Last edited: Jan 16, 2023
  5. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    17
    7.0.0 version has been released on NuGet (full | nativeless) and Unity Asset Store (full | nativeless).

    Breaking changes

    This version of the library has following breaking changes:
    New features and improvements
    Small changes and bug fixes
    • Improved Quantizer performance.
    • Set default pitch value for PitchBendEvent to 8192.
    • Fixed: GetTimedEvents methods for multiple track chunks returns original events if a single track chunk is in the collection.
    • Fixed: Exception on Chord's length setting below the distance between chord's start and its last note's time.
     
    Last edited: Jun 26, 2023
  6. ngocsontruongbk

    ngocsontruongbk

    Joined:
    May 5, 2019
    Posts:
    3
    Hi melanchall,

    Can you help me how to check if a Melanchall.DryWetMidi.Interaction.Note is a whole-note, quarter-note, ...?

    Thanks you
     
    unity_HBkvRDrq_KFpHg likes this.
  7. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    17
    Hi,

    It can be done with the code like that:

    Code (CSharp):
    1. var length = note.LengthAs<MusicalTimeSpan>(tempoMap);
    2. if (length == MusicalTimeSpan.Quarter)
    3. {
    4.     // ...
    5. }
     
    ngocsontruongbk likes this.
  8. ngocsontruongbk

    ngocsontruongbk

    Joined:
    May 5, 2019
    Posts:
    3
    Thank you so much ^^
     
  9. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    17
    7.0.1 version has been released on NuGet (full | nativeless) and Unity Asset Store (full | nativeless).

    New features and improvements
    Small changes and bug fixes
     
    Last edited: Dec 22, 2023
  10. melanchall

    melanchall

    Joined:
    May 25, 2018
    Posts:
    17
    7.0.2 version has been released on NuGet (full | nativeless) and Unity Asset Store (full | nativeless).

    This a micro-release, which fixes a couple of bugs ✨ ✨

    Small changes and bug fixes
    • Improved chord name detection (#260).
    • Fixed: SMPTE time divisions not being read/written correctly (#275).
     
    Last edited: Dec 27, 2023