Skip to content

Commit

Permalink
docs: updates readme
Browse files Browse the repository at this point in the history
  • Loading branch information
kelsos committed Oct 3, 2023
1 parent aba03e9 commit 7b52c2a
Show file tree
Hide file tree
Showing 3 changed files with 99 additions and 20 deletions.
119 changes: 99 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,111 @@
MusicBee Remote (Plugin)
====================
[![Discord](https://img.shields.io/discord/420977901215678474.svg?style=popout)](https://discordapp.com/invite/rceTb57)

About
-------
This is a plugin for [MusicBee](http://getmusicbee.com/) that is required for [MusicBee Remote](https://github.com/kelsos/mbrc) android application to function. The plugin acts as a socket server (TCP) that listens for incoming connections. The plugin implements a JSON based protocol functionality that is translated to calls to the MusicBee API.
<br/>
<p align="center">
<a href="https://github.com/musicbeeremote/plugin">
<img src="logo.png" alt="Logo" width="80" height="80" />
</a>

Building
-------
To build the plugin you have to open it with Visual Studio 2012. After opening the project you will probably have to restore the required packages with NuGet.
<h3 align="center">MusicBee Remote (plugin)</h3>
<p align="center">
A Plugin for MusicBee that allows you to control it through the MusicBee Remote Android Application
<br/>
<a href="https://github.com/musicbeeremote/mbrc">Application</a>
<br/>
<br/>
<a href="https://mbrc.kelsos.net/help/">Help</a>
·
<a href="http://getmusicbee.com/forum/index.php?topic=7221.new;topicseen#new">MusicBee Forum</a>
·
<a href="https://github.com/musicbeeremote/mbrc-plugin/issues">Report Bug</a>
·
<a href="https://github.com/musicbeeremote/mbrc-plugin/issues">Request Feature</a>
</p>
</p>

Protocol
-------
All the protocol messages have the following format ``{"context":"command","type":"type","data":"data"}`` you can find all the available commands at the [Constants.cs](https://github.com/kelsos/mbrc-plugin/blob/development/AndroidRemote/Networking/Constants.cs) file. The type can be has one of the following values **req** for request, **rep** for reply and **msg** for message, but they are currently ignored. The data contains the data part of the Protocol. In requests it contains data send to the server for example during the volume change it contains the integer of the new volume e.g. `` {"context":"playervolume","type":"req","data":10}``. In the replies it may contain more complex data like Arrays of tracks etc.
## Table of Contents

Credits
-------
The plugin uses ServiceStack.Text to parse the JSON messages.
* [About the Project](#about-the-project)
* [Built With](#built-with)
* [Getting Started](#getting-started)
* [Prerequisites](#prerequisites)
* [Installation](#installation)
* [Usage](#usage)
* [Contributing](#contributing)
* [License](#license)
* [Contact](#contact)
* [Acknowledgements](#acknowledgements)

* [ServiceStack.Text](https://github.com/ServiceStack/ServiceStack.Text)

[GNU Affero General Public License v3](http://www.gnu.org/licenses/agpl-3.0.html)
## About the Project

License
------
<p align="center">
<a href="https://mbrc.kelsos.net">
<img src="screenshot.png" alt="Project Screenshot">
<a/>
</p>

The plugin is an essential part of [MusicBee Remote](https://github.com/musicbeeremote/). It acts as a bridge that allows
the Android application to communicate with [MusicBee](http://getmusicbee.com/). The plugin exposes a socket server (TCP) that
listens for incoming connections from the plugin.

It uses a text based protocol that is uses newline separated JSON messages. Those messages are then translated to
calls of the MusicBee API.

### Built With

* [ServiceStack.Text](https://github.com/ServiceStack/ServiceStack/tree/main/ServiceStack.Text)
* [NLog](https://github.com/NLog/NLog)

## Getting Started

If you are an end user you can download the plugin from [releases](https://github.com/musicbeeremote/mbrc-plugin/releases).
You can find an installer for a regular installation of MusicBee along with a zip that can be used with the store version.

As a developer there are a few steps you need to follow to get started:

### Prerequisites

The project requires [Visual Studio 2022 Community](https://visualstudio.microsoft.com/vs/community/) and MusicBee installed.

After getting the basic environment setup you just need to clone the project from command line:

```bash
git clone https://github.com/musicbeeremote/mbrc-plugin.git
```

or you could use your visual Git interface to clone the repository.

### Installation

After cloning the project you can go and open the `MBRC.sln` solution in `Visual Studio`. The first
thing you need to do is to restore the `NuGet` dependencies so that you can start build the solution.

## Usage

While building and testing the application you need a network interface that will listen for incoming
connections. This has to be in the same network as the one where the device you use to test is.

If you are using a Windows Virtual Machine for development as I do, then you have to make sure that the
virtual machine is using a `Bridged` connection, otherwise you might not be able to connect to the plugin.

## Contributing

Contributions are always welcome.
The contribution guide should follow soon.

## Building

You can build the application either through Visual Studio or by running `build.bat`.
The bat file supports either `Release` by default or `Debug` configurations.

It will also copy the merged `mb_remote.dll` to the MusicBee plugin's folder.

## License

The source code of the application is licensed under the [GPLv3](https://www.gnu.org/licenses/gpl.html) license. See `LICENSE` for more information

MusicBee Remote (Plugin for MusicBee)
Copyright (C) 2013 Konstantinos Paparas
Copyright (C) 2011-2023 Konstantinos Paparas

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down
Binary file added logo.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 screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 7b52c2a

Please sign in to comment.