GMCycleView:
Filter:
GraphicalModule/Classes (extension) | GUI > Graphical Module

GMCycleView
ExtensionExtension

A simple visual display to keep track of the current beat

Description

Numerous musical styles subdivide time in several layers, which are also sudbivided by a certain numerical value.

For example, most jazz songs loop over a single chord progression.

In this particular example, however, we usually tend to merge the 2nd and 3rd steps :

GMCycleView allows you to specifiy such subdivisions and to regularly update it so it displays the current position of the beat within each of those defined layers :

In this example, we can see 'times' advance on the bottom of the view. Once they reach their max, they'll start again while incrementing the 'bars' value, which is directly above. The 'bars' value will do the same to the 'cycles' value, and the 'cycles' value will do the same to the 'sections' value.

As an other example, we can imagine a waltz, that would consists of 8 musical phrases, with each phrase consisting of 4 bars, with each bar consisting of 6 times (please note that the method cycles takes those arguments from the lower subdivision to the highest) :

Class Methods

.new

Creates a new instance of GMCycleView.

Its graphical properties are defined by its associated GMStyle.

Returns:

a GMCycleView instance.

Instance Methods

.cycles

Sets or gets the number of cycles, and theirs subdivisions (see example above). This will reset the view.

.advance

Advances the GMCycleView by one beat. Internally defers the refresh call.

.reset

Resets the GMCycleView backs to the very first beat. Internally defers the refresh call.

.states

Sets or gets the current beat position in every cycle. Can be used to advance manually. Internally defers the refresh call.

Internal Methods

.draw

The function associated to the View's drawFunc. Shouldn't be modified.