Skip to content

Commit

Permalink
Merge pull request #39 from TheAppgineer/38-create-user-manual
Browse files Browse the repository at this point in the history
Create User Manual
JanKoudijs authored Nov 11, 2024
2 parents 0d41ca8 + de0671b commit c4e00e0
Showing 15 changed files with 420 additions and 47 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -54,6 +54,7 @@ Visit [rustup.rs](https://rustup.rs/) and follow the provided instructions.

### Build Flutter Rust Bridge
cargo install 'flutter_rust_bridge_codegen@^2.0.0'
flutter_rust_bridge_codegen generate

### Build Community Remote
A debug build can be built and run from Visual Studio Code.
Binary file added images/browse-about.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/category-hiding.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/extension-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/linux-dark-controls-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/linux-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/now-playing-about.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/profile-fixed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/random-album-track.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
98 changes: 98 additions & 0 deletions index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Why Community Remote?
Community Remote has a focus on use-cases not covered by the official Roon app.
Linux support is the obvious one, others are access control, random album playback and more.

<img src="images/linux-dark.png" alt="Linux dark theme"/>

## The Lightweight Roon GUI for Linux
Linux support provided by Roon Labs ends at the Roon Server offering. If a Roon Remote or GUI for Linux is wanted the unsupported tinkering solutions have to be used. The common path chosen here is the Roon on Wine solution, but it is picky on Wine versions and can be high on resources.

If quick access and lightweight is prefered over fully featured, then Community Remote can be a good alternative. By using the Flathub universal Linux packaging it can be installed on about any Linux distribution.

## Roon Control for Family and Friends
With Community Remote the level of access to the Roon system can be restricted. Giving family and friends access using the official Roon app gives them access to every feature, profile and zone available in Roon, but this might not be desired. With Community Remote the available profiles and zones can be restricted independently for each phone, tablet or laptop connected to the Roon system. This setup is done in the Extensions setup of the Roon app, each connected Community Remote will have its own entry in the list. See [First time setup](#first-time-setup) for details.

### Profile selection
The profile can remain selectable or given a fixed assignment. By assigning a fixed profile to a Community Remote install you prevent that play histories get polluted due to use of the incorrect profile. A fixed profile is indicated by the disable profile button at the left of the app bar.

<img src="images/profile-fixed.png" alt="Fixed Profile"/>

*Note: The profile button is not available on the small (phone) layout.*

### Output whitelisting
In the extension Settings you can specify the outputs (Roon Endpoints) that are accessible by Community Remote. Only (grouped) zones for which all outputs are on the whilelist will appear in the zone selection dialog.

This feature is created with the family and friends use case in mind, preventing them from e.g. accessing the main system. But there are more use cases. For a desktop Linux system it might make sense to only control zones on the same floor, or prevent accidental control of a zone in one of the bedrooms.

## The Roon Companion Remote
The official Roon app is the obvious point of access when using Roon, but having an alternative can help when running into issues, like accessing the Roon Server. Community Remote is the companion at hand when the need arises.

# How to Get it?
### When using Linux you can:

<a href='https://flathub.org/apps/com.theappgineer.community_remote'>
<img width='240' alt='Get it on Flathub' src='https://flathub.org/api/badge?locale=en'/>
</a>

On linux both the x86_64 (PC) and aarch64 (Arm64) architecture are supported.

### Visit the project [Release Page](https://github.com/TheAppgineer/community_remote/releases/latest) for Android and Windows builds.

<br>

# How to Use?
## First Time Setup
Use the offical Roon app and open the Settings from the hamburger menu. Select the Extensions tab and Enable the Community Remote extension, then select its Settings. Within the Settings any profile or output restrictions can be setup, confirm settings by selecting Save.

<img src="images/extension-settings.png" alt="Extension Settings"/>

<br>

## Overview
The Community Remote home screen has the following top level controls:

1. Navigation Rail: Used to select the category displayed in the Browser
2. Browser: Used to browse the hierarchy of the selected category
3. Queue: Shows the queued list of songs to play
4. Now Playing: Shows the metadata of the current song, click for opening Now Playing screen
5. Zone Select: Select the zone to control
6. Volume Control: Set the volume of the outputs of the zone
7. Next, Prev: progress to next or previous track
8. Quick Access Button: main action for current context, normally Play/Pause, alternatively Server Connect or Zone Select

<img src="images/linux-dark-controls-overview.png" alt="Linux dark theme"/>

## Feature Highlights
### Random Album or Track Selection
The Browser supports the adding of random Albums or Tracks by means of the Pick Random entry. Queue up multiple random entries to prepare for a lazy listening session. The default action is to append to the Queue, but specific actions can be selected via the drop down menu.

<img src="images/random-album-track.png" alt="Extension Settings"/>

### Category Hiding
By long pressing one of the icons on the navigation rail at the left, the rail will open up with all icons changed to toggles. With these toggles the categories that are not needed can be hidden.

*Note: This feature is not available on the small (phone) layout.*

<img src="images/category-hiding.png" alt="Extension Settings"/>

<br>

### Wikipedia Info
When browsing an Artist or Album there is an About entry, when selected the artist or album is searched for on Wikipedia and if found the information is displayed.

<img src="images/browse-about.png" alt="Extension Settings"/>

When in the Now Playing screen the Artist and Album of the current track are also searched for on Wikipedia. Toggling between album and artist information is done via the button in the top right corner.

<img src="images/now-playing-about.png" alt="Extension Settings"/>

# How to Support the Project?
If you like Community Remote as an addition to your Roon setup then you might consider a donation. Donations will be used for recurring costs like domain renewal or to buy hardware needed to support the different platforms.

<a href="https://www.buymeacoffee.com/theappgineer" target="_blank">
<img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="240px">
</a>

<br>

You can also contribute by reporting issues or providing pull requests over on [GitHub](https://github.com/TheAppgineer/community_remote).
4 changes: 2 additions & 2 deletions pubspec.lock
Original file line number Diff line number Diff line change
@@ -269,10 +269,10 @@ packages:
dependency: "direct main"
description:
name: flutter_rust_bridge
sha256: "5fe868d3cb8cbc4d83091748552e03f00ccfa41b8e44691bc382611f831d5f8b"
sha256: fb9d3c9395eae3c71d4fe3ec343b9f30636c9988150c8bb33b60047549b34e3d
url: "https://pub.dev"
source: hosted
version: "2.5.1"
version: "2.6.0"
flutter_test:
dependency: "direct dev"
description: flutter
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 0.0.10
version: 0.1.0

environment:
sdk: '>=3.4.0 <4.0.0'
@@ -38,7 +38,7 @@ dependencies:
material_symbols_icons: ^4.2719.1
rust_builder:
path: rust_builder
flutter_rust_bridge: 2.5.1
flutter_rust_bridge: 2.6.0
provider: ^6.0.0
freezed_annotation: ^2.4.1
path_provider: ^2.1.2
Loading

0 comments on commit c4e00e0

Please sign in to comment.