asked Apr 23 at 18:24 by arglebargle (21)


I'm looking over the API docs for the clip and note API and realizing that the actual capabilities are not well documented, just implied. I'm hoping to figure out what the clip / sequencer capabilities are without actually having to spend time writing a test plugin to introspect what the API is giving back. Here's an excerpt from the docs for the Clip interface:

An interface that provides access to the contents of a clip in Bitwig Studio.

The note content of the clip is exposed in terms of steps and keys, mainly targeted to x-y-grid applications such as step sequencers.

Like, what exactly does that mean? That this interface can modify clips, but will always round note positions to arbitrary integer steps? What are the steps in a clip? Are they in 4/4 time? 3/4 time? What is the maximum bound of a step? Wtf is a step, lol?

I notice that there are API calls that represent steps as ints - what are the units? What is this stuff? Is this documented anywhere, lol?

void setStep    (   int     x,
        int     y,
        int     insertVelocity,
        double      insertDuration 

I also notice there's an API call for:

void setStepSize    (   double      lengthInBeatTime    ) 
lengthInBeatTime    the length of one note grid step in beat time.

What is this unit of time? Wtf is beat time - seconds? If I change the step size in a clip, can I make a clip that has notes that are different units apart? Or does the Bitwig API end up trying to treat the clip as a virtual step sequencer, meaning that each note slot is always separated by the same value?

I'm trying to figure out if I can write a Bitwig extension that can load/dump sequencer clips into another format. Has anyone used the clip API? Is there any actual documentation that will tell me how this API is intended to behave or be used? (API docs being insufficient as they don't really tell you how anything works or what it does, just the names of the function arguments.)

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: Apr 23 at 18:24

Seen: 142 times

Last updated: Apr 23 at 18:24