1.2.3 • Published 7 years ago

aframe-metronome-component v1.2.3

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

aframe-metronome-component

A component for A-Frame that fires events at a specified rhythm, to facilitate building loop-based musical VR applications.

Properties

PropertyDescriptionDefault Value
bpmBeats Per Minute. The overall speed of the loop.80
beatsPerBarThe number of beats contained in each bar of the loop.4
barsPerLoopThe number of bars in each loop.4
startTimeHow long to wait (in milliseconds) after the page loads before the metronome starts. Can be reassigned to effectively jump to any point in the loop.performance.now() + 500

Events

EventDescription
beatFires on every beat of the loop, according to the component's bpm property. Contains information about the current beat relative to the current bar, current loop, total beats, etc.
tickContains roughly the same information as the beat event, but fires more frequently. Each beat is divided into 12 ticks.

Installation

Browser Installation

<head>
    <title>A Musical A-Frame Scene</title>
    <script src="https://aframe.io/releases/0.6.0/aframe.min.js"></script>
    <script src="https://unpkg.com/aframe-metronome-component"></script>
</head>

<body>
    <a-scene>
        <a-entity id="clock" metronome="bpm:136;beatsPerBar:8;barsPerLoop:8"></a-entity>
    
    </a-scene>
</body>

NPM Installation

Install via NPM:

npm install aframe-metronome-component

Usage

var clock = document.getElementById('clock')

clock.addEventListener('beat', function(event){
    console.log(event.detail)
    var ed = event.detail
    if (  (ed.beatInBar % 2 === 1) && (ed.barInLoop !== 1) ) {
        // code in this block will run on every other beat, except during the first bar of each loop
        // e.g. snareDrum.play() 
    }

}

clock.addEventListener('tick', function(event){
    console.log(event.detail)
}
1.2.3

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago