Releases: Deep-Symmetry/beat-link-trigger
v0.6.2
If you came here from the link in the first DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a compatible Java runtime installed (Java 8 or later on the Mac and Linux, Java 9 or later on Windows), you can just download the executable
beat-link-trigger-0.6.2.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the MacOS disk image (
.dmg
) file, which contains a signed, notarized Mac application with the necessary Java runtime built right in. - If you are on 64-bit Windows and don’t want to have to separately install Java you can download the Win64 MSI installer (
.msi
file), which installs a Windows application with the Java runtime built in. - If you want to test what is going into the next release, look at the pre-release SNAPSHOT release (if any) at the top of the full Releases list.
What’s in the Release
✨ Many fixes and enancements! Highlights include initial support for rekordbox 6, better interaction with the XDJ-XZ, support for cue folders and copying tracks in shows, as well as fixes and improvements to underlying libraries and the user guide—often thanks to help from users and other developers working with my libraries.
Please see the Change Log for details.
0.6.1
If you came here from the link in the first DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a compatible Java runtime installed (Java 8 or later on the Mac, Java 9 or later on Windows), you can just download the executable
beat-link-trigger-0.6.1.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the MacOS disk image (
.dmg
) file, which contains a signed, notarized Mac application with the necessary Java runtime built right in. - If you are on 64-bit Windows and don’t want to have to separately install Java you can download the Win64 MSI installer (
.msi
file), which installs a Windows application with the Java runtime built in. - If you want to test what is going into the next release, look at the pre-release SNAPSHOT release (if any) at the top of the full Releases list.
What’s in the Release
✨ Many fixes and cool things! Highlights include automatic startup of an embedded Carabiner daemon when integration with Ableton Link is desired, more graceful control of offline startup—which allows better unattended operation (for example on a headless Raspberry Pi), new shows that demonstrate how to generate SMPTE timecode using an Orange Pi, more complete documentation for writing expressions, as well as fixes and improvements to underlying libraries—often thanks to user help.
Please see the Change Log for details.
0.6.0
If you came here from the link in the first DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a compatible Java runtime installed (Java 8 or later on the Mac, Java 9 or later on Windows), you can just download the executable
beat-link-trigger-0.6.0.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the MacOS disk image (
.dmg
) file, which contains a signed Mac application with the necessary Java 11 runtime built right in. - If you are on 64-bit Windows and don’t want to have to separately install Java you can download the Win64 MSI installer (
.msi
file), which installs a Windows application with the Java 11 runtime built in. - If you want to test what is going into the next release, look at the pre-release SNAPSHOT release at the top of the full Releases list.
What’s in the Release
✨ Many cool things! Highlights include support for the new XDJ-XZ and Java 13, new shows that demonstrate how to integrate other mixers or automate emergency mixes, expandable waveform views, many expression and programming improvements, as well as some bug fixes, often thanks to user help.
Please see the Change Log for details.
0.5.4
If you came here from the link in the first DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a compatible Java runtime installed (Java 8 or later on the Mac, Java 9 or later on Windows), you can just download the executable
beat-link-trigger-0.5.4.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the MacOS disk image (
.dmg
) file, which contains a signed Mac application with the necessary Java 11 runtime built right in. - If you are on 64-bit Windows and don’t want to have to separately install Java you can—thanks to a build server created and hosted by @Kevinnns—download the Win64 MSI installer (
.msi
file), which installs a Windows application with the Java 11 runtime built in. - If you are willing to test a new way of packaging the Mac application that leaves out unnecessary parts to make it much smaller, you can download the
test-jlink.dmg
file. If you do this, please report whether it is working for you. If you run into any unexplained problems, fall back to the largerMacOS.dmg
file which is known to work. - If you want to test what is going into the next release, download the executable
PREVIEW.jar
file (you will need to have a compatible Java runtime installed, like with the first option).
What’s in the Release
An important fix for MIDI device names on macOS, display of DJ-assigned labels on memory points and hot cues, some new Trigger Global expressions, and improved expression values and functions. Please see the Change Log for details.
0.5.3
If you came here from the link in the first DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a compatible Java runtime installed (Java 8 or later on the Mac, Java 9 or later on Windows), you can just download the executable
beat-link-trigger-0.5.3.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the disk image (
.dmg
) file, which contains a signed Mac application with the necessary Java 11 runtime built right in. - If you are on 64-bit Windows and don’t want to have to separately install Java you can—thanks to a build server created and hosted by @Kevinnns—download the MSI installer (
.msi
file), which installs a Windows application with the Java 11 runtime built in.
What’s in the Release
Primarily improvements to the show interface based on feedback from people using it, as well as an improved User Guide format, and some fixes and suggested features. Please see the Change Log for details.
0.5.2
If you came here from the link in the DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a current Java runtime installed (Java 8 or later on the Mac, Java 9 or later on Windows), you can just download the executable
beat-link-trigger-0.5.2.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the disk image (
.dmg
) file, which contains a signed Mac application with the necessary Java 11 runtime built right in. - If you are on 64-bit Windows and don’t want to have to separately install Java you can—thanks to a build server created and hosted by @Kevinnns—download the MSI installer (
.msi
file), which installs a Windows application with the Java 11 runtime built in.
What’s in the Release
This is a small release to fix some issues that showed up in the show interface when more people started using it (what, not everyone tries out the preview releases? 😁) It also adds a great cue library idea suggested by one of the early adopters.
Fixed
- A variety of places inside the show interface were assuming that imported tracks would have non-
nil
artist metadata. This has been corrected, and anynil
metadata keys should now be handled
gracefully and even informatively. - When editing global show expressions, even though the new code was being compiled and run properly, it was not getting saved to the show in the right place, so it would not appear when edited again or when the show was reloaded.
- Custom expressions were being run in the
clojure.core
namespace even though they were being compiled in (and expected to be run in)beat-link-trigger.expressions
. - The build process would not work for new clones of the repository because an empty directory needed by the
lein-v
Leiningen plugin was missing. A dummy file was added to the project to make sure that directory gets created.
Added
- Shows now have a Cue Library that makes it easy to share common cues between tracks. Thanks to Jan
Vermeerbergen for the great idea. - You can access the context menu for a cue by right-clicking (or control-clicking) on the cue in the waveform within the Cues Editor window.
- The Cues Editor waveform is scrolled if necessary to make a new cue visible when it is created.
- The confirmation dialog title for deleting a cue shows the cue name.
- More of the Beat Link classes which might be useful to work with inside user expressions are imported into the namespace in which those expressions are compiled and run.
Please see the Change Log for all of the great things that went into 0.5.0.
0.5.1
If you came here from the link in the DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a current Java runtime installed (Java 8 or later on the Mac, Java 9 or later on Windows), you can just download the executable
beat-link-trigger-0.5.1.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the disk image (
.dmg
) file, which contains a signed Mac application with the necessary Java 11 runtime built right in. - If you are on 64-bit Windows and don’t want to have to separately install Java you can—thanks to a build server created and hosted by @Kevinnns—download the MSI installer (
.msi
file), which installs a Windows application with the Java 11 runtime built in.
What’s in the Release
This is a small release to fix some issues that showed up in 0.5.0 when more people started using it. (What, not everyone tries out the preview releases? 😁)
Fixed
- The
SignatureFinder
would crash trying to calculate signatures for tracks without artists, and trying to import such tracks from offline media into shows would also fail. - When loading tracks on a player using the
dbserver
approach (which is still done when loading from rekordbox), the Genre menu was not implemented correctly, and genre filtering would be lost after the top level of the menu.
Added
- The
MenuLoader
now supports loading tracks from the Label, Bit Rate, Original Artist, and Remixer menus. - Track Metadata now includes bit rate, when applicable.
Please see the Change Log for all of the great things that went into 0.5.0.
0.5.0
If you came here from the link in the DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a current Java runtime installed (Java 8 or later on the Mac, Java 9 or later on Windows), you can just download the executable
beat-link-trigger-0.5.0.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the disk image (
.dmg
) file, which contains a signed Mac application with the necessary Java 11 runtime built right in. - If you are on 64-bit Windows and don’t want to have to separately install Java you can—thanks to a build server created and hosted by @Kevinnns—download the MSI installer (
.msi
file), which installs a Windows application with the Java 11 runtime built in.
What’s in the Release
This is a huge release containing many major new features and fixing several long-standing problems, thanks to the help of an increasing number of contributors and colleagues around the world (as well as a lot of hard work, of course! 😄)
Please see the Change Log for all of the details, to save people having to scroll too far to get to the download links here.
0.4.1
If you came here from the link in the DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a current Java runtime installed (Java 8 or later on the Mac, Java 9 or later on Windows), you can just download the executable
beat-link-trigger.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the disk image (
.dmg
) file, which contains a signed Mac application with the necessary Java 11 runtime built right in. - If you want to test what is going into the next release, download the executable
PREVIEW.jar
file. Please explore the “Show” options in the File menu, this is a huge new feature for people to test, while I start working on the user guide for it!
I’m still researching how to build a Windows all-in-one package, hopefully that will be available someday.
What’s in the Release
This is a small release to get a few fixes and improvements out there before I embark on some major changes to the foundations in Beat Link in order to support a major new way of organizing cues for tracks that will be a lot easier to manage than low-level triggers, and use much less CPU if you have cues defined for a large number of tracks. They will also embed all the metadata information they need to work even when four CDJs are active on the network.
Added
- Metadata caches now store information about the media from which they were created. This allows easier and more reliable attachment (both manual and automatic) to media used during performances.
Fixed
- Triggers will no longer be tripped by a CDJ that is pre-loading hot cues but not actually playing a track. (You can still see it moving around the hot cues in the Player Window as it does this, but Beat Link no longer reports it as Playing in this state.)
- The warning dialog about non-rekordbox tracks potentially missing their Title and Artist information when Send Status Packets is not active was being displayed twice.
Changed
- Triggers that generate MIDI clock now use the Electro metronome to time the clock messages. This leads to a cleaner, simpler implementation with easier jitter avoidance. It also uses busy-waiting to work around limitations in
Thread/sleep
as a timing mechanism. It is still much better, however, to use Ableton Link instead if at all possible.
0.4.0
If you came here from the link in the DJ TechTools article, please look at my instructions for more information about how to install and use Beat Link Trigger!
What to Download
- If you already have a current Java runtime installed (Java 8 or later on the Mac, Java 9 or later on Windows), you can just download the executable
beat-link-trigger.jar
file, and should be able to run it by double-clicking. - If you are on a Mac and don’t want to have to worry about installing and managing a separate Java environment, you can download the disk image (
.dmg
) file, which contains a signed Mac application with the necessary Java 11 runtime built right in.
I’m still researching how to build a Windows all-in-one package, hopefully that will be available someday.
What’s in the Release
The most feature-packed release yet, with quite a few fixes as well!
Added
- Support for running under Java 9, 10 and 11.
- Beat Link Trigger can now become Tempo Master on the Pioneer DJ Link network, and can synchronize the tempo and beat grid of CDJs to Ableton Link in both directions.
- The Carabiner window now lets you control which device is the Tempo Master and which devices are synced to it.
- When Ableton Link is the tempo master, the Carabiner window also lets you nudge the Link tempo up or down, or type in an exact tempo value you want to set it to.
- Triggers configured to control Ableton Link can now use Link v3 Start/Stop Sync (transport control) to start Link playback when the trigger activates, and stop it when the trigger deactivates. (Of course this works only when Carabiner's Sync Mode is set to
Triggers
. In other modes, your expressions can call the
start-transport
andstop-transport
functions directly, as long as they first check that Carabiner is active using eitheractive?
orsync-enabled?
if they care about being synced.) - There is a new interface for picking a track from a player's media slot, and telling it (or another player) to load it. Players can also be stopped using this interface, and (as long as they are stopped at the cue point) started. This is useful for playing tracks during a pre-show from Front of House before there is a DJ on stage.
- There is a new Playlist Writer window for ease of use by radio stations and others wanting to be careful about royalties.
- Can now display metadata for non-rekordbox tracks, including audio and data CDs, thanks to dysentery and Beat Link updates.
- Player Status window shows a distinction between players with no track loaded, and with no metadata at all (which is now rare).
- The
Online?
option in theTriggers
menu now shows the player number that Beat Link Trigger is using once it is online, to help people understand how it is operating. - Icons are now displayed when no album art is available for a track, providing information about where the track was loaded from, or an indication that there is no track loaded.
- A new
Help
menu with options to open the User Guide, project page, Gitter chat, and to compose emails to report issues with pre-populated version details, or simply say "hello" as a new user. - An embedded copy of the User Guide will be served by an embedded web server when you access it from the
Help
menu, so you can read it even if you do not have an Internet connection. - The
About
window now shows Java version information, and all version information can be selected and copied, if useful in discussing issues. - The log files now include Java and operating system version information at the top.
Fixed
- Can now get metadata from Windows rekordbox; previously we were running into a rekordbox bug when sending dbserver messages split across more than one network packet. The Beat Link library now takes pains to prevent them from being split.
- The SD slots were showing up as mounted in the Player Status window even when they were emtpy.
- If we had trouble communicating with a player's database server when first trying to get metadata from it, we would not ever try again, even if taken offline and back online. Now when we go offline, we shut down the
ConnectionManager
, clearing out that state so the next time we go online we can try again. - The Player Status window would sometimes not show the correct (or any) remaining time information, when it should have been available.
- Make the Player Status window show up in the right size to not require scroll bars.
- The Player Status window display when no players were found was huge and lacked suitable borders. It looks much better now.
- The error dialog that was displayed when we did not hear the right response from a Carabiner daemon after connecting was not being displayed on the correct thread, and so was completely unreadable.
- If multiple messages were sent rapidly to or from Carabiner they might get grouped into a single network packet, and the later ones would be ignored. This release, along with a newer Carabiner release, process even later messages grouped in the same packet. This version will warn you if you need to upgrade Carabiner.
- Protect against race conditions reading and writing preferences from different threads, now that they are split across multiple nodes.
- Deep-linking to headings in the new User Guide will scroll the browser to the correct place (the problem was the browser not knowing the image sizes during layout, so its guess about where to scroll would get knocked off as they filled in).
Changed
- On Windows, the
About
window is now accessed through the newHelp
menu (which is more consistent with Windows applicaton standards), instead of theFile
menu. - The
Open Logs Folder
option has moved from theFile
menu to the newHelp
menu so it is right next to the options where you might need it.
What’s next?
I want to wrap up a few things that didn’t quite fit into this release, and then work can begin on separating the UI from the engine, which will enable a ton of very compelling new use cases! That will be a lengthy effort, but well worth it if I can get it working the way I am envisioning.