README.txt

May 12, 2026 ยท View on GitHub

MOONLIB puredata externals

  • tabenv : like env~, an envelope follower, but computing on a table, so possibly faster than real-time env~'s computation.

  • tabsort and tabsort2 : return the indices of the sorted table (tabsort2 is bidimensional).

  • gamme : one octave of a piano keyboard used to filter/choose notes in a selected scale.

  • absolutepath/relativepath (OBSOLETE): use data (sounds, texts, presets, images, programs...) nested in the patch's directory (and in subdirs).

  • sarray and slist : create shared dynamic arrays or lists with symbols.

  • sfread2~ and readsfv~ : direct-from-disk reading of sound files, with pitch control.

  • dinlet~ : an inlet~ with a default value (when nothing is connected to it).

  • mknob : a round knob ala iemgui vslider (with its "properties" window).

  • dispatch : creates one bus name for many buttons' buses: from the N pairs (slider1-snd/slider1-rcv) ... (sliderN-snd/sliderN-rcv), creates only one pair of buses named (slider-snd/slider-rcv) , in which values are prepended by the number of the "sub-bus".

  • image : an improvement of Guenter Geiger's one. Same name, but it's compatible. Here you can share images through different objects, preload a list of images, and animate this list.

  • ndmetro : a metronome/counter allowing continuous tempo change and other features.

    and some others...

In order to have sfread2~ working with large files in direct-from-disk mode you can hack pd sources: change mlockall(MCL_FUTURE) with mlockall(MCL_CURRENT) in s_inter.c . If you don't, the whole file is loaded in memory when opening it.

Latest source can be found (and issues can be reported) at: https://github.com/MetaluNet/moonlib

Antoine Rousseau