Playlist Basics of Rust for Audio: https://youtube.com/playlist?list=PL6QnpHKwdPYhqswRuBTVEfV5aV1PmV55t&si=SJty-ST6zXj9-Ff2
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