Music icon indicating copy to clipboard operation
Music copied to clipboard

Structures for the creation, analysis, and performance of music in Swift

Results 13 Music issues
Sort by recently updated
recently updated
newest added

I wonder if the following could be of use, @jsbean ? ```swift struct Prism { let unwrap: (A) -> B? let wrap: (B) -> A } enum Music { static...

question

At present `let badDur: Duration = 1/>31` causes an error, because 31 is not a power of 2. Proposed eradication of these errors: A constructor of the following form. ```swift...

Some ideas for replacing the enum based articulation with a final tagless approach. This will enable more user customization downstream. ```swift // Articulation that can be represented by a single...

As an analogy to `Scale.Degree` (#91), add the `Chord.Factor` structure for managing component parts of chords.

Build out a `ScaleDegree` structure, with different representational affordances. The `ScaleDegree` might have an `index` (`0`, `1` ...), and depending on the context of the `Scale` (major, minor, etc.) it...

When `IntervalSearchTree` is established and reasonably vetted, push it down to `DataStructures`.

Currently, the README shows low-level usage for each module. Instead, show a `hello, world` high-level usage for the entire package, and add links to documentation for each module (which show...

enhancement

There is currently no way of ensuring that a `.continuation(...)` does not succeed an `.absence`. Perhaps a good way to deal with this is similar to the [`Path.Builder`](https://github.com/dn-m/Graphics/blob/c6786ca2c630597674c563a71159ecdb0bede8e0/Sources/Path/Path.Builder.swift). ```Swift extension...

Implement `ProportionTree` / `DurationTree` with COW structs holding `final class` nodes. While the `enum`-based `Tree` implementation was elegant, performance issues are emerging. By adding the `@inlinable` attribute to these `enum`-based...

A little bit of a work around needs to be made In order to keep the model type-safe: ```Swift extension Model { var entitiesByType: [String: [Identifier]] = [:] func store...