Skip to content

Latest commit

 

History

History
801 lines (461 loc) · 45.5 KB

CHANGELOG.md

File metadata and controls

801 lines (461 loc) · 45.5 KB

Changelog

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 readme b383e44
  • 🐛 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 value 30f62ee

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 property 8cf68c8

16 March 2024

  • 🔊 Improve error logging 5c35106
  • 🐛 Fix issues with converting iterables to arrays in Live 10 2af2f25

6 February 2024

  • 🐛 Fix buffer size limit being too high on Windows 0c6bc7d
  • 🐛 Mark is_active device property as read-only 316f510

11 November 2023

  • ✨ Add a safeStartPlaying method that only calls start_playing when Live is currently stopped 46e1354
  • 🐛 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 provided e6bf99b

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 timeline a7b84e2
  • 🎨 Fix formatting f06d3d0

10 September 2023

  • 🔇 Fix every message being logged twice 3a2571f
  • 🗑️ Deprecate removeNotes and add removeNotesExtended as a replacement ac02271
  • 🐛 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 tracks fc6f38d

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 expected b5fdbe1

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 property ae47bd2
  • 🔧 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

  • 🔊 Log the version of AbletonJS when it's loaded fae9799
  • 🔧 Bind server to 127.0.0.1 only bb73239

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 connected 3323d3d
  • ✨ 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 properly 937edca

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

  • ✨ Make IDs stable over the lifespan of Live 0bfcf90
  • ✨ Add create_track methods a7dd6bc

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

  • 📝 Fix some typos in the readme 10c8566
  • ✨ Add support for observing the muted prop of clips ecb604a

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

  • ✨ Return the is_foldable property of tracks by default 0b5afdf
  • 🔧 Add sponsor links 1ea9df9

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

  • ✨ Clear listeners map on disconnect 5e1625f
  • 🔧 Make ableton:logs output cleaner cb2c42d

14 March 2021

  • 🔊 Extend logging 0b27207
  • 🐛 Clear event map when the connection is lost 49d6981

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

  • 🐛 Allow logging of incoming UTF8 data 4405c73
  • 🐛 Fix setData sending the wrong values 22cc8de

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

  • ⚡ Don't stringify set data ddc1596
  • 🔧 Increase max UDP packet size to 60500 bytes 6233dd9

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

27 November 2019

  • 🏷️ Fix types for removeListener function 4d0d1a8

27 November 2019

  • 🔒 Use uuid instead of node-uuid ebf02c8
  • ✨ Clear heartbeatInterval on close 2844b75

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

  • ✨ Add listeners for connect and disconnect 00f42f6
  • ✨ Add connect and disconnect messages a27c632

v1.1.0

29 May 2019

  • ✨ Add Jest for testing 8bc8dbf
  • ✨ Implement transformers structure 00a6a6f
  • 🎉 Implement basic song control and UDP protocol a760214