head_music 4.0.1 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -2
  3. data/Rakefile +0 -2
  4. data/bin/console +0 -2
  5. data/head_music.gemspec +0 -2
  6. data/lib/head_music/{sign.rb → alteration.rb} +13 -15
  7. data/lib/head_music/chromatic_interval.rb +0 -2
  8. data/lib/head_music/circle.rb +0 -2
  9. data/lib/head_music/clef.rb +0 -2
  10. data/lib/head_music/consonance.rb +0 -2
  11. data/lib/head_music/content/bar.rb +0 -2
  12. data/lib/head_music/content/composition.rb +0 -2
  13. data/lib/head_music/content/note.rb +0 -2
  14. data/lib/head_music/content/placement.rb +0 -2
  15. data/lib/head_music/content/position.rb +0 -2
  16. data/lib/head_music/content/rhythmic_value.rb +0 -2
  17. data/lib/head_music/content/voice.rb +0 -2
  18. data/lib/head_music/data/instrument_families.yml +1 -1
  19. data/lib/head_music/data/instruments.yml +570 -522
  20. data/lib/head_music/diatonic_interval.rb +0 -2
  21. data/lib/head_music/harmonic_interval.rb +0 -2
  22. data/lib/head_music/instrument/pitch_configuration.rb +35 -0
  23. data/lib/head_music/instrument/staff.rb +30 -0
  24. data/lib/head_music/instrument/staff_configuration.rb +19 -0
  25. data/lib/head_music/instrument.rb +31 -19
  26. data/lib/head_music/interval_cycle.rb +0 -2
  27. data/lib/head_music/key_signature.rb +0 -2
  28. data/lib/head_music/letter_name.rb +0 -2
  29. data/lib/head_music/locales/en.yml +2 -1
  30. data/lib/head_music/melodic_interval.rb +0 -2
  31. data/lib/head_music/meter.rb +0 -2
  32. data/lib/head_music/motion.rb +0 -2
  33. data/lib/head_music/musical_symbol.rb +0 -2
  34. data/lib/head_music/named.rb +0 -2
  35. data/lib/head_music/pitch/enharmonic_equivalence.rb +0 -2
  36. data/lib/head_music/pitch/octave_equivalence.rb +0 -2
  37. data/lib/head_music/pitch.rb +7 -9
  38. data/lib/head_music/pitch_class.rb +0 -2
  39. data/lib/head_music/pitch_class_set.rb +0 -2
  40. data/lib/head_music/pitch_set.rb +0 -2
  41. data/lib/head_music/quality.rb +0 -2
  42. data/lib/head_music/reference_pitch.rb +0 -2
  43. data/lib/head_music/register.rb +0 -2
  44. data/lib/head_music/rhythm.rb +0 -2
  45. data/lib/head_music/rhythmic_unit.rb +0 -2
  46. data/lib/head_music/scale.rb +0 -2
  47. data/lib/head_music/scale_degree.rb +8 -10
  48. data/lib/head_music/scale_type.rb +0 -2
  49. data/lib/head_music/solmization.rb +0 -2
  50. data/lib/head_music/sonority.rb +0 -2
  51. data/lib/head_music/spelling.rb +18 -20
  52. data/lib/head_music/staff.rb +0 -2
  53. data/lib/head_music/style/analysis.rb +0 -2
  54. data/lib/head_music/style/annotation.rb +0 -2
  55. data/lib/head_music/style/guidelines/always_move.rb +0 -2
  56. data/lib/head_music/style/guidelines/approach_perfection_contrarily.rb +0 -2
  57. data/lib/head_music/style/guidelines/at_least_eight_notes.rb +0 -2
  58. data/lib/head_music/style/guidelines/avoid_crossing_voices.rb +0 -2
  59. data/lib/head_music/style/guidelines/avoid_overlapping_voices.rb +0 -2
  60. data/lib/head_music/style/guidelines/consonant_climax.rb +0 -2
  61. data/lib/head_music/style/guidelines/consonant_downbeats.rb +0 -2
  62. data/lib/head_music/style/guidelines/diatonic.rb +1 -3
  63. data/lib/head_music/style/guidelines/direction_changes.rb +0 -2
  64. data/lib/head_music/style/guidelines/end_on_perfect_consonance.rb +0 -2
  65. data/lib/head_music/style/guidelines/end_on_tonic.rb +0 -2
  66. data/lib/head_music/style/guidelines/frequent_direction_changes.rb +0 -2
  67. data/lib/head_music/style/guidelines/limit_octave_leaps.rb +0 -2
  68. data/lib/head_music/style/guidelines/moderate_direction_changes.rb +0 -2
  69. data/lib/head_music/style/guidelines/mostly_conjunct.rb +0 -2
  70. data/lib/head_music/style/guidelines/no_rests.rb +0 -2
  71. data/lib/head_music/style/guidelines/no_unisons_in_middle.rb +0 -2
  72. data/lib/head_music/style/guidelines/notes_same_length.rb +0 -2
  73. data/lib/head_music/style/guidelines/one_to_one.rb +0 -2
  74. data/lib/head_music/style/guidelines/prefer_contrary_motion.rb +0 -2
  75. data/lib/head_music/style/guidelines/prefer_imperfect.rb +0 -2
  76. data/lib/head_music/style/guidelines/prepare_octave_leaps.rb +0 -2
  77. data/lib/head_music/style/guidelines/recover_large_leaps.rb +0 -2
  78. data/lib/head_music/style/guidelines/singable_intervals.rb +0 -2
  79. data/lib/head_music/style/guidelines/singable_range.rb +0 -2
  80. data/lib/head_music/style/guidelines/single_large_leaps.rb +0 -2
  81. data/lib/head_music/style/guidelines/start_on_perfect_consonance.rb +0 -2
  82. data/lib/head_music/style/guidelines/start_on_tonic.rb +0 -2
  83. data/lib/head_music/style/guidelines/step_down_to_final_note.rb +0 -2
  84. data/lib/head_music/style/guidelines/step_out_of_unison.rb +0 -2
  85. data/lib/head_music/style/guidelines/step_to_final_note.rb +0 -2
  86. data/lib/head_music/style/guidelines/step_up_to_final_note.rb +0 -2
  87. data/lib/head_music/style/guidelines/up_to_fourteen_notes.rb +0 -2
  88. data/lib/head_music/style/guides/first_species_harmony.rb +0 -2
  89. data/lib/head_music/style/guides/first_species_melody.rb +0 -2
  90. data/lib/head_music/style/guides/fux_cantus_firmus.rb +0 -2
  91. data/lib/head_music/style/guides/modern_cantus_firmus.rb +0 -2
  92. data/lib/head_music/style/mark.rb +0 -2
  93. data/lib/head_music/tuning.rb +0 -2
  94. data/lib/head_music/utilities/hash_key.rb +0 -2
  95. data/lib/head_music/version.rb +1 -3
  96. data/lib/head_music.rb +4 -3
  97. metadata +6 -3
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for style guidelines.
4
2
  module HeadMusic::Style::Guidelines; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for guides
