Repository: cuthbertLab/music21 (python)

Issue:
Fast 3/8 accent sequence no longer partitioned
**music21 version**

`7.0.2`


**Problem summary**
"FAST" 3/8 (new in v7) no longer gets a partitioned accent sequence (new) 
or beat sequence (status quo for other 1-beat meters like 1/4, but doesn't seem ideal.)
 Lack of a partitioned accent sequence could be an inconvenience for doing syncopation analysis.

**Steps to reproduce**

```
>>> ts38 = meter.TimeSignature('3/8')
meter: cannot set default accents for: <music21.meter.TimeSignature 3/8>
>>> ts38.accentSequence
<music21.meter.core.MeterSequence {3/8}>
>>> ts38.beatSequence
<music21.meter.core.MeterSequence {3/8}>
>>> ts38.beatDivisionDurations
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jwalls/music21/music21/meter/base.py", line 988, in beatDivisionDurations
    raise TimeSignatureException(
music21.exceptions21.TimeSignatureException: cannot determine beat division for a non-partitioned beat
>>> ts38.classification
'Other Single'
```

**Expected behavior**

beatSequence:  <music21.meter.core.MeterSequence {3/8}>
accentSequence: <music21.meter.core.MeterSequence {1/16+1/16+1/16+1/16+1/16+1/16}>
classification: 'Compound Single'

Other 1-beat meters 
don't get beat partitions (which I suggest they could)
, but they at least get a partitioned accent sequence:
```
>>> ts14 = meter.TimeSignature('1/4')
>>> ts14.accentSequence
<MeterSequence {1/32+1/32+1/32+1/32+1/32+1/32+1/32+1/32}>
>>> ts14.beatSequence
<MeterSequence {1/4}>
```


Pull request:
Fix accentSequence for 3/8
Fixes #925 

After 9b86712d0ec509de9a774b9d4138e9c3d2d6f226 we started passing `1` instead of `3` as `firstPartitionForm`. We were getting lucky with `1` being the numerator of `1/4`, etc., so numerators of `3` made the only difference in behavior.

Better to pass `None` and assume less.

https://github.com/cuthbertLab/music21/blob/546683ad59a0368908a4325537d468f22f084acd/music21/meter/core.py#L986-L992

Patch:
diff --git a/music21/meter/base.py b/music21/meter/base.py
index b9592f17c..ec239a2e4 100644
--- a/music21/meter/base.py
+++ b/music21/meter/base.py
@@ -1178,7 +1178,10 @@ class TimeSignature(base.Music21Object):
         # create a scratch MeterSequence for structure
         tsStr = f'{self.numerator}/{self.denominator}'
         if self.beatSequence.isUniformPartition():
-            firstPartitionForm = len(self.beatSequence)
+            if len(self.beatSequence) > 1:
+                firstPartitionForm = len(self.beatSequence)
+            else:
+                firstPartitionForm = None
             cacheKey = (tsStr, firstPartitionForm, depth)
         else:  # derive from meter sequence
             firstPartitionForm = self.beatSequence


Test patch:
diff --git a/music21/meter/tests.py b/music21/meter/tests.py
index 493f6c3f4..5ee71b264 100644
--- a/music21/meter/tests.py
+++ b/music21/meter/tests.py
@@ -388,6 +388,9 @@ class Test(unittest.TestCase):
                       0.5, 0.125, 0.25, 0.125, 0.25, 0.125,
                       0.5, 0.125, 0.25, 0.125, 0.25, 0.125]),
 
+            ('3/8', [1.0, 0.125, 0.25, 0.125, 0.5, 0.125,
+                     0.25, 0.125, 0.5, 0.125, 0.25, 0.125]),
+
             ('11/8',
              [1.0, 0.125, 0.25, 0.125,
               0.5, 0.125, 0.25, 0.125,