Skip to content

Releases: jmoenig/Snap

v10.3.4

18 Dec 08:46
Compare
Choose a tag to compare

10.3.4:

  • Notable Changes:
    • added "compress ... by ..." reporter to the Pixels library
    • added "stretch" and "compress" reporters to the AudioComp library
  • Translation Updates:
    • German (parts of the Pixels and AudioComp libraries)

v10.3.3

12 Dec 15:11
Compare
Choose a tag to compare

10.3.3:

  • Translation Updates:
    • Japanese
    • Spanish

v10.3.2

09 Dec 13:34
Compare
Choose a tag to compare

10.3.2:

v10.3.1

07 Dec 12:07
Compare
Choose a tag to compare

10.3.1:

  • Notable Fixes:
    • fixed c-slot rendering for hat blocks
    • relaxed type assertions to include hat blocks in some script related extensions

v10.3.0

05 Dec 17:17
Compare
Choose a tag to compare

10.3.0:

  • New Features:
    1. Custom Hat Blocks
      • Custom Hat Blocks, expressed as predicate defining a condition that fires the event
      • Custom Hat Blocks can choose to be "events" reacting to a state change (default) or "conditions" observing state (indicated by an infinity symbol)
      • new "Events" library featuring custom hat blocks reacting to various state changes
      • hat blocks are now first class and have their own new data type: "hat"
    2. Other
      • new "obj_version(obj)" extension for observing compound structures (lists, actors, scripts)
      • new "infinity" / chain link symbol
      • new "relabel" option for generic "When" hat block lets you switch between "event" (new default) and old "condition" semantics, indicated by the infinity symbol
      • Surprise XMas Skin "Bake a block"
  • Notable Changes:
    • directly clicking on a generic or custom hat block runs it no matter what
    • "condition" hat blocks (that always fire when their condition is true) are indicated by an infinity symbol
    • the generic "When" hat block in the palette now has "event" semantics and only fires on state change, blocks in existing projects keep their "condition" semantics
    • optimized evaluation speed of generic (and custom) "when" hat block predicates
    • hat blocks can be ringified (but not - yet - dropped into rings)
    • changed positioning of local method icon (location pin) to be vertically centered
  • Notable Fixes:
    • fixed generic and custom hat block scheduling for turbo mode
    • fixed "expand _ to _ slots" block in the metapgroamming libary to be able to fully collapse
    • fixed contrast for local method icon (location pin) in bright ui theme
    • keep musical notes from going of out midi-value bounds
  • Translation Updates:
    • German

v10.2.5

14 Nov 10:35
Compare
Choose a tag to compare

10.2.5:

  • Notable Fixes:
    • fixed "reshape" to let a zero dimension consistenly refer to the available leaf count, e.g. reshape (['foo', 'bar'], 0) => ['foo', 'bar']
    • fixed an error when referencing a renamed or nonexisting input slot in a slot-menu-event hat block

v10.2.4

12 Nov 18:10
Compare
Choose a tag to compare

10.2.4:

  • Notable Fixes:
    • fixed a variadic input slot arrow layout bug

v10.2.3

12 Nov 12:37
Compare
Choose a tag to compare

10.2.3:

  • New Features:
    • expose a copy of the custom block as "caller" to input slot reaction scripts inside custom block definitions
    • new "input slots" menu option for custom block input slots
    • new "expand (input) to (n) slots" command in the metaprogramming library
  • Notable Changes:
    • automatically add a dropdown menu to any custom block input slot whose definition has a slot menu event hat block for it
    • tweaked variadic input slot arrows layout
  • Notable Fixes:
    • fixed input names when querying a custom block definition that has no function body script
    • hide variadic input arrows in case the number of slots is fixed
    • expand variadic inputs to their initial slots amount (if any is specified) when restoring them (i.e. when removing an embedded reporter block)
  • Note to overeager enthusiasts and online geniuses (tm):
    • Please, oh please, use metaprogramming capabilities and variadic inputs wisely, if at all. They can be powerful abstractions, but there ain't not free lunch, they come with costs in expressivity and comprehensibility. Remember that naming things (and choosing distinct names) is a great strategy when communicating with fellow humans. It's sure nice to be revered by your peers for your inconceivable brilliance, but so much nicer to be understood. Never forget that among humans expressive is better than impressive, straight ist better than crooked, flat is better than nested, named is better than anonymous and explicit is better than implicit. Also remember that the one you're most likely talking to is your future you. Be nice to them!

v10.2.2

10 Nov 17:12
Compare
Choose a tag to compare

10.2.2:

  • Notable Changes:
    • changed wording for "when slot ... gets ..." hat block to "when slot ... signals ..."
  • Translation Updates:
    • German

v10.2.1

10 Nov 14:14
Compare
Choose a tag to compare

10.2.1:

  • Notable Changes:
    • deprecated "expand (input) to (n) slots" command, because "set slot ... to ..." can now do this by passing a list as value
    • merged both custom block slot event hat blocks into one "when slot ... gets ..."
  • Translation Updates:
    • German