← Back

ofxAbletonLink

github.com/2bbb/ofxAbletonLink · @2bbb
OF 0.12 Sound Web/Networking

ableton link for openFrameworks

38 8 Last commit 1mo ago Created 10y ago

README

ofxAbletonLink



Ableton Link addon for openFrameowkrs

Test



OSX Yosemite 10.14.6 Xcode 11.2 oF0.10.1 osx release

Automated tests



testApp runs no-window unit tests for the public settings API and verifies that constructing and destroying ofxAbletonLink adds and removes exactly one openFrameworks update listener. Its Make build uses C++20 to exercise the std::result_of compatibility layer.

make -C testApp Debug OF_ROOT=/path/to/openFrameworks
make -C testApp RunDebug OF_ROOT=/path/to/openFrameworks


GitHub Actions runs the same tests with openFrameworks 0.12.1 using macOS Make, macOS Xcode, Linux Make, and Windows Visual Studio builds.

Setup



git clone --recursive git@github.com:2bbb/ofxAbletonLink.git


if you don't use ProjectGenerator



add header search path ofxAbletonLink/libs/compat ofxAbletonLink/libs/link/include ofxAbletonLink/libs/link/modules/asio-standalone/asio/include add project ofxAbletonLink/src/ofxAbletonLink.h !!! DON'T add other files to project

C++ dialect



The bundled Ableton Link (2019) uses std::result_of in PeerGateways.hpp. That trait was removed in C++20; std::invoke_result arrived in C++17.

libs/compat (first include path) shadows PeerGateways.hpp and picks the trait from the language mode:

C++11 / C++14 (OF 0.10–0.11): std::result_of C++17+: std::invoke_result

On C++20+ only, ofxAbletonLink.h also sets ASIO_HAS_STD_INVOKE_RESULT so Asio 1.14 does not using std::result_of (Asio enables that itself on MSVC already). Older dialects are left alone so C++11/14 OF projects keep building.

Drop libs/compat when bumping the libs/link submodule to a Link release that already uses invoke_result.

Update histor



2026/08/31 ver 0.0.4



C++20/23: std::invoke_result when the dialect is C++17+; keep std::result_of for older OF. Asio ASIO_HAS_STD_INVOKE_RESULT only on C++20+.

2019/11/25 ver 0.0.3



update version of ableton link to 20496fa142efc27bfe4abf939126d820df998cab add ofxAbletonLinkSetting for construct / setup implement features about sync play state. (what abletonlink named playStop)

2018/05/21 ver 0.0.2



update version of ableton link to 3.0.1

2016/11/28 ver 0.0.1



License



MIT License.

Dependencies license



Ableton Link



Ableton/link

GNU GPL v2.0

Copyright 2016, Ableton AG, Berlin. All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

If you would like to incorporate Link into a proprietary software application,
please contact <link-devs@ableton.com>.


asio



Catch



chriskohlhoff/asio philsquared/Catch

boost v1.0

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.


Author



ISHII 2bit [bufferRenaiss co., ltd.] ishii[at]buffer-renaiss.com

Contributor



Get this addon

HTTPS
SSH