All Projects → jbwong05 → obs-text-slideshow

jbwong05 / obs-text-slideshow

Licence: GPL-2.0 license
OBS plugin inspired by the built in image slideshow, except for text sources instead. Both Free Type 2 and GDI+ are supported.

Programming Languages

C++
36643 projects - #6 most used programming language
shell
77523 projects
CMake
9771 projects
ruby
36898 projects - #4 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to obs-text-slideshow

BeatRecorder
Easily record your BeatSaber gameplay!
Stars: ✭ 20 (-55.56%)
Mutual labels:  obs, obs-studio
obs-studio
This is a community-supported modified build of OBS Studio.
Stars: ✭ 86 (+91.11%)
Mutual labels:  obs, obs-studio
obs-websocket-java
A java library for obs-websocket
Stars: ✭ 46 (+2.22%)
Mutual labels:  obs, obs-studio
obs-golang-plugin
OBS Studio Golang Plugin
Stars: ✭ 50 (+11.11%)
Mutual labels:  obs, obs-studio
obs-screenshot-plugin
An OBS Studio filter plugin to save screenshots of a source/scene
Stars: ✭ 93 (+106.67%)
Mutual labels:  obs, obs-studio
obs blade
Make use of the OBS WebSocket Plugin (https://github.com/obsproject/obs-websocket) and control your stream
Stars: ✭ 182 (+304.44%)
Mutual labels:  obs, obs-studio
obs-zoom-and-follow
Dynamic zoom and mouse tracking script for OBS Studio
Stars: ✭ 126 (+180%)
Mutual labels:  obs, obs-studio
XION-ChaseCam
This is a free-to-use HTML/javascript based overlay for roleplay streamers. Basically it mimics the overlay of the AXON bodycam, but since most folks play in 3rd person, it's a ChaseCam. I've included a logo, and the html file. The html file has the css, html, and javascript all in one file for ease of editing. Goto line 81 of the html file to c…
Stars: ✭ 27 (-40%)
Mutual labels:  obs, obs-studio
OBS-ChatSpam
Python script for OBS Studio that posts messages in Twitch chat
Stars: ✭ 26 (-42.22%)
Mutual labels:  obs, obs-studio
meme-box
Manage and trigger media in OBS as a browser source
Stars: ✭ 82 (+82.22%)
Mutual labels:  obs, obs-studio
character-overlay
Web App for adding an OBS overlay with character information such as name, picture, and health for your favorite role-playing game.
Stars: ✭ 17 (-62.22%)
Mutual labels:  obs, obs-studio
CounterStrike-GlobalOffensive-LiveStat-for-OBS-Studio
Showing you LIVEstats of CS:GO in your Stream like OBS-Studio while playing/streaming.
Stars: ✭ 24 (-46.67%)
Mutual labels:  obs, obs-studio
obs-face-tracker
Face tracking plugin for OBS Studio
Stars: ✭ 185 (+311.11%)
Mutual labels:  obs, obs-studio
go-obs-websocket
Go client for obs-websocket
Stars: ✭ 86 (+91.11%)
Mutual labels:  obs, obs-studio
kiwi
Kiwi turns your Pimoroni Keybow into a fully customizable poor-man's Elgato Stream Deck!
Stars: ✭ 40 (-11.11%)
Mutual labels:  obs, obs-studio
obs-websocket-js
Consumes https://github.com/obsproject/obs-websocket
Stars: ✭ 521 (+1057.78%)
Mutual labels:  obs, obs-studio
Geist
A free text/code editor made with C++ and Qt
Stars: ✭ 27 (-40%)
Mutual labels:  text
py midicsv
A Python port and library-fication of the midicsv tool by John Walker. If you need to convert MIDI files to human-readable text files and back, this is the library for you.
Stars: ✭ 55 (+22.22%)
Mutual labels:  text
obs-scripts
Contains scripts I created for obs-studio (https://github.com/obsproject/obs-studio)
Stars: ✭ 24 (-46.67%)
Mutual labels:  obs-studio
Volvo-melbus
Volvo MELBUS Bluetooth audio input and remote control with Arduino Nano
Stars: ✭ 51 (+13.33%)
Mutual labels:  text

obs-text-slideshow

latest-tag Downloads CI Multiplatform Build Clang Format Donate

Inspired by the built in image slideshow, except for text sources instead. Both Free Type 2 and GDI+ are supported. Useful for displaying song lyrics, captions, etc.

Note: This plugin is not under active development and has not been updated to support OBS 28.0 as I do not have time at the moment. If you wish to continue development of this plugin, feel free to fork the repo

Usage

This plugin functions exactly as the built in image slideshow plugin, except instead of transitioning between image sources it transitions between text sources instead. Simply click the add source button and add the Text Slide Show source. Text sources can be added manually using the default Slide Texts box or read from file by selecting the read from file option and specifying the file path(s). The expected format of the text file(s) is described below. Transitioning between text sources manually can be done using OBS's media controls or using the built in dock.

Text file format

Single text file format

By default, if no custom delimiter is specified, the new line character is chosen as the delimiter as follows:

text for first
text source

text for second text source

text for third text
source

single line is supported

multiline is
supported

etc.

Custom delimiters can also be specified so other characters can be used as delimiters instead of the new line character.

Multiple text file format

For the multiple text file option, the text from each text file corresponds to the text for one text source in the slideshow.

Dock

To open the dock, Select View -> Docks -> OBS Text Slide Show. The dock will display the first Text Slide Show source for the current scene as well as all of its text sources below. Clicking on the text sources on the dock will cause the source to transition to this text source. The drop down at the top of the dock can be used to have the dock display another Text Slide Show on the current scene other than the first. Only Text Slide Show sources on the current scene can be viewed on the dock. When the current scene is changed, the dock and will update accordingly to include only the Text Slide Show sources on the new scene.

Installation

Installers can be found in the Releases section.

Note: The Windows and macOS installers are currently unsigned because I don't have money to purchase a certificate to sign the Windows installer or to purchase a subscription for the Apple Developer program in order to sign and notarize the macOS pkg installer. Unfortunately as a result these installers may be flagged by certain antivirus programs and may have to be temporarily disabled in order for the installer to be allowed to run.

Building from Source

Prerequisites

You'll need CMake and a minimal working development environment for OBS Studio installed on your computer. Only Qt and the standard obs dependencies(https://github.com/obsproject/obs-deps) are required. obs can be built with the -DDISABLE_PLUGINS=true flag which is sufficient. More specific details can be found here.

Windows

Building with cmake-gui

In cmake-gui, you'll have to set these CMake variables:

  • QTDIR (path) : location of the Qt environment suited for your compiler and architecture
  • LIBOBS_INCLUDE_DIR (path) : location of the libobs subfolder in the source code of OBS Studio
  • LIBOBS_LIB (filepath) : location of the obs.lib file
  • OBS_FRONTEND_LIB (filepath) : location of the obs-frontend-api.lib file
  • LibObs_DIR (filepath) : location of libobs folder within the obs build directory

Building from Command Line

git clone https://github.com/jbwong05/obs-text-slideshow.git
cd obs-text-slideshow
mkdir build && cd build
# Windows 64-bit
cmake -G"Visual Studio 16 2019" -A"x64" -DCMAKE_SYSTEM_VERSION="10.0.18363.657" -DQTDIR=<path to 64-bit Qt dir> -DLibObs_DIR=<path to libobs folder within obs build dir> -DLIBOBS_INCLUDE_DIR=<path to the libobs sub-folder in obs-studio's source code> -DLIBOBS_LIB=<path to obs.lib> -DOBS_FRONTEND_LIB=<path to obs-frontend-api.lib> ..
# or Windows 32-bit
cmake -G"Visual Studio 16 2019" -A"Win32" -DCMAKE_SYSTEM_VERSION="10.0.18363.657" -DQTDIR=<path to 32-bit Qt dir> -DLibObs_DIR=<path to libobs folder within obs build dir> -DLIBOBS_INCLUDE_DIR=<path to the libobs sub-folder in obs-studio's source code>  -DLIBOBS_LIB=<path to obs.lib> -DOBS_FRONTEND_LIB=<path to obs-frontend-api.lib> ..
# Open `obs-text-slideshow.sln` with Visual Studio and build
# Copy `obs-text-slideshow.dll` and `obs-text-slideshow.pdb` to the obs plugin directory
# Create a obs-text-slideshow folder in the obs data directory and copy the locale folder into the new obs-text-slideshow directory

Linux

git clone https://github.com/jbwong05/obs-text-slideshow.git
cd obs-text-slideshow
mkdir build && cd build
# If you are on Ubuntu, add the `-DBUILD_UBUNTU=true` flag to your cmake command
cmake ..
# If dependencies are not on your path, you can manually specify their paths with the following:
cmake -DQTDIR=<path to Qt dir> -DLIBOBS_INCLUDE_DIR=<path to the libobs sub-folder in obs-studio's source code> -DLIBOBS_LIB=<path to libobs.so> -DOBS_FRONTEND_LIB=<path to libobs-frontend-api.so> ..
make
sudo make install

OS X

git clone https://github.com/jbwong05/obs-text-slideshow.git
cd obs-text-slideshow
mkdir build && cd build
cmake -DLIBOBS_INCLUDE_DIR=<path to the libobs sub-folder in obs-studio's source code> -DLIBOBS_LIB=<path to libobs.0.dylib> -DOBS_FRONTEND_LIB=<path to libobs-frontend-api.dylib> -DQTDIR=<path to Qt dir> ..
make
# Copy libobs-text-slideshow.so to the obs-plugins folder
# Create a obs-text-slideshow folder in the obs data directory and copy the locale folder into the new obs-text-slideshow directory

Possible future work

  • Text input from files (UTF-8)
  • Individual text settings for each text source
  • GUI dock for easier transitioning between sources
    • Find work around for the need for a refresh sources button; because the obs-frontend-api doesn't have a source added or edited event libobs handles the different signals for sources and not the frontend api
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].