Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kevinatown/MMM-Screencast

A module to cast to the magic mirror
https://github.com/kevinatown/MMM-Screencast

Last synced: 23 days ago
JSON representation

A module to cast to the magic mirror

Awesome Lists containing this project

README

        

# MMM-Screencast
A module to cast to the [MagicMirror²](https://github.com/MichMich/MagicMirror/). Currently, only YouTube casting is supported. Hopefully, I will have time to add more casting options.

**NOTE: MMM-Screencast has been updated to deal with new support, please pull from master to ensure that you have the most up-to-date version. Thanks!**

## Using the module

* Navigate to the modules directory via the follow command: `cd MagicMirror/modules`
* Clone the module from github: `git clone https://github.com/kevinatown/MMM-Screencast.git`
* Navigate to the MMM-Screencast directory: `cd MMM-Screencast`
* Install the dependencies: `npm install`
* Add the following configuration to the modules array in the `config/config.js` file:
```js
var config = {
modules: [
{
module: 'MMM-Screencast',
position: 'bottom_right', // This position is for a hidden

and not the screencast window
config: {
position: 'bottomRight',
height: 300,
width: 500,
}
}
]
}
```

## Configuration options for MMM-Screencast

| Option | Description
|---------- |-----------
| `position`| *Required* The position of the screencast window.
**Options:** `['bottomRight', 'bottomCenter', 'bottomLeft', 'center', 'topRight', 'topCenter', 'topLeft']`
**Type:** `string`
**Note:** This module config actual sets the location, not the magic mirror position config. **NOTE**
| `x` | *Optional* (**required if y is used**) Window's left offset from screen. Takes precedence over `position`.
**Type:** `number` (pixels)
| `y` | *Optional* (**required if x is used**) Window's left offset from screen. Takes precedence over `position`.
**Type:** `number` (pixels)
| `height` | *Required* Height of the screencast window.
**Type:** `number` (pixels)
| `width` | *Required* Width of the screencast window.
**Type:** `number` (pixels)
| `castName`| *Optional* The title to display in your device's cast list.
**Type** `string` defalt `os.hostname`
| `port` | *Optional* A port to run the dialserver on **Type** `number` default `8569`
| `useIPv6` | *Optional* Forces `http` to use the unassigned IPv6 address `::/0` **Type** `booelan` default `false`

## Notifications
MMM-Screencast can communicate with other modules through notifications.

### Emmited Notifications
These notifications are emitted by MMM-Screencast.

| Notification | Payload | Description
|------------- |-----------|------------
| `MMM-Screencast:START-DIAL` | `{ port: }` | Emitted when the DIAL server is running and the port it can be found on. The cast icon should be visible in your app now.
| `MMM-Screencast:LAUNCH-APP` | `{ app: , state: }` | Emitted when an app is intializing
| `MMM-Screencast:RUN-APP` | `{ app: , state: }` | Emitted when the app is intialized and running
| `MMM-Screencast:STOP-APP` | `{ app: , state: }` | Emitted when the app is stopped.
| `MMM-Screencast:CONFIG-ERROR` | `{ message: }` | Emitted when there is an issue with the config.

### Listening Notifications
These are the notifications that can be sent to MMM-Screencast in order to control it in some way.

| Notification | Expected Payload | Description
|------------- |------------------|------------
| `MMM-Screencast:CLOSE` | none | This informs MMM-Screencast to close the currently running app.

## Screenshots





## Special Thanks and Contributors!
* [@Podgrade](https://github.com/Podgrade) - for the user agent fix
* [@Poolitzer](https://github.com/Poolitzer) - for the screenshots
* [@goldyfruit](https://github.com/goldyfruit) - for the autoclose PR