Skip to content

Commit

Permalink
♻️ refactor(positioned_note): rename equalTemperamentFrequency refe…
Browse files Browse the repository at this point in the history
…rence parameters consistently (#253)
  • Loading branch information
albertms10 committed Aug 6, 2023
1 parent 1eca3d7 commit 50a1a82
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 36 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ void main() {
// Frequencies
Note.a.inOctave(4).equalTemperamentFrequency(); // 440.0 Hz
Note.b.flat.inOctave(4).equalTemperamentFrequency(
reference: Note.c.inOctave(4),
frequency: const Frequency(256),
referenceNote: Note.c.inOctave(4),
referenceFrequency: const Frequency(256),
); // 456.1401436878537 Hz
// Crazy chaining
Expand Down
4 changes: 2 additions & 2 deletions example/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ void main() {
// Frequencies
Note.a.inOctave(4).equalTemperamentFrequency(); // 440.0 Hz
Note.b.flat.inOctave(4).equalTemperamentFrequency(
reference: Note.c.inOctave(4),
frequency: const Frequency(256),
referenceNote: Note.c.inOctave(4),
referenceFrequency: const Frequency(256),
); // 456.1401436878537 Hz

// Crazy chaining
Expand Down
9 changes: 5 additions & 4 deletions lib/src/note/frequency.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ class Frequency implements Comparable<Frequency> {
return hertz >= minFrequency && hertz <= maxFrequency;
}

/// Returns the closest [PositionedNote] to this [Frequency], with the
/// difference in `cents` and `hertz`.
/// Returns the closest [PositionedNote] to this [Frequency] from
/// [referenceNote] and [referenceFrequency], with the difference in `cents`
/// and `hertz`.
///
/// Example:
/// ```dart
Expand Down Expand Up @@ -61,8 +62,8 @@ class Frequency implements Comparable<Frequency> {
.inOctave(PositionedNote.octaveFromSemitones(semitones));

final closestNoteFrequency = closestNote.equalTemperamentFrequency(
reference: referenceNote,
frequency: referenceFrequency,
referenceNote: referenceNote,
referenceFrequency: referenceFrequency,
);

return (
Expand Down
15 changes: 8 additions & 7 deletions lib/src/note/positioned_note.dart
Original file line number Diff line number Diff line change
Expand Up @@ -236,20 +236,20 @@ final class PositionedNote
}

/// Returns the equal temperament [Frequency] of this [PositionedNote] from
/// [frequency] and [reference].
/// [referenceNote] and [referenceFrequency].
///
/// Example:
/// ```dart
/// Note.a.inOctave(4).equalTemperamentFrequency() == const Frequency(440)
/// Note.c.inOctave(4).equalTemperamentFrequency() == const Frequency(261.63)
///
/// Note.b.flat.inOctave(4).equalTemperamentFrequency(
/// frequency: const Frequency(438),
/// referenceFrequency: const Frequency(438),
/// ) == const Frequency(464.04)
///
/// Note.a.inOctave(4).equalTemperamentFrequency(
/// reference: Note.c.inOctave(4),
/// frequency: const Frequency(256),
/// referenceNote: Note.c.inOctave(4),
/// referenceFrequency: const Frequency(256),
/// ) == const Frequency(430.54)
/// ```
///
Expand All @@ -261,10 +261,11 @@ final class PositionedNote
/// note.equalTemperamentFrequency().closestPositionedNote().$1 == note;
/// ```
Frequency equalTemperamentFrequency({
PositionedNote reference = const PositionedNote(Note.a, octave: 4),
Frequency frequency = const Frequency(440),
PositionedNote referenceNote = const PositionedNote(Note.a, octave: 4),
Frequency referenceFrequency = const Frequency(440),
}) =>
frequency * EqualTemperament.edo12.ratio(reference.difference(this));
referenceFrequency *
EqualTemperament.edo12.ratio(referenceNote.difference(this));

/// Returns the string representation of this [Note] following the
/// [scientific pitch notation](https://en.wikipedia.org/wiki/Scientific_pitch_notation).
Expand Down
42 changes: 21 additions & 21 deletions test/src/note/positioned_note_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -733,119 +733,119 @@ void main() {
expect(
Note.c
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(260.44, 0.01),
);
expect(
Note.c.sharp
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(275.92, 0.01),
);
expect(
Note.d.flat
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(275.92, 0.01),
);
expect(
Note.d
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(292.33, 0.01),
);
expect(
Note.d.sharp
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(309.71, 0.01),
);
expect(
Note.e.flat
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(309.71, 0.01),
);
expect(
Note.e
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(328.13, 0.01),
);
expect(
Note.f
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(347.64, 0.01),
);
expect(
Note.f.sharp
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(368.31, 0.01),
);
expect(
Note.g.flat
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(368.31, 0.01),
);
expect(
Note.g
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(390.21, 0.01),
);
expect(
Note.g.sharp
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(413.42, 0.01),
);
expect(
Note.a.flat
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(413.42, 0.01),
);
expect(
Note.a
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
438,
);
expect(
Note.a.sharp
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(464.04, 0.01),
);
expect(
Note.b.flat
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(464.04, 0.01),
);
expect(
Note.b
.inOctave(4)
.equalTemperamentFrequency(frequency: frequency)
.equalTemperamentFrequency(referenceFrequency: frequency)
.hertz,
closeTo(491.64, 0.01),
);
Expand All @@ -860,8 +860,8 @@ void main() {
Note.c
.inOctave(4)
.equalTemperamentFrequency(
frequency: frequency,
reference: Note.c.inOctave(4),
referenceFrequency: frequency,
referenceNote: Note.c.inOctave(4),
)
.hertz,
256,
Expand All @@ -870,8 +870,8 @@ void main() {
Note.a
.inOctave(4)
.equalTemperamentFrequency(
frequency: frequency,
reference: Note.c.inOctave(4),
referenceFrequency: frequency,
referenceNote: Note.c.inOctave(4),
)
.hertz,
closeTo(430.53, 0.01),
Expand Down

0 comments on commit 50a1a82

Please sign in to comment.