Skip to content

Latest commit

Β 

History

History
790 lines (453 loc) Β· 44.6 KB

CHANGELOG.md

File metadata and controls

790 lines (453 loc) Β· 44.6 KB

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by auto-changelog.

  • 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

  • πŸ”’ Switch to uuid v4 dca7886

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 b0f5943

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