Initial commit

This commit is contained in:
2025-12-30 15:12:26 +01:00
commit 5934d24f7f
38 changed files with 7636 additions and 0 deletions

108
README.md Normal file
View File

@@ -0,0 +1,108 @@
# RadioCast
A lightweight, cross-platform radio player built with Tauri and Vanilla JavaScript. Features local playback and Google Cast integration.
## Prerequisites
Before you begin, ensure you have the following installed on your machine:
1. **Node.js**: [Download Node.js](https://nodejs.org/) (LTS version recommended).
2. **Rust**: Install via [rustup.rs](https://rustup.rs/).
3. **Visual Studio C++ Build Tools** (Windows only): Required for compiling Rust. Ensure "Desktop development with C++" is selected during installation.
## Installation
1. **Clone the repository**:
```bash
git clone <repository-url>
cd RadioCast
```
2. **Install dependencies**:
```bash
npm install
```
3. **Verify Rust environment**:
It's good practice to ensure your Rust environment is ready.
```bash
cd src-tauri
cargo check
cd ..
```
## Development
To start the application in development mode (with hot-reloading for frontend changes):
```bash
npm run tauri dev
```
This command will:
1. Compile the Rust backend.
2. Launch the application window.
3. Watch for changes in `src/` and `src-tauri/`.
## Building for Production
To create an optimized, standalone executable for your operating system:
1. **Run the build command**:
```bash
npm run tauri build
```
2. **Locate the artifacts**:
After the build completes, the installers and executables will be found in:
- **Windows**: `src-tauri/target/release/bundle/msi/` or `nsis/`
- **macOS**: `src-tauri/target/release/bundle/dmg/` or `macos/`
- **Linux**: `src-tauri/target/release/bundle/deb/` or `appimage/`
## Project Structure
* **`src/`**: Frontend source code (Vanilla HTML/CSS/JS).
* `index.html`: The main entry point of the app.
* `main.js`: Core logic, handles UI events and communication with the Tauri backend.
* `styles.css`: Application styling.
* `stations.json`: Configuration file for available radio streams.
* **`src-tauri/`**: Rust backend code.
* `src/main.rs`: The entry point for the Rust process. Handles Google Cast discovery and playback logic.
* `tauri.conf.json`: Configuration for the Tauri app (window size, permissions, package info).
## Customization
### Adding Radio Stations
To add new stations, edit the `src/stations.json` file. Add a new object to the array with a `name` and stream `url`:
```json
[
{
"name": "My New Station",
"url": "https://stream-url.com/stream"
}
]
```
### Adjusting Window Size
To change the default window size, edit `src-tauri/tauri.conf.json`:
```json
"windows": [
{
"width": 360, // Change width
"height": 720, // Change height
"resizable": false
}
]
```
## Troubleshooting
* **Command `tauri` not found**: Ensure you are running commands via `npm run tauri ...` or global install `@tauri-apps/cli`.
* **WebView2 Error (Windows)**: If the app doesn't start on Windows, ensure the [Microsoft Edge WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/) is installed.
* **Build Failures**: Try running `cargo update` inside the `src-tauri` folder to update Rust dependencies.
## License
[Add License Information Here]