GithubHelp home page GithubHelp logo

ruby_4_live's Introduction

Ruby 4 Live

A Ruby implementation of the Ableton Live API. The current version connects to an included Max For Live patch via OSC to interact with the API.

Author

Peter Marks (petertmarks [at] gmail [dot] com)

Status

This is a young library (first commit 11/24/2009) and the API is subject to change. Currently, I'm modeling it after my own needs. If you are using it and have requests or questions, I am happy to listen and respond.

Dependancies

Usage

Establish a connection to the a LiveSet running the included max patch by creating a LiveConnection object:

>  connection = LiveConnection.new('localhost', 7402, 7403)
=> <LiveConnection>

Once connected, you can create a LiveSet object to scan for every Track, Device, DeviceParameter, ClipSlot and Clip 'LiveObject':

>  require 'live_api'
=> true
>  set = LiveSet.new(connection)
   Scan Complete
=> LiveSet: 7 tracks, 10 devices, 37 parameters, 60 clip slots, 21 clips

The initial scan also fetches object attributes as specified in config/settings.yaml. It may take a few seconds to load everything. If you're having trouble, try increasing the SLEEP_INTERVAL constant. The LiveSet object stores all children LiveObjects in its 'objects' attribute to allow for easy serialization of the set.

Once the set is initialized, you can get all its objects of a particular kind by calling that kind pluralized:

>  set.tracks
=> [#<Track @order=0, @id=2, @name="1-Audio">, #<Track @order=1, @id=3, @name="2-Audio">]

LiveObject properties act as accessor methods:

>  set.tracks[0].name
=> "1-Audio"

My To-Do List

  • Implement functionality for LiveSet, Scene and other objects.
  • Improved error handling for set scanning.
  • Transport listeners
  • Test suite
  • Make gem version

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.