Skip to content
 
 

Latest commit

 

History

3,714 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status

CEAMMC Puredata distribution 2017.07

General purpose Pd distribution and library used for work and education purposes in Centre of electoacoustic music of Moscow Conservatory (CEAMMC) and ZIL-electro studio.

This repository is an assembly of Puredata that includes the CEAMMC library.

Key concepts

  • All the externals are grouped by their function. This is different from the traditional approach but this aims to simplify the learning process and makes the language itself more clear.
  • Higher level set of objects for education and handy use in work process: oscillators, filters etc.
  • Library adds several features to basic Pd API. It is written in C++ and covered with tests.
  • Inclusion of some modern techniques. Library v0.1 includes comprehensive set of objects that work with lists and include some concepts from functional programming.

Features: v0.3

  • Core objects:
    • list.* objects: 32 objects that cover different techniques to work with lists
    • list.apply_to, list.reduce objects introduce basic functional approach to list processing.
    • math.* : 28 objects covering math functions with 1 argument
    • vector.* : basic vector operations
    • basic JSON handling
    • system.* object for various system features
    • flow control: pass, reject objects; predicates objects
    • random number generators
    • property concept: non-UI objects may have properties that can be accessed after object creation. This includes special message and prop.get object for handling
    • custom data types:
    • 'String' data type. string.* objects for common string manipulation functionality
    • 'Set' data type. data.set, set.* objects to work with sets - unordered lists. conversion to list.
    • function.call and [function] objects - working with named functions in Pd
    • array.do, array.each - apply the function to each element of an array
  • Audio objects:
    • dynamics: compressor, limiter, soft clip
    • envelope generators (ar, adsr) and follower
    • filters: eq peak and shelf filters, dc block, lp/hp/bp in 2- and 4-pole versions
    • filter coefficient calculations and biquad filter object with audio-rate control
    • oscillators and LFO with different waveforms. including sine oscillator with feedback
    • some basic effects - pitch/frequency shift, flanger, distortion
    • snd.file - object for importing sound files
  • GUI objects:
    • 8 new objects: knob, multiple slider box, 2d slider, keyboard, message display, scope and oscilloscope
    • breakpoint function object, working with envelope objects
    • Basic timeline objects: graphical cues in a patch
    • Includes several objects from CICM Cream Library
  • Extensions:
    • New objects toolbar (also works as edit mode indicator)
    • Saving subpatch as new patch
    • Multiple undo (beta)
    • Grid / Align to grid (beta)

see ceammc/CHANGELOG.md for more details

Roadmap v0.4+:

  • Core objects:

    • math.* - add functions with multiple arguments
  • GUI

    • new completely rewritten Qt-based GUI with MVC architecture
    • simplified object set
    • Zoom, grid, extended property handling, extended patching/clipboard/undo etc
    • embedded Python; API for python

this work is based on / includes:

Authors

Serge Poltavsky Alex Nadzharov

License

GPL3

Original README

About

Pure Data - tracking Miller's SourceForge git repository (also used by libpd)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages