Code Monkey home page Code Monkey logo

carabiner's People

Contributors

ant1r avatar brunchboy avatar xavriley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

carabiner's Issues

Carabiner forces BPM when joining partner

When starting Carabiner most of the time it jumps itself to whatever bpm the other device is working at, but sometimes it forces the partner to jump to 120bpm. I don't know whether this is part of the protocol. or a bug with my partner application (Desktop MPC).

Is there some way to debug the link, or an explanation on why this might happen

[Windows] Problem with .dll-Files

On what Visual C++ Version was this tested? I tried the software with the 2015 version and the 2017 version, but always got the error message that needed .dll-files don't exist, even though they exist.
I've been trying different .dll Files etc. but nothing seems to solve the problem

question: is it normal that the server socket is bound on 127.0.0.1 ?

Description
Hello, I'm developing a program on ESP32 that connects to a carabiner instance running on a computer in the network.
But I'm facing an issue : carabiner's server socket is bound on localhost, and is unreachable from another device. I think it should listen to 0.0.0.0 (any address)

Potential solution
Would it be possible to add a command line parameter, in order to replace the default IP, and not only the port ?

Thanks for the good work !

Let Carabiner feed Links master tempo when USB is selected as input source on all four DJM channels

Hi,

I have read through the documentation but couldn't find any information on this.

My goal is to let Ableton Link be the master tempo to control a DJM's effect unit BPM in sync and quantized on all four channels but also when USB is selected as the input source. I usually have four tracks in my Ableton set which I feed accordingly to my DJM mixer into channels 1-4. As far as I know, Carabiner can only act as one virtual player and therefore only control the effect units BPM of that particular deck number. Further, it seems to me that a Pro DJ Link is only engaged when Line or Digital is selected as the input source.

  1. Is it possible that Carabiner can act as up to 4 players to send BOM information to DJM Channel 1-4?
  2. is it possible that Pro DJ Link can also be used along Carabiner when USB is selected as an input source?

Regards
Christian

Headles pro link to midi clock

Hey!
I have been using the beat-link-trigger up until now because it supports translation of the dj link to midi but it requires carrying an expensive laptop just to act as a translator...
Is there any chance that the link to midi functionality could be ported to carabiner so this simple link->midi clock translation can run on a headless and cheap device? The idea is that we would specify the midi device (usb midi interface), midi start and midi start behavior and the player to watch as startup parameters of the carabiner and all it would do would be syncing a connected midi device same like beat-link-trigger does but without the gui and other stuff we don't need for this use case.
Thanks!
Marek

Carabiner MacOs Installation

Hello,

When i try to install the .dmg on my Macbook it shows me the errormessage: "filesystem not found".
Can someone help me out?
I installed the Beat Link Trigger.jar via Terminal and connected my CDJ's, but i cant run Carabiner.
Regards
Henrik

Support a command delimiter

It turns out that if commands get written close enough after one another on Carabiner’s socket, they get read as a single message, which causes parse errors like:

Failed to parse bpm: 127.4239501953125beat-at-time 355485494024 4.0

So I guess we need something to separate commands. To do this in a backwards compatible way, don’t require them, but allow them (and split on them). Probably newline? And add a new command that Beat Link Trigger can use to test if this is allowed before using it?

Windows

Will a windows version be available? if so when?

Late/Slow response from beat_at_time() and time_at_beat()

Continuing my adventures with LinkToPy and Carabiner... I have an example program which toggles between two/multiple tempos, it tracks the differences between AbletonLink time and CPU time and schedules tempo change to happen on the downbeat of a bar.

I used the time_at_beat() and beat_at_time() calls to calculate the desired times, however I am seeing that sometimes the callbacks do not complete in a timely manner (ie > 1.0s), risking the integrity of the scheduling. If I re-call the function the callback appears to complete quickly.
https://github.com/mungewell/LinkToPy/blob/examples/example/toggle_bpm.py#L115

How quickly should these respond, what's a sensible maximum/timeout value?

My onscreen debug gives

Tempo change scheduled for beat: 5364.000000 @ 229185.327975 (now 229193.939212)
Tempo set to: 90.000000  (beat: 5363.983610 @ 229193.947327)

Tempo change scheduled for beat: 5380.000000 @ 229194.042372 (now 229204.595869)
Tempo set to: 110.000000  (beat: 5379.998919 @ 229204.606412)

Tempo change scheduled for beat: 5396.000000 @ 229204.689938 (now 229213.334753)
Tempo set to: 90.000000  (beat: 5395.995767 @ 229213.342822)

TimeAtBeat slow response!
Tempo change scheduled for beat: 5412.000000 @ 229214.431901 (now 229223.997288)
Tempo set to: 110.000000  (beat: 5412.012508 @ 229224.006812)

Tempo change scheduled for beat: 5428.000000 @ 229224.083124 (now 229232.715028)
Tempo set to: 90.000000  (beat: 5427.975556 @ 229232.722845)

I am running on Xubuntu, with Carabiner 1.1.6.

libatomic not linked

The Bug

When building using CMake, libatomic is not linked.

xartrick@sylvanas:~/dev/carabiner/build$ cmake --build .
[..]
[ 71%] Linking CXX executable bin/Carabiner
/usr/bin/ld: CMakeFiles/Carabiner.dir/carabiner.cpp.o: in function `std::__atomic_base<unsigned long>::is_lock_free() const':
carabiner.cpp:(.text._ZNKSt13__atomic_baseImE12is_lock_freeEv[_ZNKSt13__atomic_baseImE12is_lock_freeEv]+0x19): undefined reference to `__atomic_is_lock_free'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/Carabiner.dir/build.make:100: bin/Carabiner] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/Carabiner.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

