{"id":13432298,"url":"https://github.com/Deep-Symmetry/beat-link-trigger","last_synced_at":"2025-03-16T23:31:11.847Z","repository":{"id":8518458,"uuid":"58701428","full_name":"Deep-Symmetry/beat-link-trigger","owner":"Deep-Symmetry","description":"Trigger events and automate shows in response to events on Pioneer CDJs","archived":false,"fork":false,"pushed_at":"2025-02-24T17:34:23.000Z","size":61801,"stargazers_count":468,"open_issues_count":4,"forks_count":38,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-02-24T18:31:37.441Z","etag":null,"topics":["ableton-link","clojure","cue","dj-link","midi","network","pioneer"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Deep-Symmetry.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Deep-Symmetry","liberapay":"deep-symmetry","custom":"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=LG5NLFL5T372W\u0026source=url"}},"created_at":"2016-05-13T05:05:56.000Z","updated_at":"2025-02-24T17:33:08.000Z","dependencies_parsed_at":"2023-11-29T07:22:46.617Z","dependency_job_id":"68e510ae-337e-4604-a0f1-3f7ece357ef0","html_url":"https://github.com/Deep-Symmetry/beat-link-trigger","commit_stats":null,"previous_names":["brunchboy/beat-link-trigger"],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deep-Symmetry%2Fbeat-link-trigger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deep-Symmetry%2Fbeat-link-trigger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deep-Symmetry%2Fbeat-link-trigger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deep-Symmetry%2Fbeat-link-trigger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Deep-Symmetry","download_url":"https://codeload.github.com/Deep-Symmetry/beat-link-trigger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243949879,"owners_count":20373653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ableton-link","clojure","cue","dj-link","midi","network","pioneer"],"created_at":"2024-07-31T02:01:10.144Z","updated_at":"2025-03-16T23:31:11.839Z","avatar_url":"https://github.com/Deep-Symmetry.png","language":"Clojure","funding_links":["https://github.com/sponsors/Deep-Symmetry","https://liberapay.com/deep-symmetry","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=LG5NLFL5T372W\u0026source=url","https://liberapay.com/deep-symmetry/donate","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=J26G6ULJKV8RL"],"categories":["Clojure"],"sub_categories":[],"readme":"# beat-link-trigger\n\n[![project chat](https://img.shields.io/badge/chat-on%20zulip-brightgreen)](https://deep-symmetry.zulipchat.com/#narrow/stream/275322-beat-link-trigger)\n \u003cimg align=\"right\" width=\"275\" height=\"250\" alt=\"Beat Link Trigger\"\n      src=\"doc/modules/ROOT/assets/images/BeatLink-logo-padded-left.png\"\u003e\n\nAn integration environment for DJ performances focused on bridging\nPioneer DJ professional equipment to lighting, video, laser, and\ndigital audio workstation software. Created as a way to trigger MIDI\nevents when CDJs start playing tracks, play certain kinds of phrase,\nreach particular beats, etc., it has grown in many interesting\ndirections thanks to requests from touring artists who wanted to do\nnew and interesting things in their shows. Built using\n[beat-link](https://github.com/Deep-Symmetry/beat-link#beat-link).\n\n\u003e ”It's a shame Pioneer doesn't support this project, even\n\u003e unofficially. It's such a huge value add for them. When I was\n\u003e looking to buy my XDJ-XZ, lots of people were trying to sell me nice\n\u003e Denon gear but I'm locked into Pioneer because of BLT despite Denon\n\u003e being just as good if not a little better feature-wise.“\n\u003e\n\u003e —[Nicholas Maddix](http://maddix.it) on the project Gitter channel\n\u003e (where we discussed the project before we moved to the [Zulip\n\u003e stream](https://deep-symmetry.zulipchat.com/#narrow/stream/275322-beat-link-trigger)).\n\nThere is more description and a video in a [DJ TechTools\narticle](http://djtechtools.com/2017/07/19/decoding-pioneer-pro-link-connect-cdjs-ableton-link/),\ntoo!\n\nBut the most important thing you need to read, after skimming the\nintroduction below, is the [:notebook: user\nguide](https://blt-guide.deepsymmetry.org/).\n\n[![License](https://img.shields.io/badge/License-Eclipse%20Public%20License%202.0-blue.svg)](#licenses)\n\n\u003e :construction: **New Hardware Support In Progress**: We have finally\n\u003e been able to obtain a pair of CDJ-3000s, so version 7.3 and later\n\u003e can work productively with them without warnings or issues, even\n\u003e when they are configured as player 5 and 6, and we can now take\n\u003e advantage of the high-precision position updates they send, to have\n\u003e rock-solid tracking of their playback position even when jumping or\n\u003e looping inside beats or playing backwards.\n\u003e\n\u003e Also, people who own the Opus Quad have contributed significant\n\u003e research and code in order to allow us to try to support this\n\u003e hardware in version 8.0 and later, with the help of metadata\n\u003e archives created from the USBs being used.\n\u003e\n\u003e If you can do any testing with this new hardware, please help us\n\u003e confirm this and let us know on the Zulip channel (see the next\n\u003e section below), sharing your discoveries and log files there. Please\n\u003e don't open issues until discussing your discoveries and concerns\n\u003e with the community there, and arriving at consensus that an issue is\n\u003e the appropriate next stop.\n\u003e\n\u003e We are not sure yet, but this may also be a step towards working\n\u003e with the XDJ-AZ.\n\n## Getting Help\n\n\u003ca href=\"http://zulip.com\"\u003e\u003cimg align=\"right\" alt=\"Zulip logo\"\n src=\"doc/modules/ROOT/assets/images/zulip-icon-circle.svg\"\n width=\"128\" height=\"128\"\u003e\u003c/a\u003e\n\nDeep Symmetry\u0026rsquo;s projects are generously sponsored with hosting\nby \u003ca href=\"https://zulip.com\"\u003eZulip\u003c/a\u003e, an open-source modern team\nchat app designed to keep both live and asynchronous conversations\norganized. Thanks to them, you can \u003ca\nhref=\"https://deep-symmetry.zulipchat.com/#narrow/stream/275322-beat-link-trigger\"\u003echat\nwith our community\u003c/a\u003e, ask questions, get inspiration, and share your\nown ideas.\n\n## Usage\n\nDownload the latest disk image (`.dmg`) installer for the Mac, `.msi`\ninstaller for 64-bit Windows, or executable `.jar` file for other\nplatforms, from the\n[releases](https://github.com/Deep-Symmetry/beat-link-trigger/releases/latest)\npage. Double-click an installed native app bundle to run it. If that\ndoesn't work, or if you are using the executable `.jar` file, [see\nbelow](#startup-issues).\n\n[![jar](https://img.shields.io/github/downloads/Deep-Symmetry/beat-link-trigger/total.svg)](https://github.com/Deep-Symmetry/beat-link-trigger/releases/latest)\n\nA trigger window will open, in which you can choose the players you\nwant to watch, the kind of MIDI message to send when they start and\nstop, and when the triggers are enabled:\n\n\u003cimg src=\"doc/modules/ROOT/assets/images/TriggerWindow.png\" alt=\"Trigger window\" width=\"793\" height=\"637\"\u003e\n\nThere is also an\n[interface](https://blt-guide.deepsymmetry.org/beat-link-trigger/Players.html)\nfor monitoring the status of each player found on the network, which\nyou can access by choosing `Show Player Status` in the `Network` menu:\n\n\u003cimg src=\"doc/modules/ROOT/assets/images/PlayerStatus.png\" alt=\"Player Status window\" width=\"599\" height=\"842\"\u003e\n\nAnd starting with version 0.5.0, there is a [Show\ninterface](https://blt-guide.deepsymmetry.org/beat-link-trigger/Shows.html)\nwith which you can paint cues on track beat grids, to automate away\nthe complexities of manually managing triggers.\n\n\u003cimg src=\"doc/modules/ROOT/assets/images/SecondCue.png\" alt=\"Show interface snippet\" width=\"791\" height=\"389\"\u003e\n\n### Going Further\n\n**This page is just a quick introduction!** Please see the the full\n[:notebook: user guide](https://blt-guide.deepsymmetry.org/)\nfor many more details, including:\n\n* How to configure Triggers\n* How to use Expressions\n* Working with title/artist metadata\n* Working with Ableton Link\n* Integration examples\n\nAnd much more... and hopefully you will soon be coming up with\ninteresting integration projects of your own.\n\nYou can also find user-contributed examples and resources on the\n[project Wiki](https://github.com/Deep-Symmetry/beat-link-trigger/wiki).\nOnce you have come up with your own great ways to use Beat Link\nTrigger, please add a page or two the Wiki to share them with others!\n\n### Contributing\n\nFirst of all, we would *love* to hear from you! We have no way of\nknowing who has discovered, explored, downloaded and tried Beat Link\nTrigger. So if you have, please write a quick note on the [Zulip\nstream](https://deep-symmetry.zulipchat.com/#narrow/stream/275322-beat-link-trigger)\nto let us know! Even if it is only to explain why it didn\u0026rsquo;t\nquite work for you.\n\nIf you run into specific problems or have ideas of ways Beat Link\nTrigger could be better, you can also [open an\nIssue](https://github.com/Deep-Symmetry/beat-link-trigger/issues).\n\nAnd if you think you've come up with new or better way to do\nsomething, terrific! Please take a look at our [guidelines for\ncontributing](CONTRIBUTING.md) and we can't wait to hear from you!\n\n\u003e Please be mindful of our [Code of Conduct](CODE_OF_CONDUCT.md) to make\n\u003e sure everyone feels welcome in the community.\n\n### Funding\n\nBeat Link Trigger is, and will remain, completely free and\nopen-source. If it has helped you, taught you something, or pleased\nyou, let us know and share some of your discoveries and code as\ndescribed above. If you\u0026rsquo;d like to financially support its ongoing\ndevelopment, you are welcome (but by no means obligated) to donate to\noffset the hundreds of hours of research, development, and writing\nthat have already been invested. Or perhaps to facilitate future\nefforts, tools, toys, and time to explore.\n\n\u003ca href=\"https://liberapay.com/deep-symmetry/donate\"\u003e\u003cimg style=\"vertical-align:middle\" alt=\"Donate using Liberapay\"\n    src=\"https://liberapay.com/assets/widgets/donate.svg\"\u003e\u003c/a\u003e using Liberapay, or\n\u003ca href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=J26G6ULJKV8RL\"\u003e\u003cimg\n    style=\"vertical-align:middle\" alt=\"Donate\"\n    src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif\"\u003e\u003c/a\u003e using PayPal\n\n\u003e If enough people jump on board, we may even be able to get a newer\n\u003e CDJ to experiment with, although that\u0026rsquo;s an unlikely stretch goal.\n\u003e :grinning:\n\n## Compatibility\n\nThis is in no way a sanctioned implementation of the protocols. It should be clear, but:\n\n\u003e [!WARNING]\n\u003e Use at your own risk! For example, there are reports that\n\u003e the XDJ-RX (and XDJ-RX2) crash when BLT starts, so don\u0026rsquo;t use\n\u003e it with one on your network. As Pioneer themselves\n\u003e [explain](https://forums.pioneerdj.com/hc/en-us/community/posts/203113059-xdj-rx-as-single-deck-on-pro-dj-link-),\n\u003e the XDJ-RX does not actually implement the protocol:\n\u003e\n\u003e \u0026ldquo;The LINK on the RX [and RX2] is ONLY for linking to rekordbox\n\u003e on your computer or a router with WiFi to connect rekordbox mobile.\n\u003e It can not exchange LINK data with other CDJs or DJMs.\u0026rdquo;\n\nWhile these techniques appear to work for us so far, there are many\ngaps in our knowledge, and things could change at any time with new\nreleases of hardware or even firmware updates from Pioneer.\n\n\u003e [!CAUTION]\n\u003e You should also not expect to be able to run Beat Link Trigger, or\n\u003e any project like it, on the same machine that you are running\n\u003e rekordbox, because they will compete over access to network ports.\n\u003e Also, as noted above, the XDJ-RX and XDJ-RX2 do not support the full\n\u003e DJ Link protocol, and so will not work with software like this. And,\n\u003e of course, controllers which don't even have Link (Ethernet) jacks\n\u003e can't work either.\n\n\u003e [!IMPORTANT]\n\u003e :unamused: Pre-Nexus gear (hardware older than the CDJ-900 nexus) is\n\u003e missing many important features, so BLT's capabilities are very\n\u003e degraded when working with such gear: much less information is\n\u003e available, we can't infer playback position/time code, and the\n\u003e hardware completely lacks tempo Sync or Master capabilities, so\n\u003e beat-based triggers are impossible, as is synchronization with Ableton\n\u003e Link. You can see what tracks are loaded, and whether the player is\n\u003e playing, but little more.\n\n\u003e [!TIP]\n\u003e :white_check_mark: Beat Link Trigger seems to work great with Nexus\n\u003e gear and DJ-Link hardware released after that. It has been reported\n\u003e to work well with XDJ-1000 gear, and (starting with version 0.6.0)\n\u003e with the XDJ-XZ as well. Version 7.3 adds complete support for\n\u003e CDJ-3000 features. If you can try it with anything else, *please*\n\u003e let us know what you learn in the [Zulip\n\u003e stream](https://deep-symmetry.zulipchat.com/#narrow/stream/275322-beat-link-trigger),\n\u003e or if you have worked out actionable details about something that\n\u003e could be improved, [open an\n\u003e Issue](https://github.com/Deep-Symmetry/beat-link-trigger/issues) or\n\u003e submit a pull request so we can all improve our understanding\n\u003e together.\n\u003e\n\u003e :construction: We have added experimental support for the Opus Quad, which, despite not supporting a DJ-Link network, seems to communicate with rekordbox to support lighting in a way that will allow us to offer good support in Beat Link once we reorganize the code to support working that way.\nThanks to [@cprepos](https://github.com/cprepos) for doing most of this work!\n\nIf something isn\u0026rsquo;t working with your hardware and you don\u0026rsquo;t yet know\nthe details why, but are willing to learn a little and help figure it\nout, look at the\n[dysentery project](https://github.com/Deep-Symmetry/dysentery#dysentery),\nwhich is where we are organizing the research tools and results which\nmade programs like Beat Link Trigger possible.\n\n## Startup Issues\n\nIf you downloaded the `.jar` version and are using a recent Java\ndistribution, double-clicking doesn\u0026rsquo;t open up the application,\nso open a terminal window and run it from the command line:\n\n    java -jar beat-link-trigger.jar\n\nIf that does not work, at least you will be able to see a detailed\nreport of what went wrong, which can help you troubleshoot the issue.\n\nMake sure you have a current OpenJDK distribution installed (we build\nreleases with [Amazon Corretto\n11](https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html)).\n\n\n### Font-Related Bugs\n\nIf you see a long exception stack trace similar to the one\nin\n[this discussion](https://github.com/Deep-Symmetry/beat-link-trigger/issues/21) and\nyou have your computer language set to one that uses an alphabet which\nis substantially different from English, you may be encountering what\nseems to be a bug in the GUI library (or maybe even in Java itself).\nTry setting your system language to US English, and see if that at\nleast lets you run the program.\n\n### Mac Trust Confirmation\n\nIf you are on a Mac, your best option nowadays is to download the disk\nimage installer. It contains Beat Link Trigger packaged as a native\nMac application, with an embedded Java runtime, so you don\u0026rsquo;t\nneed to worry about installing or managing Java if you don\u0026rsquo;t use\nit for other purposes. It is code-signed and notarized by Deep\nSymmetry, so your Mac should be happy to install and run it without\ncomplaint.\n\n\u003cimg src=\"doc/modules/ROOT/assets/images/DMG-Installer.png\" width=\"640\" height=\"435\"\n     alt=\"Installer window\"\u003e\n\nIf you already have your own Java runtime installed and want to use\nit, you can instead download the smaller executable `.jar` file, but\nthen the first time you try to launch the downloaded\njar file by double-clicking it you will see an error like this because\nit is not a Mac-specific application:\n\n\u003cimg src=\"doc/modules/ROOT/assets/images/Unsigned.png\" alt=\"Unsigned jar\" width=\"492\" height=\"299\"\u003e\n\nYou can fix that by control-clicking on the Jar and choosing\n\u0026ldquo;Open\u0026rdquo; at the top of the contextual menu that pops up. You\nwill be asked to confirm that you really want to run it. Click the\n\u0026ldquo;Open\u0026rdquo; button in that confirmation dialog, and from then\non, you will be able to run that copy by just double-clicking it.\n\n\u003cimg src=\"doc/modules/ROOT/assets/images/ReallyOpen.png\" alt=\"Confirmation dialog\" width=\"492\" height=\"303\"\u003e\n\n\u003e You will need to repeat this process for each version that you\n\u003e download. Also, current versions of OpenJDK no longer support\n\u003e launching Jar files by double-clicking, so you are better off\n\u003e switching to a native installer, or running via the command-line.\n\n## Licenses\n\n\u003ca href=\"http://deepsymmetry.org\"\u003e\u003cimg align=\"right\" alt=\"Deep Symmetry\"\n src=\"doc/modules/ROOT/assets/images/DS-logo-github.png\" width=\"250\" height=\"150\"\u003e\u003c/a\u003e\n\nCopyright © 2016\u0026ndash;2024 [Deep Symmetry, LLC](http://deepsymmetry.org)\n\nDistributed under the [Eclipse Public License\n2.0](https://opensource.org/licenses/EPL-2.0). By using this software\nin any fashion, you are agreeing to be bound by the terms of this\nlicense. You must not remove this notice, or any other, from this\nsoftware.\n\n### Library Licenses\n\n#### [Remote Tea](https://sourceforge.net/projects/remotetea/)\n\nUsed for communicating with the NFSv2 servers on players, licensed\n under the [GNU Library General Public License, version\n 2](https://opensource.org/licenses/LGPL-2.0).\n\n#### The [Kaitai Struct](http://kaitai.io) Java runtime\n\nUsed for parsing rekordbox exports and media analysis files, licensed\nunder the [MIT License](https://opensource.org/licenses/MIT).\n\n#### [RSyntaxtTextArea](https://github.com/bobbylight/RSyntaxTextArea)\n\nUsed for editing Clojure expression code.\n\nCopyright © 2019, Robert Futrell.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright\n  notice, this list of conditions and the following disclaimer.\n* Redistributions in binary form must reproduce the above copyright\n  notice, this list of conditions and the following disclaimer in the\n  documentation and/or other materials provided with the distribution.\n* Neither the name of the author nor the names of its contributors may\n  be used to endorse or promote products derived from this software\n  without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL \u003cCOPYRIGHT HOLDER\u003e BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n#### [RSTAUI](https://github.com/bobbylight/RSTAUI)\n\nProvides find/replace and other extended features to RSyntaxTextArea\nwhen editing Clojure expression code.\n\nCopyright © 2012, Robert Futrell.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright\n  notice, this list of conditions and the following disclaimer.\n* Redistributions in binary form must reproduce the above copyright\n  notice, this list of conditions and the following disclaimer in the\n  documentation and/or other materials provided with the distribution.\n* Neither the name of the author nor the names of its contributors may\n  be used to endorse or promote products derived from this software\n  without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL \u003cCOPYRIGHT HOLDER\u003e BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n#### [inspector-jay](https://github.com/timmolderez/inspector-jay)\n\nSupports inspection of the atoms that store local and global values\nfor trigger and show expressions.\n\nCopyright © 2013-2015 Tim Molderez\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n    * Redistributions of source code must retain the above copyright\n      notice, this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n    * Neither the name of the inspector-jay developer team nor the\n      names of its contributors may be used to endorse or promote products\n      derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE INSPECTOR-JAY DEVELOPER TEAM BE LIABLE FOR ANY\nDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n#### [radiance](https://github.com/kirill-grouchnikov/radiance)\n\nProvides the cool dark look-and-feel for the graphical user interface.\n\nCopyright © 2005-2019, Kirill Grouchnikov.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n#### [Carabiner](https://github.com/Deep-Symmetry/carabiner)\n\nThe included copies of Carabiner are distributed under the [GNU\nGeneral Public License, version\n2](https://opensource.org/licenses/GPL-2.0). A copy of the license can be found in\n[gpl-2.0.md](https://github.com/Deep-Symmetry/beat-link-trigger/blob/master/gpl-2.0.md)\nwithin this project.\n\n#### [Antora](https://antora.org)\n\nUsed to build the [user guide](https://blt-guide.deepsymmetry.org/),\nfor embedding inside the application, and hosting on\n[deepsymmetry.org](https://deepsymmetry.org). Antora is licensed under\nthe [Mozilla Public License Version\n2.0](https://www.mozilla.org/en-US/MPL/2.0/) (MPL-2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDeep-Symmetry%2Fbeat-link-trigger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDeep-Symmetry%2Fbeat-link-trigger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDeep-Symmetry%2Fbeat-link-trigger/lists"}