A digital audio workstation for all platforms that is libre, gratis, and awesome

Overview

🎹 Dawsome

[WIP] A DAW build on React + Rust + WASM

Available Scripts

In the project directory, you can run:

pnpm dev

Tauri will open a new window with the app in development mode.

The page will reload if you make edits.
You will also see any lint errors in the console.

See the section about development for more information.

To run the frontend separately from the backend, use pnpm ui:start.

pnpm build

Builds the app for production to the build folder.
This builds the Tauri app bundle and correctly bundles React in production mode, optimizing the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about building for more information.

pnpm ui:test

Launches the test runner in the interactive watch mode.
See the Jest docs for more information.

Learn More

You can learn more in the Vite and Tauri.

To learn React, check out the React documentation.

Comments
  • Document model V0 + UI/Engine Syncing with Redux + Project structuring

    Document model V0 + UI/Engine Syncing with Redux + Project structuring

    • Adds Redux as the central state manager
    • Seeds the design of the document model
      • initial design in docs/audio-graph.md
        • https://whimsical.com/project-HNvThW62PrN9Gp33UfAuRf@2Ux7TurymNHcs4gAfi4M
    • Adds TS and Rust CI linting jobs
    documentation help wanted DocumentModel 
    opened by tonyketcham 3
  • Feature/vite + DevOps improvements

    Feature/vite + DevOps improvements

    • Ejected CRA and implemented Vite for HMR and other fast goodies. Drastically lessens the size of node_modules.
    • Added Prettier, configuration for ESLint & Jest
    • Adds VSCode recommended plugins & defines formatters for specific filetypes
    • Enables React 18

    Depends on #1.

    enhancement DevOps 
    opened by tonyketcham 1
  • Add TailwindCSS

    Add TailwindCSS

    📝 Notes

    🧙‍♀️ Obligatory cursed image

    image

    Depends on #1

    DevOps UI/UX 
    opened by tonyketcham 1
  • implementing audiograph and nodes for queuing multiple outputs

    implementing audiograph and nodes for queuing multiple outputs

    • adds AudioGraph and AudioNode structs for modelling compositions of samples that can be played in a timeline/arrangement view
    • adds functions for adding nodes to audiograph by sample:
    AudioGraph.construct_and_add_node(
      &mut self,
      sample_path: String,
      start_offset: u64
    ) -> u64
    
    • adds playlist audiograph to state
    • adds tauri method for adding audio nodes from the frontend
      • ids are automatically generated
      • node playtime is automatically calculated when the playlist is toggled
    • conditional dependencies for compiling cross-platform
    opened by nbennett320 0
  • CI pipeline + pnpm

    CI pipeline + pnpm

    📝 Notes

    • Leverages Github Actions to build the Tauri app on PRs
    • Switches package manager to pnpm for faster install time, less disk space usage, and easy monorepo tooling
    • Renames and introduces new package.json scripts
    • Deletes redundant package lock files
    • Updates README docs

    🧙‍♀️ Obligatory cursed image

    image

    enhancement DevOps 
    opened by tonyketcham 0
  • [REQ] fix license on GH

    [REQ] fix license on GH

    Hi there, 1st of all thanks for your awesome (voluntary) work !

    Since we've doxed this git in our HyMPS project (under the DAW section), can you please fix licensing terms for it ?

    Our "problem" is that does not generates a correct badge:

    (generate url: https://flat.badgen.net/github/license/nbennett320/dawesome/?label=LICENSE)

    This could easily be fixed by choosing a "correct" license file through the GH's wizard.

    Although it may sounds like a minor aspect, this could help other devs to understand how reuse your code in other open projects and vice-versa.

    Last but not least, let us know how (in your opinion) we could improve our categorizations and links to resources in order to favor collaboration (and therefore evolution) between developers of listed projects.

    Thanks in advance.

    opened by forart 0
  • Monorepo / introduce Turborepo for rapid handoff

    Monorepo / introduce Turborepo for rapid handoff

    Ref: https://turborepo.org/

    Cuts down on CI time and install/build times during handoff between branches and PRs. Should also greatly benefit splitting up the backend and frontend into distinct packages following a monorepo design - if, for example, the backend engine doesn't have any changes, cached binaries can be remotely downloaded and executed quicker than naïvely rebuilding the unchanged package.

    Since Tauri kicks off with a node script in package.json it should work with Turborepo even though it only supports TS/JS.

    • Related: https://github.com/vercel/turborepo/issues/683
    enhancement DevOps 
    opened by tonyketcham 1
Owner
Noah Bennett
Hello world world champion
Noah Bennett
A nifty commandline tool to manage your workstation.

workstation It's a nifty commandline rust tool to make you sit slightly away from your screen by blacking out the screen if you come too close and loc

Amar Lakshya (desi_tux) 16 May 6, 2022
TI LDC1312/LDC1314/LDC1612/LDC1614 inductance-to-digital converter driver for Rust embedded-hal

ldc1x1x Rust embedded-hal 1.x driver for Texas Instruments (TI) I²C inductance-to-digital converters (LDC): LDC1312/LDC1314, LDC1612/LDC1614. Includes

null 2 Oct 2, 2022
hy-rs, pronounced high rise, provides a unified and portable to the hypervisor APIs provided by various platforms.

Introduction The hy-rs crate, pronounced as high rise, provides a unified and portable interface to the hypervisor APIs provided by various platforms.

S.J.R. van Schaik 12 Nov 1, 2022
Bongo Copy Cat wants to be involved in everything you do but instead just imitates you hitting your keyboard all day. After all it's just a cat.

Bongo Copy Cat Introduction Bongo Copy Cat wants to be involved in everything you do but instead just imitates you hitting your keyboard all day. Afte

Abhijeet Singh 4 Jan 23, 2023
Awesome full-stack template using Yew and Rust

Docker + Actix + Yew Full Stack Template ??‍?? YouTube videos Full Stack Rust App Template using Yew + Actix! https://youtu.be/oCiGjrpGk4A Add Docker

Security Union 143 Jun 22, 2023
This article is about the unsound api which I found in owning_ref. Owning_ref is a library that has 11 million all-time downloads and 60 reverse dependencies.

Unsoundness in owning_ref This article is about the unsound api which I found in owning_ref. Owning_ref is a library that has 11 million all-time down

Noam Ta Shma 20 Aug 3, 2022
Error context library with support for type-erased sources and backtraces, targeting full support of all features on stable Rust

Error context library with support for type-erased sources and backtraces, targeting full support of all features on stable Rust, and with an eye towards serializing runtime errors using serde.

Findora Foundation 1 Feb 12, 2022
Fast, compact and all-around subdomain enumeration tool written in Rust

Fast, compact and all-around subdomain enumeration tool written in Rust, which uses dns bruteforce, internet search and recursive http content search.

foreseon 16 Dec 10, 2022
Create virtual serial ports, connect them to physical serial ports, and create routes between them all.

Virtual Serial Port Router (vsp-router) Create virtual serial ports, connect them to physical serial ports, and create routes between them all. vsp-ro

Rob Donnelly 3 Nov 24, 2022
Utilities to gather data out of roms. Written in Rust. It (should) support all types.

snesutilities Utilities to gather data out of roms. Written in Rust. It (should) support all types. How Have a look at main.rs: use snesutilities::Sne

Layle | Luca 5 Oct 12, 2022
Generate a THIRDPARTY file with all licenses in a cargo project.

cargo-bundle-licenses Bundle all third-party licenses into a single file. NOTE This tools is not a lawyer and no guarantee of correctness can be made

Seth 58 Jan 7, 2023
A cli utility written in Rust that allows fetching all the labels of a project, save those as a YAML file

A cli utility written in Rust that allows fetching all the labels of a project, save those as a YAML file that you can easily edit or save as backup and apply a saved preset to new repositories.

Chevdor 4 May 5, 2022
Prints the absolute path of all regular files in an unmounted btrfs filesystem image.

btrfs-walk-tut Prints the absolute path of all regular files in an unmounted btrfs filesystem image. Learning about btrfs: Btrfs Basics Series This re

Nishal Kulkarni 2 Feb 3, 2022
1️⃣ el lisp number uno - one lisp to rule them all 🏆

luno el lisp number uno luno is the one lisp to rule them all. Still experimental, do not use it in production yet. goals embeddable small size simple

Eva Pace 3 Apr 25, 2022
One copy of Electron to rule them all.

chroma One copy of Electron to rule them all. chroma keeps a central, up-to-date version of Electron, and makes all your installed Electron apps use i

Gergő Móricz 12 Mar 20, 2023
Fusion is a cross-platform App Dev ToolKit build on Rust . Fusion lets you create Beautiful and Fast apps for mobile and desktop platform.

Fusion is a cross-platform App Dev ToolKit build on Rust . Fusion lets you create Beautiful and Fast apps for mobile and desktop platform.

Fusion 1 Oct 19, 2021
List of Persian Colors and hex colors for CSS, SCSS, PHP, JS, Python, and Ruby.

Persian Colors (Iranian colors) List of Persian Colors and hex colors for CSS, SCSS, PHP, C++, QML, JS, Python, Ruby and CSharp. Persian colors Name H

Max Base 12 Sep 3, 2022
Northstar is a horizontally scalable and multi-tenant Kubernetes cluster provisioner and orchestrator

Northstar Northstar is a horizontally scalable and multi-tenant Kubernetes cluster provisioner and orchestrator. Explore the docs » View Demo · Report

Lucas Clerisse 1 Jan 22, 2022
Time related types (and conversions) for scientific and astronomical usage.

astrotime Time related types (and conversions) for scientific and astronomical usage. This library is lightweight and high performance. Features The f

Michael Dilger 3 Aug 22, 2022