Skip to content

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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>.

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

About

ableton link for openFrameworks

Resources

Stars

38 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages