Basics of Rust Programming for Audio


Install Rust using Conda, Configure VSCode for Rust, Create a Hello World Example in Ubuntu


00:00 Introduction 00:11 Installing Conda: https://youtu.be/o17UQRWf3Hk?si=ODLN7PAaj4vsx1AT 00:46 Creating a Conda environment with Rust 01:22 Activating the Rust conda environment 01:40 Checking the Rust version 02:12 Creating a Hello World application 03:37 Installing VSCode 04:23 Opening the Hello World application in VSCode 05:00 Configuring VSCode for Rust 05:15 Installing rust-analyzer vscode extension 05:33 Installing codelldb vscode extension 06:02 Checking if breakpoints are enabled 06:38 Running the Hello World Application 06:50 Starting a debugging session

Rust Programming - Playing an Audio Wave File Tutorial - Basics of Rust Programming for Audio


00:00 Introduction 00:33 Crate 'rodio' 02:18 Installing 'git' using Conda 03:00 Running the 'music_wav' example using 'cargo' 04:10 First overview of the 'music_wav' example code 05:46 Playing a different .wav file using the example code

Cargo - Rust package manager Tutorial - Rust Programming for Audio


Cargo - Rust package manager Tutorial - Rust Programming for Audio: "Cargo is the Rust package manager. Cargo downloads your Rust package’s dependencies, compiles your packages, makes distributable packages" - https://doc.rust-lang.org/cargo/ "Cargo is the Rust package manager. It is a tool that allows Rust packages to declare their various dependencies and ensure that you’ll always get a repeatable build. To accomplish this goal, Cargo does four things: Introduces two metadata files with various bits of package information. Fetches and builds your package’s dependencies. Invokes rustc or another build tool with the correct parameters to build your package. Introduces conventions to make working with Rust packages easier." - https://doc.rust-lang.org/cargo/guide/why-cargo-exists.html 00:00 Introduction 00:19 Cargo - Rust Package Manager 00:59 Cargo - Options and Commands 01:30 Artifact - Rust Glossary 02:03 Creating a new package 02:47 Rust Manifest - Cargo TOML file 04:12 Build Debug vs. Build Release 04:52 cargo.lock file - Dependencies

Rust's Module System - Tutorial - Rust Programming for Audio


00:00:00 Introduction 00:00:14 Rust's Module System 00:01:24 Crates 00:02:05 Modules 00:02:25 Binary Crates 00:02:42 Library Crates 00:02:55 Module 00:03:52 Package 00:04:50 Paths 00:05:25 Conclusions 00:05:58 Next tutorial

The Keyword 'use' - Tutorial - Rust Programming for Audio


00:00:00 Introduction 00:00:25 The Keyword 'use' 00:01:17 A few words about the Crate 'std' 00:02:04 A few words about the Module 'std::io' 00:02:31 A few words about the Struct 'std::io:BufReader'

Functions in Rust - Tutorial - Basics of Rust Programming for Audio - Keyword 'fn'


A Basic Function Example - Tutorial - Basics of Rust Programming for Audio


00:00:00 Introduction 00:01:03 A function to print something in the terminal. 00:02:29 Using the 'print_something' function. 00:03:52 A function to print the date and time in debug format. 00:04:16 The Crate 'chrono' 00:07:05 Using the 'print_date_and_time' function.

Variables in Rust - Tutorial - Basics of Rust Programming for Audio - Keyword 'let'


00:00:00 Introduction 00:01:52 The keyword 'let' 00:03:01 Variables in Rust 00:06:26 Mutable and Immutable Variables 00:08:46 Summary

Data Types in Rust I - Tutorial - Basics of Rust Programming for Audio - Scalar Data Types


00:00:00 Introduction 00:00:19 Data Types in Rust: Scalar Data Types and Compound Data Types 00:01:37 Scala Data Types 00:02:10 Integer Data Types 00:04:37 Binary Numbers Revision: https://youtu.be/MDLo9UPfsF8 00:06:42 Integer Overflow 00:08:15 Floating-Point Type 00:09:13 Boolean Type 00:10:13 Character Type

Data Types in Rust II - Tutorial - Basics of Rust Programming for Audio - Compound Data Types


00:00:00 Introduction 00:00:33 The Tuple Type 00:04:09 The Array Type 00:07:0 Summary

Primitive Type Tuple - Tutorial - Basics of Rust Programming for Audio


00:00:00 Introduction 00:00:54 Tuples are finite. 00:01:21 Tuples are heterogenous. 00:01:34 Tuples are a sequence. ' Tuple Indexing ' 00:02:44 Tuple indexing example

Lints and unused_variables - Tutorial - Basics of Rust Programming for Audio


00:00:00 Introduction 00:01:43 Lints in software. 00:02:26 unused_variables lint.

Functions in Rust: Returning values - Tutorial - Basics of Rust Programming for Audio


00:00:00 Introduction 00:02:42 Returning values 00;03.45 The keyword ' return ' 00.05.32 Example of a function returning a value

Playing an MP3 File Tutorial - Basics of Rust Programming for Audio


Functions with Parameters in Rust - Tutorial - Basics of Rust Programming for Audio


References in Rust - Tutorial - Basics of Rust Programming for Audio


The Stack and the Heap - Tutorial - Basics of Rust Programming for Audio - Memory


00:00:00 Introduction 00:00:45 The Stack 00:01:45 The Heap 00:04:19 Stack Example 00:08:58 Heap Example

Skip a Duration in an Audio File - Tutorial - Basics of Rust Programming for Audio


Ownership - Tutorial - Basics of Rust Programming for Audio


Variable Scope - Tutorial - Basics of Rust Programming for Audio