defaultxrs-pd-abstractions - a set of abstractions written for pure data, including sequencers, guis, and other utilties

  •        3

This is a collection of abstractions I've made for Pure Data. It includes sequencers, GUIs, general utilities, and a few effects and synths. I'm still in the process of writing them, so consider them "beta", and expect changes if you upgrade later (which will hopefully be mentioned in commit messages). Some objects might get renamed, removed, or end up working/looking completely different later. Beware of this. Right now, most of these abstractions will probably only work under Pd-extended 0.43. Since Pd-extended is no longer maintained, I'll slowly be working towards Pd-vanilla compatibility for this library.

https://github.com/defaultxr/defaultxrs-pd-abstractions

Tags
Implementation
License
Platform

   




Related Projects

MAEstream

  •    C++

maestream is a serie of abstractions, to make more easily the use of PureData for multimedia purposes. maestream is recommended for Pd-extended users

Pure Data Anywhere

  •    Perl

PDa is a port of Pure Data (Pd) to integer-only CPUs like the ARM and MIPS. These chips are used in embedded systems from PDAs to mobile phones to wifi routers. This port of Pd allows you to take Pd anywhere on a handheld or embedded device.

epswitches 0.2

  •    

Uma pequena coleccedil;atilde;o de abstraccedil;otilde;es de roteamento de fluxo de dados e aacute;udio para Pd (Pure Data) | A small abstraction collection for Pd (Pure Data) for audio and data routing.

arrow - Functional companion to Kotlin's Standard Library

  •    Kotlin

Λrrow is a library for Typed Functional Programming in Kotlin. Arrow aims to provide a lingua franca of interfaces and abstractions across Kotlin libraries. For this, it includes the most popular data types, type classes and abstractions such as Option, Try, Either, IO, Functor, Applicative, Monad to empower users to write pure FP apps and libraries built atop higher order abstractions.

Raspberry-Pi-Looper-synth-drum-thing - My first venture into raspberry pi stuff

  •    Pure

Or change the sample names to whatever you want in the pd patch. The Sessions directory is pointed to where it lives on my pi, you will need to change that to wherever you are storing your patch on your pi. You will need comport and shell externals in pd.


Pure Data Computer Music System

  •    Perl

The Pure Data (short Pd) project on SourceForge unifies the extensions (or externals) written for the Pure Data Graphical Computer Music System written by Miller Puckette with contributions from many others.

gibber - An audiovisual live coding environment for the browser

  •    Javascript

Gibber is a live coding environment for the web browser, using the Gibberish.js audio engine, the CodeMirror code editor library and wrapping Three.js for 3d graphics and shader support. Version 2 of Gibber features a much more efficient audio engine, some interesting mapping abstractions and a server/database backend for publishing and browsing files and collaboratively live coding. In order of preference, Gibber runs in Chrome, Safari, and Firefox. The current public URL for the Gibber environment is http://gibber.mat.ucsb.edu. Below is a code sample that shows off the mapping abstractions in Gibber by mapping the output envelope of various drum sounds to the rotation of a Cube and a shader uniform.

GEM: Graphics Environment for Multimedia

  •    C++

GEM (Graphics Environment for Multimedia) is a library to be used with Miller Puckette's Max-like realtime-computermusic-software quot;Pure Dataquot; (Pd), which allows to draw and control openGL- and pixel-graphics (like video) in realtime from within Pd.

pd-for-ios - Pure Data for iOS

  •    Objective-C

Pure Data for iOS

pd-for-android - Pure Data for Android

  •    Java

Pure Data for Android

Porter - :lipstick: Data import abstraction library for consuming Web APIs and other data sources.

  •    PHP

Porter is the PHP data importer. She fetches data from anywhere, from the local file system to third party online services, and returns an iterator. Porter is a fully pluggable import framework that can be extended with connectors for any protocol and transformers to manipulate data immediately after import. Ready-to-use data providers include all the necessary connectors and other dependencies to access popular online services such as Stripe for online payments, the European Central Bank for foreign exchange rates or Steam for its complete PC games library and more. Porter's provider library is limited right now, and some implementations are incomplete, but we hope the PHP community will rally around Porter's abstractions and become the de facto framework for publishing online services, APIs, web scrapers and data dumps. Porter's interfaces have undergone intensive scrutiny and several iterations during years of production use to ensure they are efficient, robust, flexible, testable and easy to implement.

cats - Lightweight, modular, and extensible library for functional programming.

  •    Scala

Cats is a library which provides abstractions for functional programming in the Scala programming language. The name is a playful shortening of the word category. Scala supports both object-oriented and functional programming, and this is reflected in the hybrid approach of the standard library. Cats strives to provide functional programming abstractions that are core, binary compatible, modular, approachable and efficient. A broader goal of Cats is to provide a foundation for an ecosystem of pure, typeful libraries to support functional programming in Scala applications.

cutlass - CUDA Templates for Linear Algebra Subroutines

  •    C++

