New Update: Production Build 513
This update marks another major milestone for our MacOS version of the app, as it can now be installed without requiring to run any commands in the terminal, and won't require re-assigning permissions after updating. Don't forget to try it out on MacOS if you haven't yet!
FREE:
New:
- Added a toggle for the retrospective recorder in the trayicon menu.
- The Retrospective Recorder will now record channel and note aftertouch events.
- MIDI recordings will now also display their playback duration.
- Added a button on the recording page to open the recordings folder in explorer or finder.
- Clickable icon buttons were made more interactive when hovered over across the entire app.
Fixed:
- Playing back very short MIDI recordings should no longer cause an error.
- Fixed an issue where the app could crash on startup due to certain installed fonts.
- Fixed an issue where the app could crash after having ran for a long time with a lot of MIDI indicator activity.
- Fixed an issue where some translation buttons would hide when finishing recording a translation input or output.
- MacOS permissions should no longer have to be reassigned after updating from this version on.
- Fixed an issue where spam clicking the play button on a MIDI recording could crash the app.
- Fixed a rare issue where setting the MIDI input device on a translation to blank could stop translations from working.
- Fixed an issue where the MIDI event log viewer would remain active in the background after being closed, causing performance issues.
PRO:
New:
- Added the cancel script command.
- Added a more traditional menu bar with additional options to the scripting tab.
- Script error messages have been made more clear.
- Script error messages should fit within the script popup window better now.
Fixed:
- Fixed an issue where audio script commands could cause an error.
- Fixed an issue on MacOS where using the 'open in finder' option on scripts would not work.
- Executing a translation with a script output without a script name configured should no longer crash the app.
- Fixed an issue where the volume script commands could throw an exception when targeting certain privileged processes.
- Fixed an issue where some script errors could freeze the app.
New Update: Production Build 479
A new production update has been released that fixes some issues with the previous version of the app.
FREE:
Fixed:
- The Settings button on the recordings tab should work again now.
- fixed an issue where favourited recordings could be deleted automatically.
- Fixed an issue with launch on startup on Windows.
- Fixed an issue where keys held down by translations could be left hanging.
MacOS BETA
We're still looking for more beta testers for the MacOS version of CoyoteMIDI! You can download the MacOS version of our app, as well as find instructions on setting it up here: https://coyotemidi.com/docs/macos-early-beta/
If you've tried out coyoteMIDI on Mac, please let us know how it went!
This update finalizes all the changes we've had to make over the past half a year to achieve MacOS compatibility.
Besides that, this update does include some small new features and changes over the previous version:
FREE:
New:
- Retrospective recordings now have animated notes during playback.
Fixed:
- Fixed an issue where using the built-in sampler while the samples were still being loaded could crash the app.
- Fixed an issue where the app could crash when certain MIDI values are out of bounds.
PRO:
New:
- Added the error script command.
- Added the platform script command.
- Added the playsound and stopsound script commands.
Fixed:
- Fixed an issue with the timing and order of script executions.
- The key command should now only delay a script if the key action is 'stroke'.
- The behaviour of automatically closing parentheses and similar characters in the script editor has been improved.
- Improved the reliability of the setfocusedprocess script command.
NOTICE:
- The app is now a 64-bit application. It is recommended to reinstall CoyoteMIDI to ensure that it is installed at the correct location.
FREE
New:
- Added a 'hold' mode to key, click, and MIDI note translation output actions.
- The keys input field in the advanced translation options now has a menu for choosing keys from a list of options.
- The logo indicator that shows MIDI activity now also shows on the app's tray icon.
Fixed:
- The inspector tool now displays a reminder on how to close it.
- Fixed an issue where the recording history would not display in the right order.
- Translations with ControlChange increase or decrease triggers should now still fire for repeated values of 127 or 0 respectively.
- The retrospective recording page has been reworked to be more responsive when dealing with large amounts of recordings.
- To improve CPU usage, the Recorder will no longer try to play audio at 0 volume.
PRO
New:
- The script editor now offers an auto-completion suggestion menu automatically, or by pressing tab for commands, events, and variables. This can be toggled in the script settings.
- The scripting system has been reworked to allow for various improvements.
- The 'default' input for the script parameter in the runscript command should work inside events too now.
- Global variable maps and lists can now be modified directly.
- The isprocessfocused, isprocessrunning, setfocusedprocess, and setvolume commands can now all also take the process ID besides the process name as input.
- Added the findprocesses, getfocusedprocess, getprocess, and processname script commands.
- Added the abs script command.
- The indicator command can now also manipulate the App's tray icon.
Fixed:
- The script file explorer should keep directories expanded now whenever the item list is refreshed.
- Improved the behaviour of automatic parentheses closing in the script editor.
- The modulo script command should give more accurate results for negative values now.
- Undo (CTRL + Z) and redo (CTRL + Y) should work as expected now in the script editor.
- Fixed an issue where the heldnotes script command could wrongly return notes that aren't held down anymore.
- The heldnotes script command now returns a slightly different format of note information to account for multiple entries of the same note across multiple MIDI devices.
- The default MIDI channel for the midi script command should be 0 (or 1 in a 1-16 scale) now.
- Fixed an error if a whitespace existed at the wrong place in a script.
- Fixed multi-comparison if statements in scripts sometimes behaving unexpectedly.
Notice
- The heldnotes script command's return has had its format changed slightly.
A new production update has been rolled out, introducing a lot of new features and fixes!
FREE:
New:
Fixed:
- Added 'Modifiers': A new feature that allows you to modify MIDI events passing through CoyoteMIDI using various Modifier modules with specific rules and behaviour.
- Added the Transpose, Velocity Curve, CC Swapper, Channel Splitter, and Device Routing Modifiers.
- The Show Events window in the MIDI settings will now also show the processing time for each event.
- The translation input pitchbend options have been simplified.
- Translations with CC inputs now have the additional options of triggering for an increase or decrease of CC values.
- Translation buttons should now automatically finish recording when another one starts recording.
- Added the mouse scroll execution type to translations.
- Fixed an issue where backup files were not being made as frequently as intended.
- The script and MIDI device comboboxes in translations should no longer have their dropdown button obscured by text.
- New windows launched by the app should be properly centered relative to the app window again now.
- The colour accent on the arrow graphic in translations should be displayed properly again now.
- Added over 30 missing tooltips on various controls within the app.
- Fixed an issue where translations in the same folder could execute out of order.
- Blurry text in buttons should be a thing of the past.
- Windows keys should no longer be able to lag because of CoyoteMIDI.
- Fixed a rare issue where the app could crash when the window focus was changed at the wrong time.
- Fixed an issue where recordings would not position themselves properly in the recordings page.
- Fixed an issue causing all recordings' GUI control to be rendered at once in the recordings page, instead of only when they come into view.
PRO:
New:
Fixed:
- The PRO version of CoyoteMIDI removes the limit on the amount of Modifiers.
- The colour scheme of the script editor's syntax highlighter is now customizable in the script settings.
- You can now configure the font and font size of the script editor in the script settings.
- Added the scroll script command.
- Fixed an issue where pasting certain texts in the script editor could crash the app.
- Comment lines in scripts are now a gentler grey colour.
- Fixed an issue with the script editor's highlighting of the '!contains' comparison operator
- Fixed an issue where translations would sometimes not save which folder they are in.
FREE
New:
- You can now set the MIDI device in translation MIDI outputs.
- The update message in discord has been improved.
- The app can now optionally send windows notifications when an update is available.
Fixed:
- Made savedata loss in events of unexpected shutdowns less likely.
- Manually entering program change or pitchbend values in translations should work again now.
- The default text in translation input buttons should behave as expected again.
- The default MIDI channel on translation inputs should now be omni again.
Version 281 production
The Production version has been updated to match the latest Beta version.
FREE
New:
- Translations can execute mouse double clicks now.
- Added an option for whether CoyoteMIDI should automatically use newly discovered input devices.
- Added an option for whether CoyoteMIDI should prevent MIDI from being sent back to the same device, even if configured to do so.
- Added a 'match pitchbend value' toggle for translation inputs.
Fixed:
- The system for saving the app settings and translation settings has been redone to try to fix a rare bug where these settings could be reset.
- The EULA has been made more descriptive to make clear that using CoyoteMIDI in commercial workflows is indeed permitted.
- The MIDI input and output device checklists will now resize with the app's width.
- Translations will no longer respond to unsupported MIDI event types.
- Fixed the wrong recording being deleted sometimes after the recordings moved around.
PRO:
New:
- The runscript command now has an optional argument to control whether it should await the script being ran.
- The deprecated 'debugbar' and some functionality of the 'save' command have been removed.
- Added the MIDI channel and MIDI devices arguments to the MIDI script command.
- The MIDI script event now supports a larger range of MIDI event types.
- Added the 'contains' logical operator to the scripting system for strings, lists, and maps.
- Added the notename & notenumber script commands. - Added the replace script command.
- Added the sysex script command & event.
- Added the clipboard & setclipboard script commands.
- Added the fileexists & folderexists script commands.
- Added the inputdevices & outputdevices script commands
- Added the log script command. - Added the find script command.
- Added the mod script command.
Fixed:
- Script error popups will no longer stack. Any opened error popup will be closed when a new one is opened.
- Fixed an issue that could cause crashes when clicking inside the script editor.
- Added a missing 'device' trigger variable to the MIDI script event.
- Fixed an issue where script variables would not properly update inside single line repeating blocks of script.
- Pasting multiple lines of text into the script editor should work again now.
- The startup script event should work as expected now.
- Script map variables can now have entries removed by just the key.
- Fixed the name of up keys inside the key trigger variable in the key script event
- Fixed an issue with the heldnotes script command.
- The selection in the script editor is maintained when using TAB to add or remove indentation to lines.
- Fixed an issue where having spaces in subscript names could break the script.
- Fixed a bug in the midi script command where the pitchbend and program change values were read from the wrong argument.
- The midi command should now properly account for the NoteAfterTouch and ChannelAfterTouch MIDI Events.
Version 268 beta
FREE:
Fixed:
- Fixed an issue where settings could be reset.
- Fixed an issue where savefile backups were being created too early and often.
- Translations will no longer respond to unsupported MIDI event types.
PRO:
New:
- Added the 'contains' logical operator to the scripting system for strings, lists, and maps.
- Added the notename and notenumber script commands.
- Added the replace script command.
- Added the MIDI channel and MIDI devices arguments to the MIDI script command.
- The MIDI script event now supports a larger range of MIDI event types.
- Added the sysex script command.
- Added the sysex script event.
Fixed:
- Added a missing 'device' trigger variable to the MIDI script event.
- Fixed an issue where script variables would not properly update inside single line repeating blocks of script.
- Pasting multiple lines of text into the script editor should work again now.
- The startup script event should work as expected now.
- Script map variables can now have entries removed by just the key.
- Fixed the name of up keys inside the key trigger variable in the key script event
V.208 Production
The Production version has been updated to match the latest Beta version
FREE:
NEW:
- Translations triggered by MIDI notes can now trigger for a specified range of velocity values.
- Translations now offer separate stroke, up, and down actions when performing mouse clicks.
FIXED:
- Fixed an issue where a background process could be left hanging, and subsequent launches of CoyoteMIDI could crash on startup.
- Various improvements have been made to the savefile and backup recovery system.
PRO:
NEW:
- An improved help dialogue has been added for when the PRO license is not detected properly on a PRO client.
- The opened scripts tab list will now show a scrollbar when more scripts are open than can be displayed. - Scripts can now have multiple subscript sections which behave like functions and can be executed separately.
- The runscript script command can now run a specific subscript inside a script.
- Added the heldnotes script command. - Added the mapkeys and mapvalues script commands.
- Added the getfiles and getfolders script commands.
FIXED:
- Fixed a bug where canceling deleting a script in the CoyoteMIDI app would throw an error.
- Script variables using braces should now be correctly highlighted.
- Updated the setvolume command documentation to reflect the existing feature of changing process specific volumes.
- Adding or removing indentation to lines in the script editor using the tab key should work more reliably now.
- Fixed an issue where empty lines in scripts could cause the script to error.
NOTICE:
- The syntax for the runscript script command has been changed.
V.190 Beta
FREE:
FIXED:
- Various improvements have been made to the savefile and backup recovery system.
PRO:
FIXED:
- Updated the setvolume command documentation to reflect the existing feature of changing process specific volumes.
- Adding or removing indentation to lines in the script editor using the tab key should work more reliably now.
- Fixed an issue where empty lines in scripts could cause the script to error.
NEW:
- Scripts can now have multiple subscript sections which behave like functions and can be executed separately.
- The runscript script command can now run a specific subscript inside a script.
- Added the heldnotes script command.
- Added the mapkeys and mapvalues script commands.
- Added the getfiles and getfolders script commands.
NOTICE:
- The syntax for the runscript script command has been changed.
- With the changes being made to the savefile system, it is a good idea to remind you to keep a backup of the contents of your user data at Documents/CoyoteMIDI/userdata.