Tags

Tags give the ability to mark specific points in history as being important
  • 0.7.0

    protected
    7b3fd85d · 0.7.0 release ·
    Release: 0.7.0
    ====================
    | `0.7.0` release  |
    ====================
    
    There are breaking changes in this release related to the following types:
    - `Slices`
    - `Slice`
    - `SampleSettingsFile`
    - `MarkersFile`
    - `SlotMarkers`
    
    ----------------
    | MarkersFile  |
    ----------------
    
    - change 'validate' method visiblilty
    - change 'validate' method error return type
    - more detailed documentation
    - additional test cases
    - added `deinit` method for resetting the file
    
    ----------------
    | SlotMarkers  |
    ----------------
    
    - add 'new' method
    - change 'validate' method visibililty
    - change 'validate' method error return type
    - fix assumptions made in 'validate' method
    - added `deinit` method for resetting the slot's markers
    - added `From<AsRef<SampleSettingsFile>>` implementation for `SlotMarkers`
    - more detailed documentation
    - additional test cases
    
    -----------
    | Slices  |
    -----------
    
    - removed `Slices` type (no longer used)
    
    ---------
    | Slice |
    ---------
    
    - change 'new' method error return type
    - change 'validate' method error return type
    - fix incorrect assumptions made for 'validate' method
    - added `deinit` method for resetting the slice's markers
    - more detailed documentation
    - additional test cases
    
    -----------------------
    | SampleSettingsFile  |
    -----------------------
    
    - reworked `new` method
      - `AsRef<SlotMarkers>` as argument for markers (removes `TrimConfig`, `LoopConfig` and `Slices`)
      - `trim_bar_len` and `loop_bar_len` as optional arguments (see documentation caveats!)
      - added comment with notes about future work to reduce arguments for `new` method
    - added `validate()` method
    - added `to_slot_attr` method for converting settings file into a `SlotAttributes` type
    - added `From<(AsRef<SlotAttributes>, AsRef<SlotMarkers>)>` implementation for sample settings file
    - more detailed documentation
    - additional test cases
    
    ----------
    | Others |
    ----------
    
    - Move `DEFAULT_GAIN` and `DEFAULT_TEMPO` constants to `projects` module
    - Rename `MarkersError` to `SlotMarkersError`
    - Remove unnecessary `SlotMarkersError` variant
    
  • 0.6.2

    protected
    Add: Full `Default` implementations for project settings sub-types.
    Add: `AsRef` and `AsMut` for all types.
    Add: `std` derive traits for all types.
    CICD: Do not allow lint failures.
    
  • 0.6.1

    protected
    b715a2ec · 0.6.1 version updates. ·
    - Fix: Error strings should always be lowercase
    - Fix: Missing export for `ProjectSlotsError`
    - Fix: MidiChannel -> ProgChMidiChannel setting (missing Auto variant, channel values)
    - Fix: Missing license file header
    - Add: `IsDefaultCheck` trait added to `SlotMarkers`
    - Add: Additional tests (samples, parts, slots, settings, slices)
    
  • 0.6.0

    protected
    b8f77f38 · Release 0.6.0 ·
    BankFile: Seemingly functional checksum implementation.
    ProjectFile: Handle missing file keys more cleanly/obviously.
    ProjectFile: Handle non utf8 characters in project datafiles.
    ProjectFile: Add a method to check a project's os version compatability against the library.
    ProjectFile: Fixup: reading slots created an owned PathBuf instance for branch condition.
    ProjectFile: Add test cases for parsing non-utf-8 sample file paths.
    ArrangementFile: Fixup: Unwrap would always error as unwrapping a None.
    Lib: Add array of allowed OS version strings for the library.
    
  • 0.4.1

    protected
  • 0.3.2

    protected
  • 0.3.1

    protected
    295b1a30 · 3.0.0-docs-updatesx ·
  • 0.3.0

    protected
  • 0.2.0

    protected Release: 0.2.0
    FIXED
    ----
    * `test-data` path changed recently.
    * A docs test was persistently broken on CI runners.
    * Typos etc in project metadata header docs.
    * Clippy lint errors now cause proper CI job failures/warnings.
    * `Part::default(part_id)` method is now public
    
    REMOVED
    ----
    * `XFileRawBytes` types removed -- can just use `bincode` directly
    * Conversion util functions -- being handled elsewhere
    
    CHANGED
    ----
    * Correctly implement `ToString` for `ProjectFile` and its subtypes.
    * Added and updated examples in documentation.
    * Rename `SampleAttributes` to `SampleSettingsFile`.
    * project slot path field is now an `Option<PathBuf>` to handle recording buffers more easily
    * Rename `ProjectSampleSlot` to `SlotAttributes`.
    * Rename `SlotPlayback` to `SlotMarkers`.
    * Rename `ProjectStates` to `State`.
    * Rename `ProjectSettings` to `Settings`.
    * Rename `ProjectMetadata` to `OsMetadata`.
    * Removed `RecorderBuffer` as possible slot type (last 8 slots in flex slots are now buffers).
    * Merged dedicated recorder buffer slots field into flex slots field (`MarkersFile`).
    * Split out integration tests into `tests` dir
    * Reorganized modules, flatten the crate hierarchy
    * Derive `ReadableFileType` super trait on all major file types (adds trait bounds for `Decode`/`Encode`/`Serialize` and `Deserialize`)
    * Re-export major file types from crate root
    * No more converting to 'human-readable' values of tempo/gain fields etc when reading files
    * `OptionEnumValueConvert` trait now public and reworked to be generic (no more associated types)
    * Cleaned up some other traits to use generics instead of associated types
    
  • 0.1.2

    protected
    6ef8db9a · Version update. ·
    calculate checksum trait; docs update; lints
    
  • 0.1.1

    protected
    7bcf0d70 · version update. ·
    Docuementation clean up; doctests; examples; etc.
    
  • 0.1.0

    protected
    Initial release.