Skip to content

Commit 4e6d4d6

Browse files
authored
Merge pull request #2044 from float3/derive-with-altered-degrees
2 parents 2fad5f9 + e299316 commit 4e6d4d6

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

‎music21/scale/__init__.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2486,7 +2486,8 @@ def derive(self, other, comparisonAttribute: str = 'pitchClass') -> ConcreteScal
24862486
abstract = t.cast(AbstractScale, self._abstract)
24872487
net = t.cast('intervalNetwork.IntervalNetwork', abstract._net)
24882488
pairs = net.find(pitchTarget=otherPitches,
2489-
comparisonAttribute=comparisonAttribute)
2489+
comparisonAttribute=comparisonAttribute,
2490+
alteredDegrees=abstract._alteredDegrees)
24902491

24912492
newScale = self.__class__(tonic=pairs[0][1])
24922493
if newScale.abstract is None:

‎music21/scale/test_scale_main.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,10 @@ def testHarmonicMinorDescendingRange(self):
286286
descending = sc.getPitches('c#4', 'g#4', direction=Direction.DESCENDING)
287287
self.assertEqual(self.pitchOut(descending), '[G-4, F4, E-4, D-4]')
288288

289+
def testDeriveHarmonicMinor(self):
290+
sc = scale.HarmonicMinorScale()
291+
self.assertEqual(sc.derive(['C', 'D', 'E-', 'B']).name, 'C harmonic minor')
292+
289293
def testDeriveByDegree(self):
290294
sc1 = scale.MajorScale()
291295
self.assertEqual(str(sc1.deriveByDegree(7, 'G#')),

0 commit comments

Comments
 (0)