Compare commits
6 Commits
master
...
07db31973c
| Author | SHA1 | Date | |
|---|---|---|---|
| 07db31973c | |||
| ead15f54d6 | |||
| df93f93384 | |||
| c8942af595 | |||
| 0f3831275e | |||
| 99efd89abc |
9
.gitattributes
vendored
Normal file
9
.gitattributes
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
* text=auto eol=lf
|
||||
|
||||
/.gitignore export-ignore
|
||||
/.gitattributes export-ignore
|
||||
|
||||
*.mp3 filter=lfs diff=lfs merge=lfs -text
|
||||
assets/bin/** filter=lfs diff=lfs merge=lfs -text
|
||||
assets/bin/**/*.env -filter -diff -merge
|
||||
assets/bin/**/*.txt -filter -diff -merge
|
||||
19
.gitignore
vendored
19
.gitignore
vendored
@@ -1,18 +1,11 @@
|
||||
# ---> Rust
|
||||
# Generated by Cargo
|
||||
# will have compiled files and executables
|
||||
.idea/
|
||||
.vscode/
|
||||
|
||||
debug/
|
||||
target/
|
||||
assets/.cache
|
||||
|
||||
# These are backup files generated by rustfmt
|
||||
**/*.rs.bk
|
||||
Cargo.lock
|
||||
|
||||
# MSVC Windows builds of rustc generate these, which store debugging information
|
||||
*.pdb
|
||||
|
||||
# RustRover
|
||||
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
||||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
||||
#.idea/
|
||||
**/*.rs.bk
|
||||
|
||||
6
Cargo.toml
Normal file
6
Cargo.toml
Normal file
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "new_vegas_radio"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
173
README.md
173
README.md
@@ -1,2 +1,175 @@
|
||||
# NewVegasRadio
|
||||
|
||||
---
|
||||
|
||||
### Assets-Directory Structure:
|
||||
|
||||
```terminaloutput
|
||||
assets/
|
||||
config.(json|toml|ron)
|
||||
bin/
|
||||
x86_64/
|
||||
aarch64/
|
||||
songs/
|
||||
my_song/
|
||||
my_song.mp3
|
||||
descriptor.(json|toml|ron)
|
||||
intro/
|
||||
Intro_MrNewVegas_my_song.mp3 (optional)
|
||||
generic/
|
||||
intro/
|
||||
Intro_MrNewVegas_N.mp3
|
||||
news/
|
||||
story_N/
|
||||
story.toml (ignored, metadata)
|
||||
Story_MrNewVegas_N.mp3
|
||||
Story_Guest_N.mp3
|
||||
.cache/ (automatically generated)
|
||||
songs/
|
||||
my_song/
|
||||
song.pcm (f32 pcm)
|
||||
intro.pcm (f32 pcm)
|
||||
cache.json
|
||||
generic/
|
||||
intro/
|
||||
Intro_MrNewVegas_N.pcm (f32 pcm)
|
||||
Intro_MrNewVegas_N.cache.json
|
||||
news/
|
||||
story_N/
|
||||
part_N.pcm (f32 pcm)
|
||||
cache.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `config.json`:
|
||||
```json5
|
||||
{
|
||||
"defaults": {
|
||||
"songs_directory": "songs",
|
||||
"generic_directory": "generic",
|
||||
"log_directory": "logs",
|
||||
"temp_directory": "temp"
|
||||
},
|
||||
"settings": {
|
||||
"weight": 1.0,
|
||||
"volume": 1.0,
|
||||
"crossfade": 2.0, // in seconds
|
||||
"weights": {
|
||||
"news": {
|
||||
"chance": 0.2
|
||||
},
|
||||
"genre": {
|
||||
"floor": 0.55,
|
||||
"recover_after": 3.0
|
||||
},
|
||||
"composite": {
|
||||
"floor": 0.05,
|
||||
"recover_after": 5.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
"shuffle_mode": "weighted", // options: "weighted", "strict_random"
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
OR
|
||||
#### `config.toml`:
|
||||
```toml
|
||||
[defaults]
|
||||
songs_directory = "songs"
|
||||
generic_directory = "generic"
|
||||
log_directory = "logs"
|
||||
temp_directory = "temp"
|
||||
|
||||
[settings]
|
||||
weight = 1.0
|
||||
volume = 1.0
|
||||
crossfade = 2.0 # in seconds
|
||||
[settings.weights.news]
|
||||
chance = 0.2
|
||||
[settings.weights.genre]
|
||||
floor = 0.55
|
||||
recover_after = 3.0
|
||||
[settings.weights.composite]
|
||||
floor = 0.05
|
||||
recover_after = 5.0
|
||||
|
||||
[rules]
|
||||
shuffle_mode = "weighted" # "weighted", "strict_random"
|
||||
```
|
||||
OR
|
||||
#### `config.ron`
|
||||
```ron
|
||||
(
|
||||
defaults: (
|
||||
songs_directory: "songs",
|
||||
generic_directory: "generic",
|
||||
log_directory: "logs",
|
||||
temp_directory: "temp",
|
||||
),
|
||||
settings: (
|
||||
debug: true,
|
||||
weight: 1.0,
|
||||
volume: 1.0,
|
||||
crossfade: 2.0, // in seconds
|
||||
weights: (
|
||||
news: (
|
||||
chance: 0.2,
|
||||
),
|
||||
genre: (
|
||||
floor: 0.55,
|
||||
recover_after: 3.0,
|
||||
),
|
||||
composite: (
|
||||
floor: 0.05,
|
||||
recover_after: 5.0,
|
||||
),
|
||||
),
|
||||
),
|
||||
rules: (
|
||||
shuffle_mode: weighted, // weighted, strict_random
|
||||
),
|
||||
)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `descriptor.json`:
|
||||
```json5
|
||||
{
|
||||
"title": "[I Got Spurs That] Jingle, Jangle, Jingle",
|
||||
"artist": "Kay Kyser",
|
||||
"tags": ["orchestra", "swing", "jazz"],
|
||||
"genre": ["swing", "jazz"],
|
||||
"intro": true,
|
||||
"weight": 1.0, // optional
|
||||
"volume": 1.0, // optional
|
||||
}
|
||||
```
|
||||
OR
|
||||
#### `descriptor.toml`:
|
||||
```toml
|
||||
title = "[I Got Spurs That] Jingle, Jangle, Jingle"
|
||||
artist = "Kay Kyser"
|
||||
tags = ["orchestra", "swing", "jazz"]
|
||||
genre = ["swing", "jazz"]
|
||||
intro = true
|
||||
weight = 1.0 # optional
|
||||
volume = 1.0 # optional
|
||||
```
|
||||
OR
|
||||
#### `descriptor.ron`
|
||||
```ron
|
||||
(
|
||||
title: "[I Got Spurs That] Jingle, Jangle, Jingle",
|
||||
artist: "Kay Kyser",
|
||||
tags: ["orchestra", "swing", "jazz"],
|
||||
genre: ["swing", "jazz"],
|
||||
intro: true,
|
||||
weight: 1.0, // optional
|
||||
volume: 1.0, // optional
|
||||
)
|
||||
```
|
||||
|
||||
3
assets/bin/aarch64/.env
Normal file
3
assets/bin/aarch64/.env
Normal file
@@ -0,0 +1,3 @@
|
||||
LOCAL_SONGS_DIR=../../../assets/songs
|
||||
LOCAL_BIN_DIR=.
|
||||
ARCH_AWARE=false
|
||||
BIN
assets/bin/aarch64/ffmpeg
(Stored with Git LFS)
Executable file
BIN
assets/bin/aarch64/ffmpeg
(Stored with Git LFS)
Executable file
Binary file not shown.
BIN
assets/bin/aarch64/ffplay
(Stored with Git LFS)
Executable file
BIN
assets/bin/aarch64/ffplay
(Stored with Git LFS)
Executable file
Binary file not shown.
BIN
assets/bin/aarch64/ffprobe
(Stored with Git LFS)
Executable file
BIN
assets/bin/aarch64/ffprobe
(Stored with Git LFS)
Executable file
Binary file not shown.
BIN
assets/bin/aarch64/ogg_to_mp3
(Stored with Git LFS)
Executable file
BIN
assets/bin/aarch64/ogg_to_mp3
(Stored with Git LFS)
Executable file
Binary file not shown.
BIN
assets/bin/aarch64/rnv_utils
(Stored with Git LFS)
Executable file
BIN
assets/bin/aarch64/rnv_utils
(Stored with Git LFS)
Executable file
Binary file not shown.
11
assets/bin/aarch64/sources.txt
Normal file
11
assets/bin/aarch64/sources.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
LGPL-3.0
|
||||
ffmpeg, ffplay, ffprobe
|
||||
https://github.com/BtbN/FFmpeg-Builds/releases/tag/autobuild-2026-02-18-13-03
|
||||
https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n7.1-latest-linux64-lgpl-7.1.tar.xz
|
||||
sha256:5ec371abbf6da81fa0a7dfe013035754fadf77f8206b93cb784ec582b0870607
|
||||
|
||||
LGPL-3.0
|
||||
rnv_utils
|
||||
locally compiled (arm64), golang
|
||||
sha256:051128df6068196f4190d11be587237378846d3f8610ec760f681a9b29efa1f3
|
||||
3
assets/bin/x86_64/.env
Normal file
3
assets/bin/x86_64/.env
Normal file
@@ -0,0 +1,3 @@
|
||||
LOCAL_SONGS_DIR=../../../assets/songs
|
||||
LOCAL_BIN_DIR=.
|
||||
ARCH_AWARE=false
|
||||
BIN
assets/bin/x86_64/ffmpeg
(Stored with Git LFS)
Executable file
BIN
assets/bin/x86_64/ffmpeg
(Stored with Git LFS)
Executable file
Binary file not shown.
BIN
assets/bin/x86_64/ffplay
(Stored with Git LFS)
Executable file
BIN
assets/bin/x86_64/ffplay
(Stored with Git LFS)
Executable file
Binary file not shown.
BIN
assets/bin/x86_64/ffprobe
(Stored with Git LFS)
Executable file
BIN
assets/bin/x86_64/ffprobe
(Stored with Git LFS)
Executable file
Binary file not shown.
BIN
assets/bin/x86_64/ogg_to_mp3
(Stored with Git LFS)
Executable file
BIN
assets/bin/x86_64/ogg_to_mp3
(Stored with Git LFS)
Executable file
Binary file not shown.
BIN
assets/bin/x86_64/rnv_utils
(Stored with Git LFS)
Executable file
BIN
assets/bin/x86_64/rnv_utils
(Stored with Git LFS)
Executable file
Binary file not shown.
11
assets/bin/x86_64/sources.txt
Normal file
11
assets/bin/x86_64/sources.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
LGPL-3.0
|
||||
ffmpeg, ffplay, ffprobe
|
||||
https://github.com/BtbN/FFmpeg-Builds/releases/tag/autobuild-2026-02-18-13-03
|
||||
https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n7.1-latest-linux64-lgpl-7.1.tar.xz
|
||||
sha256:5ec371abbf6da81fa0a7dfe013035754fadf77f8206b93cb784ec582b0870607
|
||||
|
||||
LGPL-3.0
|
||||
rnv_utils
|
||||
locally compiled (amd64), golang
|
||||
sha256:9b896f6b30d04ff110bb8fd376c02fcb1eab1972a45fea2952ae96f6d89a8be8
|
||||
4
src/main.rs
Normal file
4
src/main.rs
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
fn main() {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user