CUTLASS 1.0 is a collection of CUDA C++ template abstractions for implementing high-performance matrix-multiplication (GEMM) at all levels and scales within CUDA. It incorporates strategies for hierarchical decomposition and data movement similar to those used to implement cuBLAS. CUTLASS decomposes these "moving parts" into reusable, modular software components abstracted by C++ template classes. These thread-wide, warp-wide, block-wide, and device-wide primitives can be specialized and tuned via custom tiling sizes, data types, and other algorithmic policy. The resulting flexibility simplifies their use as building blocks within custom kernels and applications. To support a wide variety of applications, CUTLASS provides extensive support for mixed-precision computations, providing specialized data-movement and multiply-accumulate abstractions for 8-bit integer, half-precision floating point (FP16), single-precision floating point (FP32), and double-precision floating point (FP64) types. Furthermore, CUTLASS demonstrates CUDA's WMMA API for targeting the programmable, high-throughput Tensor Cores provided by NVIDIA's Volta architecture and beyond.

xomb - An exokernel operating system written in D

  •    D

XOmB is an exokernel operating system written in the D programming language. It’s primarily being developed by students at the University of Pittsburgh. The idea behind exokernels is to force as few abstractions as possible on developers, enabling them to make as many decisions as possible about hardware abstractions. Exokernels are tiny, since functionality is limited to ensuring protection and multiplexing of resources, which are vastly simpler than conventional microkernels’ implementation of message passing and monolithic kernels’ implementation of abstractions. Applications may request specific memory addresses, disk blocks, etc. The kernel only ensures that the requested resource is free, and the application is allowed to access it. This low-level hardware access allows the programmer to implement custom abstractions, and omit unnecessary ones, most commonly to improve a program’s performance. It also allows programmers to choose what level of abstraction they want, high, or low.

pd-overlay

  •    Shell

Experimental Gentoo overlay for Pure Data and its externals.

tonal - A functional music theory library for Javascript

  •    Javascript

tonal is a small (20kb minified, 6kb gzipped) javascript modular music theory library. It provides functions to manipulate tonal elements of music (pitches, chords, scales, keys). It deals with abstractions (not actual music). It uses a functional programing style: all functions are pure, there is no data mutation, entities are represented by data structures instead of objects, and lot of functions accept partial application.

RustBooks - List of Rust books

  •    

Welcome! This book will teach you about the Rust Programming Language. Rust is a systems programming language focused on three goals: safety, speed, and concurrency. It maintains these goals without having a garbage collector, making it a useful language for a number of use cases other languages aren’t good at: embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. It improves on current languages targeting this space by having a number of compile-time safety checks that produce no runtime overhead, while eliminating all data races. Rust also aims to achieve ‘zero-cost abstractions’ even though some of these abstractions feel like those of a high-level language. Even then, Rust still allows precise control like a low-level language would. This is Rust-101, a small tutorial for the Rust language. It is intended to be an interactive, hands-on course: I believe the only way to really learn a language is to write code in it, so you should be coding during the course. If you have any questions that are not answered here, check out the "Additional Resources" below. In particular, the IRC channel is filled with awesome people willing to help you! I spent lots of time there ;-) I will assume some familiarity with programming, and hence not explain the basic concepts common to most languages. Instead, I will focus on what makes Rust special.

crossplane - An Open Source Multicloud Control Plane

  •    Go

Crossplane is an open source multicloud control plane. It introduces workload and resource abstractions on-top of existing managed services that enables a high degree of workload portability across cloud providers. A single crossplane enables the provisioning and full-lifecycle management of services and infrastructure across a wide range of providers, offerings, vendors, regions, and clusters. Crossplane offers a universal API for cloud computing, a workload scheduler, and a set of smart controllers that can automate work across clouds. Crossplane presents a declarative management style API that covers a wide range of portable abstractions including databases, message queues, buckets, data pipelines, serverless, clusters, and many more coming. It’s based on the declarative resource model of the popular Kubernetes project, and applies many of the lessons learned in container orchestration to multicloud workload and resource orchestration.

witchcraft - Monads and other dark magic for Elixir

  •    Elixir

Witchcraft is a library providing common algebraic and categorical abstractions to Elixir. Monoids, functors, monads, arrows, categories, and other dark magic right at your fingertips. You shouldn't have to learn another language just to understand powerful abstractions! By enabling people to use a language that they already know, and is already in the same ballpark in terms of values (emphasis on immutability, &c), we can teach and learn faster.

Diesel - A safe, extensible ORM and Query Builder for Rust

  •    Rust

Diesel is the most productive way to interact with databases in Rust because of its safe and composable abstractions over queries. Diesel offers a high level query builder and lets you think about your problems in Rust, not SQL. Its focus on zero-cost abstractions allows Diesel to run your query and load your data even faster than C. Unlike Active Record and other ORMs, Diesel is designed to be abstracted over. Diesel enables you to write reusable code and think in terms of your problem domain and not SQL.