Initial commit
This commit is contained in:
108
README.md
Normal file
108
README.md
Normal 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]
|
||||
Reference in New Issue
Block a user