Skip to content

Releases: shakfu/chuck-max

chuck-max 0.1.2

15 May 06:45
Compare
Choose a tag to compare

This is a macOS-only release of the chuck-max package which contains the chuck~ external, the base CCRMA chugins, as well as the Faust.chug and WarpBuf.chug chugins, and a large number of chuck code examples and Max patchers.

The biggest change over the prior pre-release is increased stability due to a much-appreciated fix for a critical Faust-related bug by Professor @gewang. There are also major improvements in build infrastructure, some usability tweaks and bug fixes detailed below.

The release includes notarized arm64, intel and universal binary builds for macOS. Just note that builds with the word base in their title do not include the two larger chugins (Faust.chug and WarpBuf.chug).

To install just mount the .dmg, and drag-n-drop the chuck-max folder into the $HOME/Documents/Max 8/Packages folder.

Please report any issues on the project's issue tracker, and if there's anyone who would like to help build a Windows version please create an issue or ping me on the chuck language discord channel.

Thanks to Professor @gewang for the great feedback on the prior pre-release and for directly contributing PR-16 which fixed the Faust 'crash-on-close' issue!

Thanks to @HighHarmonics2 for providing excellent usage feedback, bug reports, and for contributing some great examples!

This release includes the following changes:

[0.1.2]

  • Added a github workflow to automate building the external

  • Added improved and simplified build guide in README

  • Added much improved build system using predominantly homebrew packages via make brew

  • Added test for .mp3 use by WarpBuf

  • Added mp3 support to libsndfile-using chugins {Fauck, WarpBuf}

  • Added alternative max-friendly style for add such that <filename> arg1 arg2 .. argN is interpretered as <filename>:arg1:arg2:argN

  • Added test for chuck add colon-separated args

  • Added ck_info, ck_warn, ck_debug for more control and consistency wrt console logging.

  • Removed info message and merged its functionality with status message.

  • Reorganized patchers/contrib folder given prior bug fix.

  • Fix for file searching bug which now makes it possible in the case of [chuck~ 2 abc.ck] for abc.ck to be in found in the same folder as the Max patch which references it.

Enjoy!

chuck-max 0.1.1 prerelease

08 May 16:20
Compare
Choose a tag to compare
Pre-release

This is a macOS-only pre-release of the chuck-max package which contains the chuck~ external, the base ccrma chugins including Faust.chug and WarpBuf.chug, and a large number of chuck examples and Max patchers to demo use.

The pre-release is available as a code signed and notarized .dmg. To install just move the chuck-max folder into $HOME/Documents/Max 8/Packages.

Please report any issues on the project's issue tracker.

Thanks to @HighHarmonics2 for providing excellent usage feedback, bug reports, and for contributing some great examples!

This pre-release includes the following changes since the prior version:

[0.1.1]

  • Added run_needs_audio attribute to ensure that adding or running shred can only happen when dsp is on.

  • Added patcher directory to search paths for added chuck file.

  • Added improved callback demos for global vars

  • Changed remove message to able to take more than than one shred_id

  • Added test for use of global variables and a practical test of its use in a musical patch.

  • Fixed bug which prevented sending lists of atoms as chuck arrays.

  • Improved path handling: run, add, replace, edit now all use same mechanism to check file validity, fix partial path if file is in examples, or otherwise search in Max search path.

  • Changed / improved chuck~.maxhelp to make it clearer and more readable.

  • Added docs message to open chuck documentation in browser

  • Updated chuck code base to 1.5.2.5-dev (chai)

  • Added fallback search for file based on locatefile_extended if given path is not absolute or found in the chuck-max/examples folder.

  • Added support for setting file and editor attributes, to facilitate use of external editor via setting inspector vars or via setting editor <path> and edit <filename>. Also double-clicking on the chuck~ object will open the current file in the specified external editor.

  • Theadd and replace messages now both handle chuck style file args: add <path>:<arg1>:<arg2>:<argN> While this is consistent without chuck treats file arguments, there is some thought to making this more readable and Max friendly in the future by dropping the colons to adopt the following style: add <path> <arg1> <arg2> ... <argN>

  • Fixed chuck~ object args to allow just the number of channels as args.

  • Added midi player to .maxhelp to demonstrate midi file playback of chuck~ from Max.

  • Added loglevel / loglevel <int> message for setting chuck log level 0-10. Dropped redundant previous debug switch/attribute.

  • Added a number of missing chuck messages: add <filepath>, replace <shredID> <filepath>, reset id, clear vm, clear globals, time, status along with their respective symbols: +, -, --, =, ^, etc.

  • Changed back to keeping all chugins in chuck-max/examples/chugins (alternative is to move chugins and faust stdlib to support)

  • Added support for building the Faust or Fauck chugin with the faust
    stdlib in chuck-max/examples/faust

  • Added support for building the WarpBuf chugin

  • Changed the content and structure of the examples folder to more closely resemble the updated chuck examples folder. See the README.md file in the folder for a more granular list of changes.

  • For macOS, chugins are now installed in the external's Resources/chugins folder. The chugins folder in examples is still searched for chugins in any case

  • Removed posix header includes and replaced with x-platform code in aid of eventual windows support

  • Added callback mechanism and example

  • Added examples for local and global event triggering

  • Fixed the sndbuf.ck exmample (and added sndbuf1.ck) to demonstrate wav file playback via SndBuf with some samples

  • Changed signal message name to sig as it conflicted with a global Max message signal

  • Added optional channels argument which to set more channels at object creation

  • Changed info: now shows <object id> - <shred-id>

  • Added test for two object instances running simultaneously

  • Added info message to list running shreds in the console

  • Update to chuck 1.5.2.3-dev (chai)