8000 Getting Started · dawg/dawg Wiki · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Getting Started

Jacob Smith edited this page May 26, 2020 · 11 revisions

DAWG is a DAW built using Electron and the Web Audio API. The following guide will show you how to get DAWG running locally, 8000 point you in the direction of some of the key resources to understanding the structure of the application, and also link you to some other useful resources.

DAWG Circa 2019

A screenshot of DAWG circa 2019.

Basics

Prerequisites

First, you'll have to make sure you have Node and npm installed correctly (see package.json for version information). If not installed, we recommend the following steps to getting them set up.

  1. Install Node Version Manager (NVM)
  2. Install Node and npm using NVM

Although these instructions use npm, yarn can also be used if desired.

Installing Dependencies

Install the dependencies using the following command.

npm i --no-optional  # same as "npm install --no-optional"

NOTE: We include the --no-optional flag as there is a certain optional sub-dependency that cannot be built on Windows (speaker).

Next, run the following command to ensure all your dependencies are built using the correct version of Node:

npm run install-app-deps

NOTE: This command may take some time but it rarely needs to be run after the initial npm install.

Development

Application development occurs in Electron. To start the Electron application in development mode, use this command.

npm run serve

Building

The following command will build DAWG for your current operating system. It is not very easy to build cross-platform. As such, we use GitHub Actions to build for Linux, MacOS, and Windows at the same time. See the .github/workflows/build.yml file for more information.

npm run build

Testing

Currently, there is a small unit suite available. It uses Karma (test runner), Puppeteer (Headless Chrome), Mocha (test framework) and Chai (assertion library). Use the following command to initiate the test suite:

npm run test:unit

Required Reading

Once you have your development environment running, It will be important to familiarize yourself with the structure of DAWG and how development occurs. The following is an incomplete list of the most important things to read.
↳ IDE Setup
↳ Tech
↳ Development Lifecycle
↳ How to Deploy
↳ Architecture

Clone this wiki locally
0