How to reproduce

  1. Clone the repository ;
  2. Follow Building on README.md ;
  3. See error.

Workaround

Add atomic to target_link_libraries in CMakeLists.txt.

Environment

  • OS: Ubuntu 19.10
  • Project version: master

Start/Stop Sync - After 'Start' peer waits for next bar before playing clicks.

Working to overcome some issues with Desktop MPC. It can peer with a Ableton Link session and correctly gets/sets/tracks tempo, however it is missing the start/stop capabilities. It does output MMC messages, and I wrote a small Python script to receive these and issue the AbletonLink Stop/Start.

I added the appropriate commands to 'Link-to-Py' here:
bdyetton/LinkToPy#1

However the bug I am seeing is that the peer (SoundBrenner Metronome app) waits for 2nd bar before starting/producing clicks. This is probably a lack of my know how, rather than a bug... but trying to understand. I have not measured if there is a time delay/offset between MPC and SB once they are both playing, but seems OK at a glance.

When starting a stopped session (ie 'Playing: false') is there something else other than issuing the start-playing message with a time stamp? At present I am using the time stamp from the previous status message/callback, I guess it is better to correct this with the increase in local time since that occurred.

At the moment of pressing the 'play' button, are there other commands which should be sent to make this moment in time the downbeat?

I am using the prebuilt 1.1.6 release on Windows 10. MPC v2.10 running on the same machine. WiFi link to SoundBrenner app on Android.

Segmentation fault with Carabiner and Bitwig on Debian 10

I get the following error in syslog after a few seconds having Carabiner and Bitwig synchronized. The Peers value flicks beteween 0 and 1 and then it segfaults:

Mar 18 16:08:46 ovitus kernel: Carabiner_Linux[4654]: segfault at 0 ip 000055608e00d696 sp 00007f9df5ddb410 error 4 cpu 12 in Carabiner_Linux_x64[55608de00000+2d7000]
Mar 18 16:08:46 ovitus kernel: Code: 95 c0 c9 c3 55 48 89 e5 48 83 ec 10 48 89 7d f8 48 8b 45 f8 48 89 c7 e8 dc 34 00 00 c9 c3 55 48 89 e5 48 89 7d f8 48 8b 45 f8 <48> 8b 00 5d c3 90 55 48 89 e5 48 89 7d f8 48 8b 45 f8 48 83 c0 08

Latest release Windows version not working

Hi,

Thanks for the great software!

I'm having issues with the Windows version of the latest release (v1.1.0). Previous versions available here run fine, however, the latest version comes up with a "Failed to parse beat time" error message (screenshot attached).

I've noticed that the file size of the Zip and exe. have dropped considerably since from the previous version also. Maybe the latest build didn't work properly?

I've had a go at building an executable from the source code myself but I'm encountering problems there also (most likely due to my limited experience with this sort of thing).

Any help is appreciated. Although version 1.0.0 works fine for me so no biggie :)

Capture

Prebuilt binary crashes on MacOS 10.13.6

Describe the bug
I tried downloading 1.1.3 and v0.1.4-SNAPSHOT and both crash on start with the following output:

dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
  Referenced from: /Applications/Carabiner (which was built for Mac OS X 10.15)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: lazy symbol binding faileddyld: Symbol not found: ____chks: Symbol not found: ____chkstk_dtk_darwin
  Referenced from: /Aparwin
  Referenced from: /Applicplications/Carabiner (which was ations/Carabiner (which was builbuilt for Mac OS X 10.15)
  Expet for Mac OS X 10.15)
  Expectedcted in: /usr/lib/libSystem.B.dy in: /usr/lib/libSystem.B.dylib
lib


dyld: Symbol not found: ____chkstk_darwin
  Referenced from: /Applications/Carabiner (which was built for Mac OS X 10.15)
  Expected in: /usr/lib/libSystem.B.dylib

Abort trap: 6

When I build from source I get a binary that works. I realise that my OS version is pretty old so perhaps you don't support it.

Desktop (please complete the following information):

  • OS: macOS 10.13.6
  • Java Version openjdk version "13.0.2" 2020-01-14
  • Project Version 1.1.3

Meaning of 'start'

Thanks for carabiner! I'm trying to get it working with https://github.com/tidalcycles/tidal, a haskell-based thing. I get the bpm fine but I'm struggling to work out the meaning of the 'start' parameter so that I can get the phase right. If I telnet into carabiner, I see that if I change the bpm, then the value in the start parameter also changes:

bpm 120
status { :peers 1 :bpm 120.000000 :start 15578165470 :beat 43.826974 }
bpm 130
status { :peers 1 :bpm 130.000000 :start 15580539346 :beat 61.756445 }
bpm 110
status { :peers 1 :bpm 110.000000 :start 15574531192 :beat 71.633537 }

If I decrease the bpm, then the start point goes back in time. Is that because it's telling me the time that it would have been after the current number of beats if the bpm had been the new value all along?

I'm guessing so, but as I'm getting funny behaviour out of my calculations, I thought I'd check that my (linux mint) system isn't behaving strangely..

Session skip = no status update

Thanks for this great little tool!

I've been playing around a bit and noticed that if I force-beat-at-time via Carabiner the link session skips as expected - but if I do this from another app the session skips but Carabiner doesn't send me a status message to reflect the change.

Is a status update supposed to be sent in this instance?

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.