Code Monkey home page Code Monkey logo

pal's Introduction

pal: a C++ audio prototyping framework

pal is a C++ application framework for rapid prototyping of audio applications.

Since pal uses C++, it makes it easy to transition into a production framework, such as JUCE, once you're happy with your prototype.

pal aims to come "batteries included" so you can get started making cool prototypes without having to worry about the details. Because its low number of dependencies and modular architecture, pal is easy to integrate with other libraries and application frameworks.

Installation (macOS)

Before using pal, make sure you have all the dependencies installed. These are:

  • portaudio - for real time audio IO.
  • libsndfile - for reading and writing audio files.
  • SDL2 - for opening and managing windows and user IO.

On mac these can be installed using homebrew with the command:

$ brew install portaudio libsndfile sdl2

Once all dependencies are installed you can try building the pal template by running

$ make run

If the build is successful a window should open that looks like this:

Screen shot of a blank pal program

If you have trouble building make sure that all the libraries are in path. Otherwise please open a GitHub issue.

If everything runs like it should you can run

$ make install

which will install the pal command line tool on your system. The install location defaults to /usr/local/bin, but can be changed by setting the INSTALL_LOCATION variable in makefile.

Using pal

Once pal is installed you can create a new pal application by first making a directory where it can live

$ mkdir my-pal-project
$ cd my-pal-project

and the using the new command

$ pal new

This will copy the necessary files from the pal directory --- the one from which you installed pal --- to your new project directory.

Now you can run make run to check that everything is working. You can then start editing main.cpp however you like.

pal's People

Contributors

pellejuul avatar

Stargazers

Francesco Bigoni avatar

Watchers

James Cloos avatar  avatar

pal's Issues

noob

I'm kind of new to brew and all admittedly, I followed the steps and after installing the dependencies nothing happened , no window so I typed the next step anyway and only got an error
% make run
make: *** No rule to make target `run'. Stop.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.