4
2
  module HeadMusic::Style::Guides; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for guides
4
2
  module HeadMusic::Style::Guides; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for guides
4
2
  module HeadMusic::Style::Guides; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # Module for guides
4
2
  module HeadMusic::Style::Guides; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # A mark is a fragment of music with an optional fitness score assigned.
4
2
  # Marks are collected into annotations which comment on a voice.
5
3
  class HeadMusic::Style::Mark
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # A tuning has a reference pitch and frequency and provides frequencies for all pitches
4
2
  # The base class assumes equal temperament tuning. By default, A4 = 440.0 Hz
5
3
  class HeadMusic::Tuning
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # A namespace for utilities classes and modules
4
2
  module HeadMusic::Utilities; end
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module HeadMusic
4
- VERSION = "4.0.1"
2
+ VERSION = "5.0.0"
5
3
  end
data/lib/head_music.rb CHANGED
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module HeadMusic
4
2
  GOLDEN_RATIO = (1 + 5**0.5) / 2.0
5
3
  GOLDEN_RATIO_INVERSE = 1 / GOLDEN_RATIO
@@ -34,6 +32,7 @@ require "head_music/utilities/hash_key"
34
32
  require "head_music/named"
35
33
 
36
34
  # rudiments
35
+ require "head_music/alteration"
37
36
  require "head_music/chromatic_interval"
38
37
  require "head_music/circle"
39
38
  require "head_music/clef"
@@ -42,6 +41,9 @@ require "head_music/diatonic_interval"
42
41
  require "head_music/harmonic_interval"
43
42
  require "head_music/instrument_family"
44
43
  require "head_music/instrument"
44
+ require "head_music/instrument/pitch_configuration"
45
+ require "head_music/instrument/staff_configuration"
46
+ require "head_music/instrument/staff"
45
47
  require "head_music/interval_cycle"
46
48
  require "head_music/key_signature"
47
49
  require "head_music/letter_name"
@@ -63,7 +65,6 @@ require "head_music/rhythmic_unit"
63
65
  require "head_music/scale"
64
66
  require "head_music/scale_degree"
65
67
  require "head_music/scale_type"
66
- require "head_music/sign"
67
68
  require "head_music/solmization"
68
69
  require "head_music/sonority"
69
70
  require "head_music/spelling"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: head_music
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Head
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-20 00:00:00.000000000 Z
11
+ date: 2023-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -120,6 +120,7 @@ files:
120
120
  - bin/setup
121
121
  - head_music.gemspec
122
122
  - lib/head_music.rb
123
+ - lib/head_music/alteration.rb
123
124
  - lib/head_music/chromatic_interval.rb
124
125
  - lib/head_music/circle.rb
125
126
  - lib/head_music/clef.rb
@@ -137,6 +138,9 @@ files:
137
138
  - lib/head_music/diatonic_interval.rb
138
139
  - lib/head_music/harmonic_interval.rb
139
140
  - lib/head_music/instrument.rb
141
+ - lib/head_music/instrument/pitch_configuration.rb
142
+ - lib/head_music/instrument/staff.rb
143
+ - lib/head_music/instrument/staff_configuration.rb
140
144
  - lib/head_music/instrument_family.rb
141
145
  - lib/head_music/interval_cycle.rb
142
146
  - lib/head_music/key_signature.rb
@@ -167,7 +171,6 @@ files:
167
171
  - lib/head_music/scale.rb
168
172
  - lib/head_music/scale_degree.rb
169
173
  - lib/head_music/scale_type.rb
170
- - lib/head_music/sign.rb
171
174
  - lib/head_music/solmization.rb
172
175
  - lib/head_music/solmizations.yml
173
176
  - lib/head_music/sonority.rb