Code Monkey home page Code Monkey logo

meme-box's Introduction

All Contributors

A complete management app for image / audio / video / iframe / widgets "media" to be used inside OBS. Or trigger other custom actions.

Media Setup Example + Mobile View Setup a Twitch-Trigger
memebox example setup gif memebox example twitch trigger gif

Installation

Pre-built binaries

Download latest release! (currently a bit ouf of date, new release soon) - latest nightly Builds

From source

If you would like to build MemeBox from source, have a look at our dedicated BUILD.md.

From AUR

If you're an Arch Linux user, you can install directly from the AUR, using one of the AUR helpers.

For example, with paru:

paru -S memebox

Working Features

Show Media Screens (in OBS) Triggers
Images

Animations on show / hide Visibility:

  • Play (on a trigger)
  • Toggle (per trigger)
  • Always Visible

Custom Position per Media / Screen:

  • Fullscreen
  • Fixed (on a position)
  • Centered
  • Random

Misc:

Streamdeck Plugin
Deckboard Plugin
✅ Timers
✅ Mobile View
✅ Twitch Events

  • Bits
  • Channel Points
  • Message
  • Raid
  • User Ban
  • Subscription
  • Gift Sub
Videos
Iframes
Widgets
Play Audio
Actions

Trigger multiple / random Media

Scripts (Action)
  • Trigger other Actions with custom logic/timeouts/overrides
  • Trigger OBS functions
  • Write to Twitch Chat
Permanent Script
  • Same as Scripts just that those will run and stay active all the time.
  • Used for Bots or other functionalities
  • React on custom callbacks from Twitch / OBS Events
  • Create your own WebSocket-Server - see Script-API examples
API for Developers
  • Trigger Actions with WebSockets
  • Receive all Twitch Events using WebSockets /ws/twitch_events to use in other Apps / Overlays
  • Twitch Helix REST bridge /api/twitchData/helix/* instead of https://api.twitch.tv/helix/

Getting Started

Note: These are the current Getting Started / Tutorials for this branch.

To see the updated Getting Started / Tutorials from the released version - click here!

Installation and Getting Started

Advanced:


Roadmap

2023.1 (maybe 2024.1, depending how long it takes)

  • Main Feature: Refactor Trigger System / Config
    • Easier way to add more types of triggers
    • Also adds the command blocks per trigger (easier way to just "do" stuff)

Dependencies for that: ^

  • #558 &
  • a current big refactor to how the repository is working internally (NPM -> PNPM)
    • these changes will be hopefully soon(TM) done/merged (Current Date of Writing this: 14th of November 2023)
    • been already working on this for 3 months... yay.

How to help / contribute?

Getting started with Development

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Aaron Rackley
Aaron Rackley

💻
Salma @whitep4nth3r
Salma @whitep4nth3r

💻 🤔 🎨
Igor Ilic
Igor Ilic

🐛 🤔 💻 📖
CrypticEngima
CrypticEngima

🎨
Oliver
Oliver

🐛 💻
jonathanbucci
jonathanbucci

📖
Divyanshu Singh
Divyanshu Singh

💻
Brandon
Brandon

💻
Chirag Mahawar
Chirag Mahawar

💻
Varun Khalate
Varun Khalate

💻
Dominik Nakamura
Dominik Nakamura

💻 📖 📦

This project follows the all-contributors specification. Contributions of any kind welcome!

meme-box's People

Contributors

ageddesi avatar allcontributors[bot] avatar brandonroberts avatar chiragmahawar7 avatar crypticenigma00 avatar deepsource-autofix[bot] avatar deepsourcebot avatar dependabot[bot] avatar divshacker avatar dnaka91 avatar gigili avatar imgbot[bot] avatar imgbotapp avatar khalatevarun avatar negue avatar owehmer avatar snyk-bot avatar whitep4nth3r avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

meme-box's Issues

Screen deletion

After deleting the only screen that was added this showed up:
meme-box-delete-screen

After refreshing the page I was able to add/delete new screens. And the error didn't show up again.

After deleting a screen (the only screen that exists) and than adding a new one it imports all the media from the media page.

It might be annoying having to go and unselect a lot of media if you have a large library. And don't want them all on the same screen.

"Pro" View

Views maybe as table / tree / something

Having all possible values visible

tbc

Twitch events - validation

There should be some validation added to the form when adding new events so that warn or prevent the event to be saved that has the same command twice.

Example:

add:
name: event #1
event: message
meme: img
contains: !wow

Expected outcome: This should save the event

try to add again:
name: event #1
event: message
meme: img
contains: !wow

Expected outcome: This should show an error that the event with the command !wow already exists.
Additional suggestions: Offer to either save the event with the same command as well or change the command to something else, as someone might want to trigger more than one event with a single command

Onboarding

  • add media folder to it
  • more detailed
  • instructions

Add a log

  • What triggered what
  • What WS message came from where

Twitch events - Display command in the list of events

When displaying the list of available twitch events, if the event has a command associated with it, it should be displayed in the list of events as well.

Example: Test - Event: message - Clip: Test img #1 - Command: !wow

toolbar - refactor

  • make it fixed
  • split pages and specials
  • specials
    • qr button to open a dialog that shows the QR-Code to open the mobile-view & and a button to open that view itself
    • cog-icon to open the settings page
    • octocat Icon to point to this repo

better naming

better names for obs urls and so on

maybe something like "screen" or "scene" that way it's a bit .... better understandable ?

random of X media clips to trigger

It would be nice to press a button, which trigger one randomly of a list of media clips.

Currently you can set up a clip, assign that to a screen, and manage the positions / animations. And then you trigger a clip, which will be shown on all assigned screens.

For this random clip of a list, there are possible implementation ways to trigger a random media clip on a screen:

a) Tags
- Use tags on media clips
- assign the media clips normally
- trigger a tag instead of a clip

Pro:
-  each clip still can have its own animations / settings

Neutral:
- add another type to trigger on the mobile view / streamdeck plugin, but that much of work

Contra:
- another setting / list to manage / view

b) Meta-Media Clip
- Assign a meta clip to a screen
- assign all other clips to this meta clip
- trigger this meta clip

Pro:
- no need to change on the mobile view / streamdeck plugin
 
Neutral:
- all clips will be in the same position / animation, depending on the usecase maybe even a contra

Contra:
- confusing to have a meta clip that will link other clips

c) Let the streamdeck decide

  • Make a list of clips
  • trigger a random clip on press
Pro:
? 
 
Neutral:
- 

Contra:
- what about the mobile view / twitch? or any other upcoming trigger source

d) any other

New media modal buttons

When adding new media, the add and cancel button should be fixed to the bottom of the modal so they are independent of the scroll. Because if you have a large image added it gets a bit tricky to scroll down to click on the add button.

This only seems to happen when adding a new media and when editing it works like it should.

You can see this in the image here when adding new media
meme-box-new-media-modal-buttons

When editing the media:
meme-box-edit-media-modal-buttons png

animations

Angular Animations needs to be specific, for "dynamic" animations it would have to be a large *ngSwitchCase per type which isn't really "ideal"

Maybe just using css animations itself, those can be applied a bit more dynamic

fix new server build

with parcel? or rome?

tried:

  • parcel build => weird i is not a function error
  • next?

Custom CSS

  • step 1 - per screen

  • step 2 - per screen / media -clip

  • this also needs more css classes to use

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.