of audio channels (in this example, it's
always 2) if they fall on a strong beat in fast 6/8

>>> import music21
>>> #_DOCS_SHOW import wave
>>> import random
>>> class Wave_read: #_DOCS_HIDE
...    def getnchannels(self): return 2 #_DOCS_HIDE

>>> s = stream.Stream()
>>> s.id = 'mainStream'
>>> s.append(meter.TimeSignature('fast 6/8'))
>>> for i in range(10):
...    #_DOCS_SHOW fileName = 'thisSound_' + str(random.randint(1, 20)) + '.wav'
...    fileName = 'thisSound_' + str(1 + ((i * 100) % 19)) + '.wav' #_DOCS_HIDE
...    soundFile = Wave_read() #_DOCS_HIDE # #make a more predictable "random" set.
...    #_DOCS_SHOW soundFile = wave.open(fileName)
...    soundFile.fileName = fileName
...    el = music21.ElementWrapper(soundFile)
...    s.insert(i, el)

>>> for j in s.getElementsByClass(base.ElementWrapper):
...    if j.beatStrength > 0.4:
...        (j.offset, j.beatStrength, j.getnchannels(), j.fileName)
(0.0, 1.0, 2, 'thisSound_1.wav')
(3.0, 1.0, 2, 'thisSound_16.wav')
(6.0, 1.0, 2, 'thisSound_12.wav')
(9.0, 1.0, 2, 'thisSound_8.wav')
>>> for j in s.getElementsByClass(base.ElementWrapper):
...    if j.beatStrength > 0.4:
...        (j.offset, j.beatStrength, j.getnchannels() + 1, j.fileName)
(0.0, 1.0, 3, 'thisSound_1.wav')
(3.0, 1.0, 3, 'thisSound_16.wav')
(6.0, 1.0, 3, 'thisSound_12.wav')
(9.0, 1.0, 3, 'thisSound_8.wav')

Test representation of an ElementWrapper

>>> for i, j in enumerate(s.getElementsByClass(base.ElementWrapper)):
...     if i == 2:
...         j.id = None
...     else:
...         j.id = str(i) + '_wrapper'
...     if i <=2:
...         print(j)
<music21.base.ElementWrapper id=0_wrapper offset=0.0 obj='<...Wave_read object...'>
<music21.base.ElementWrapper id=1_wrapper offset=1.0 obj='<...Wave_read object...'>
<music21.base.ElementWrapper offset=2.0 obj='<...Wave_read object...>'>

Equality
--------
Two ElementWrappers are equal if they would be equal as Music21Objects and they
wrap objects that are equal.

>>> list1 = ['a', 'b', 'c']
>>> a = base.ElementWrapper(list1)
>>> a.offset = 3.0

>>> list2 = ['a', 'b', 'c']
>>> b = base.ElementWrapper(list2)
>>> b.offset = 3.0
>>> a == b
True
>>> a is not b
True

Offset does not need to be equal for equality:

>>> b.offset = 4.0
>>> a == b
True

But elements must compare equal

>>> list2.append('d')
>>> a == b
False

* Changed in v9: completely different approach to equality, unified w/
  the rest of music21.
)