All notable changes to this project will be documented in this file. Dates are displayed in UTC.
Generated by auto-changelog
.
- Feature: session highlighting with red ring
#123
- Update README to have correct start scripts
#124
- 🔨 Add a
format
command and document it in the readmeb383e44
- 🐛 Fix large messages sent by the Python script not being received processed properly by Node
fd33ce3
- 🐛 Fix larger messages not being received properly in Live
233296e
- 🐛 Fix typing for
mute
value30f62ee
18 May 2024
- Get
song.view.get('detail_clip')
working#118
3 May 2024
- 🐛 Fix some pending requests never resolving when Live disconnects, immediately reject pending requests when Live sends a realtime disconnect event
4c1a3fe
1 May 2024
- ✨ Add the
tempo_follower_enabled
property8cf68c8
16 March 2024
6 February 2024
- 🐛 Fix buffer size limit being too high on Windows
0c6bc7d
- 🐛 Mark
is_active
device property as read-only316f510
11 November 2023
- ✨ Add a
safeStartPlaying
method that only callsstart_playing
when Live is currently stopped46e1354
- 🐛 Fix master track erroring because it doesn't have solo/mute properties
3b58e72
- 🔇 Don't log results of getting track view properties
3b4a5bd
11 November 2023
- 🐛 Fix setting quantizations not working correctly
cd7a6e5
- ✨ Return mute and solo properties for each track
5585533
6 November 2023
- ✨ Properly create and return scenes and tracks
dc550f1
- 🐛 Fix
createScene
not working when no index is providede6bf99b
26 October 2023
- ✨ Add support for the Track View class
3ff5980
- ✨ Add a
safeStopPlaying
function that only stops playback when Live is currently playing to prevent accidental jumps to the beginning of the timelinea7b84e2
- 🎨 Fix formatting
f06d3d0
10 September 2023
- 🔇 Fix every message being logged twice
3a2571f
- 🗑️ Deprecate
removeNotes
and addremoveNotesExtended
as a replacementac02271
- 🐛 Address a hang in newer versions of Live when the UDP port is already being used
5caeaeb
27 July 2023
- 📦 Add lodash as a dependency, fixes #104
#104
26 July 2023
- 🔧 Enable fast polling by default
f2f5058
22 July 2023
- Browsing and loading functionalities
bc48c7c
- 🎨 Improve formatting
6e2e22b
- ✨ Turn the browser into a singleton
6d0152b
15 July 2023
- 🔊 Warn when the UDP tick is lagging or when processing UDP takes too long to finish
c419afc
- ✨ Use larger buffer sizes if possible for sending responses from Live
ae480cb
- 📝 Update docs to reflect that chunks now have a dynamic size
83afbb6
15 July 2023
- ✨ Remove the socket after closing it to avoid dangling event listeners trying to send messages after the plugin has been shut down
54278f2
14 July 2023
- ✨ Only send the client port to Live once
29e9443
- ✨ Send the current client port to Live every time the server port changes
eb42ce3
14 July 2023
- 🔧 Make fast polling optional, in an attempt to fix flaky behavior in Live 11.3
17f1634
6 July 2023
- ✅ Switch from Jest to Vitest for faster testing
d2af8b7
- 🔇 Don't log the result of setting the client port
2206ab7
- ✨ When client is already starting or started, return a promise that waits for a connection
97c2e1a
5 July 2023
- 🐛 Fix Live 11.3.3 hanging in some scenarios
f3933b1
- 🔇 Make logging less noisy when the heartbeat to Live fails
2f46968
- 🔊 Truncate arguments in the error message when a command times out
8bd0a9c
27 June 2023
- 🏷️ Add missing types for color_index props
23e0edb
27 June 2023
- ✨ Add
color_index
to the raw props of clips and tracksfc6f38d
25 June 2023
- 🐛 Fix stray heartbeats emitting a disconnect event
6157a95
23 June 2023
- ✨ Add a fallback
schedule_message
in case the Timer doesn't work as expectedb5fdbe1
12 June 2023
- ✨ Add the ability to warn when a command takes longer than expected
24b046a
12 June 2023
- 📦 Upgrade TypeScript and related deps
f1c3479
- ✨ Allow changing the timeout for commands
d216432
- 📝 Document class options
b6c8b7c
8 June 2023
- 🐛 Fix issue that could block the main thread in Live sometimes when no client port file exists
8990a5d
- 📝 Update the link to unofficial API docs
7a32f90
- 🐛 Fix copying the scripts not working if the Remote Scripts folder doesn't exist yet
71ecf44
10 May 2023
- 🔥 Remove the postinstall hook
d55efec
- 🐛 Fix type annotations which are unsupported in Live 10
b396684
27 April 2023
- 🔇 Don't clutter the logs by default
333ff7b
- ✨ Add the
appointed_device
propertyae47bd2
- 🔧 Copy the MIDI script into the User Library instead of into the app
c4050d6
6 April 2023
- 🐛 Fix an issue with Live 10 where umlauts in a cached response would throw an error
f4f6a20
16 March 2023
- ⚡ Try binding to the last used port first to speed up the connection to Live
b86bc5d
- 📝 Add logging to the example code
7b5dfbf
- 🐛 Don't emit an error when a received message can't be assigned to any request
3186bdb
27 February 2023
26 February 2023
- 🐛 Fix opening a project file from within Finder closing all socket and file handles
6cf2440
- 🔊 Log data that couldn't be sent
e39c6c6
- 🔊 Improve logging for event handlers
a1fa33b
26 February 2023
- ✨ Keep a handle to the client port file open for faster read performance
2a0295d
- ✨ Try re-using the previous port for a quicker reconnect
5c77760
- 🐛 Fix double disconnect/connect event
2f960be
25 February 2023
- 🔊 Log connect and disconnect events
e69f610
- 🐛 Don't count a failed ping as a successful connection event
217e91e
25 February 2023
- 🎨 Extract connect and disconnect handlers into separate functions
955a6cb
- ✨ Add a
waitForConnection
function that returns a Promise that resolves when Live is connected3323d3d
- ✨ Try a ping request in addition to waiting for the connection event
c019e68
25 February 2023
- 📝 Add breaking change reminder to the changelog
3158328
- ✨ Don't allow starting the server multiple times
83a42b1
25 February 2023
- ✨ Don't rely on fixed ports, make server and client bind to a random free one
54f7737
- ✨ Add a timeout param to the start method
600e752
- 🔊 Add a logger interface for the library to log information
e31e9cc
21 February 2023
- ✨ Add support for available_(input/output)routing(channels/types)
0c09881
- Use enum-style values for NavDirection
713f864
19 January 2023
- Fix outdated ID types
#81
- ✨ Add support for the application view
50adde2
- 🎨 Automatically convert iterable fields to lists
56b2191
12 January 2023
- ✨ Add support for the
mixer_device
property#80
- 🐛 duplicateClipToArrangement raw id should be a string instead of a number
#75
- 🐛 duplicateClipToArrangement raw id should be a string instead of a number (#75)
#74
- ✨ Expose all MixerDevice parameters as DeviceParameter objects
ac70a1e
- 🎨 Fix typo in DeviceParameter serialization function
eac46ec
- 🏷️ Require all transformed properties to exist on the transformers object
13156c3
26 December 2022
- ✨ Add a fire() function to scenes
96e603d
17 December 2022
- Add functionality for getting warp markers
#61
- ✨ Support passing a clip object to duplicateClipToArrangement
ab9656a
- 🐛 Fix
create_*_track
functions not working properly937edca
10 November 2022
- 🐛 Fix runtime error caused by accessing a missing variable
83427ac
10 November 2022
- ✨ Add the ability to listen to changes in clip notes
a1c5112
2 November 2022
- ✨ Add automatic client-side caching of potentially large props
68c3edd
- 🎨 Clean up the code a bit
c183cda
- 📝 Add some docs for caching
778da44
1 November 2022
19 October 2022
- ✨ Restart the socket when a message can't be sent due to a socket error
91294c3
- ✨ Send the UUID back with the error if a requested namespace handler doesn't exist
8a96a99
- 📝 Add an example for setting a value
f334983
30 August 2022
26 August 2022
- 🔇 Don't emit errors when received events can't be assigned to any listener
da32ca5
7 August 2022
- Remove unused devDependencies
6491216
- 🐛 Fix AutomationState and ParameterState being incorrect
431d377
8 July 2022
- adds support for getting the group_track property from a Track object
#46
- Forward requested midi cc and note messages
#48
- add Track's
duplicate_clip_to_arrangement
method#49
- Create LICENSE
3f42141
21 May 2022
- 🔧 Use ports 39031 and 39041 to avoid collisions with other applications
e3bd84c
- ✨ Run the heartbeat check once after initializing the class
8db0bd6
1 May 2022
- ✨ Return the start and end time of clips in the raw clip
1862efe
30 April 2022
- ✨ Add set_or_delete_cue, undo, and redo commands
41d5ef7
30 March 2022
- ✨ Add a function to clear all event listeners
809fe4e
27 March 2022
- 🐛 Fix invalid import of the Timer object in Live 10
e003530
27 March 2022
- ✨ Add the clip's name as an observable property
78c9969
26 March 2022
- ✨ Implement basic Application interface to fetch live version and dialog information
5aba86f
- ✅ Add tests for the application namespace
9954cdf
- ✨ Add support for listing clips in arrangement view
e7df690
18 March 2022
- 📝 Fix details in readme
#36
- 🐛 Fix errors on quick disconnect/connect
#42
- 🐛 Fix connected status on load of Ableton class
#40
- 🔧 Add GitHub repo to NPM page
#39
18 February 2022
- ✨ Add observable props for quantization
ffd192d
3 February 2022
- 🏷️ Improve types for Ableton's song namespace
05d24fa
30 January 2022
- ✨ Return the is_grouped state of tracks as well
15d8bca
30 January 2022
16 November 2021
- ✨ Improve gettable and settable clip properties
#34
19 September 2021
- ✨ Emit an error instead of throwing it when an incoming message could not be handled
516954a
19 September 2021
- 🔇 Remove verbose logging from the Python plugin
e24bdad
30 May 2021
- 🐛 Fix values being stringified unnecessarily
0ab9879
29 May 2021
- 🐛 Fix notes-related operations
#26
- 💬 Add comment about playing_status events
#25
- 🎨 Extract conversion of objects to a JSON-friendly format to its own method
84c414e
- 🔥 Remove unused imports
318be6c
- 🍱 Update link to AbleSet banner
cf036d8
29 May 2021
- 📦 Upgrade dependencies
ac5ae67
29 May 2021
- ✨ Compress and chunk data sent to Ableton
b8b40e0
- ✨ Implement a test wrapper that creates and closes an Ableton instance
43af48f
- ✨ Add an error event and document events
2688b68
30 March 2021
- 🐛 Fix setting the selected scene, track, and clip slot
#23
- 🐛 Fix wrong function call in removeNotes – thanks @ceeram!
d3a80a5
14 March 2021
14 March 2021
13 March 2021
- 🐛 Fix sent JSON only containing strings
d79d54b
12 March 2021
- ✨ Add support for Ableton Live 11
a928780
6 February 2021
- 🏷️ Fix type issues in the track object
#21
24 December 2020
24 December 2020
- ✨ Make the event keys more readable
08afe5a
- 🐛 Ensure ascii in log output
36c7743
- 🔊 Make sure that the logged fata matches what was actually sent
ec5124a
12 October 2020
- ✨ Support Clip control
34724eb
- ✨ Add more commands and docs to ClipSlots
7673b2b
- ✨ Add a better representation of color
4ac2a37
11 October 2020
- ✨ Allow passing an array of arguments instead of a map to native functions
5180d8d
- 📝 Add more JS docs
644dc26
7 October 2020
- 🐛 Fix get_ and set_ prefix loop in getattr
#17
- 🐛 Fix error and too much logging in getattr
#16
- ✨ Implement generic sender for Python
#14
- ✨ Support all commands using fallback to native Ableton functions
5c39465
2 June 2020
- ✨ Implement the ability to get the current time in smpte format
e23c9cc
- ✏️ Add AbleSet link to the readme
95dc859
- ✏️ Add AbleSet section to readme
5d40bf2
29 May 2020
- 🔧 Update ports again because NTKDaemon uses them
e581ada
19 April 2020
- 🔧 Update ports because they're clashing with NI's NTKDaemon again
5e69043
12 March 2020
10 March 2020
- 🚧 Add jsdoc to generate docs during build
bdb5ad4
- 📝 Automatically generate a changelog on publish
141354a
- 🐛 time and name properties of cues are read-only, remove them from settableProperties
87493de
10 March 2020
- ✨ Add support for set-/getData and begin-/endUndoStep
6471946
- 🔧 Change the default ports (again 😅) because Max for Live was using port 9005 already
bb6c9f3
- ✨ Add "message" event that lets users listen to decoded incoming messages
5475ec4
10 March 2020
- 🐛 Don't throw an error when the version check fails
6f9b726
- ✨ Add rough latency measurement functionality
814cb05
- 📝 Add docs to the new getPing method
7a70f63
5 March 2020
- 🔧 Improve the list of included files for NPM
fa20b1b
5 March 2020
- 🔧 Improve selection of files included in the NPM package
b237e3e
5 March 2020
- 🚚 Extract packageVersion script into separate file
0861560
- 📝 Document gzip and chunking for responses
227e193
- 🔧 Include midi script in the NPM package for easier installation
ae18a67
5 March 2020
- 💬 Add better explanations to TimeoutErrors
f5690f3
5 March 2020
- ✨ Add scenes, clip slots
#7
- ⚡ Use gzip and chunking to allow a much higher message length
#8
- 🐛 Fix missing ClipSlot conversion in Song.View
308ab48
- ✨ Make view available only as a fixed property of song
af51c31
- 💄 Make post-install warning message yellow
f7e6403
4 March 2020
- ✨ Improve timeout errors by including which command actually timed out
011473d
4 March 2020
- 🔧 Auto-commit change to Internal.py on version bump
590c1a3
4 March 2020
- 🐛 Fix wrong build output structure cause by importing a file outside of the src directory
540f328
- ✨ Automatically sync the Python script version with the Package version
1254f03
- 🔧 Change the default ports to avoid clashes with Native Instruments software
77ae3ec
3 March 2020
- ✨ Allow JS to check whether the Python plugin is up to date
dddb9fe
- ⚡ De-duplicate multiple event listeners on the same prop
3763c94
- 📝 Add findings section to the README file
9b8cde6
2 March 2020
- ✅ Improve tests
e8bbd1b
- 🔧 Run Jest tests sequentially
74c09eb
- ✨ Allow multiple processes to communicate with the Python script at the same time
75ce56e
8 December 2019
- 🔒 Switch to uuid v4
dca7886
27 November 2019
- 🏷️ Fix types for removeListener function
4d0d1a8
27 November 2019
27 November 2019
- ✨ Add a method to check the current connection state
b3950dd
27 November 2019
- ✨ Send regular heartbeats to check if Ableton is still connected
34fff71
- 🐛 Handle serialized objects potentially being None
c92ed1d
- 📝 Change syntax highlighting mode to JS to avoid weird styling
391b6f1
31 May 2019
- 📝 Improve docs
9d6e303
- 🎨 Require message handler to be set
49956da
- 📝 Add information about available yarn scripts
b0f8633
30 May 2019
30 May 2019
- ✨ Implement Song methods in JS
da661ad
- 🏷️ Change nsid type from string to number
7fa34f2
- 🏷️ Fix typing of is_counting_in and is_playing
333a1d6
30 May 2019
- 🔥 Remove unnecessary jumpToCue method
6ceef9c
29 May 2019
29 May 2019
29 May 2019
29 May 2019
29 May 2019
29 May 2019
29 May 2019