Compare commits
5 Commits
d5683fd202
...
873f0281c8
Author | SHA1 | Date | |
---|---|---|---|
873f0281c8 | |||
be97085609 | |||
e054feb0f7 | |||
d8b040631e | |||
0cd84cac2b |
@@ -25,3 +25,11 @@ endif()
|
|||||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
|
install(
|
||||||
|
PROGRAMS
|
||||||
|
install.sh
|
||||||
|
DESTINATION
|
||||||
|
.
|
||||||
|
)
|
||||||
|
|
||||||
|
27
iconsrc/project/SC9K_Logo.npal
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
K1;3d1a77ec-265f-4905-2061-4f1003ee2189;O1;net.drinkingtea.nostalgia.core.Palette;4;{
|
||||||
|
"colorNames" :
|
||||||
|
[
|
||||||
|
"Color 1",
|
||||||
|
"Color 2",
|
||||||
|
"Color 3"
|
||||||
|
],
|
||||||
|
"pages" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"colors" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"b" : 10,
|
||||||
|
"g" : 5,
|
||||||
|
"r" : 5
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
"b" : 31,
|
||||||
|
"g" : 31,
|
||||||
|
"r" : 31
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
269
iconsrc/project/SC9K_Logo.nts
Normal file
@@ -0,0 +1,269 @@
|
|||||||
|
K1;40f7b4ac-7f90-409e-80e0-64b59b594a63;O1;net.drinkingtea.nostalgia.gfx.TileSheet;5;{
|
||||||
|
"bpp" : 4,
|
||||||
|
"defaultPalette" : "uuid://3d1a77ec-265f-4905-2061-4f1003ee2189",
|
||||||
|
"subsheet" :
|
||||||
|
{
|
||||||
|
"columns" : 2,
|
||||||
|
"name" : "Root",
|
||||||
|
"pixels" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"rows" : 2
|
||||||
|
}
|
||||||
|
}
|
9
install.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
dist_dir=.
|
||||||
|
|
||||||
|
install -Dm 755 $dist_dir/bin/SlideController /usr/local/bin/SlideController
|
||||||
|
install -Dm 755 $dist_dir/share/applications/net.drinkingtea.sc9k.desktop /usr/share/applications/net.drinkingtea.sc9k.desktop
|
||||||
|
cp -r $dist_dir/share/ /usr/
|
5
release-notes.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
# 1.1.0
|
||||||
|
|
||||||
|
* Add Linux app icon, desktop file, and install script
|
||||||
|
* Rename MusicScene SlidesScene and SpeakerScene to NoSlidesScene
|
@@ -33,3 +33,30 @@ install(
|
|||||||
BUNDLE DESTINATION .
|
BUNDLE DESTINATION .
|
||||||
)
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
DIRECTORY
|
||||||
|
icons
|
||||||
|
DESTINATION
|
||||||
|
share
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
net.drinkingtea.sc9k.desktop
|
||||||
|
DESTINATION
|
||||||
|
share/applications
|
||||||
|
)
|
||||||
|
|
||||||
|
if(UNIX)
|
||||||
|
qt_add_resources(
|
||||||
|
SlideController "app_images"
|
||||||
|
PREFIX "/"
|
||||||
|
FILES
|
||||||
|
icons/hicolor/16x16/apps/net.drinkingtea.sc9k.png
|
||||||
|
icons/hicolor/32x32/apps/net.drinkingtea.sc9k.png
|
||||||
|
icons/hicolor/64x64/apps/net.drinkingtea.sc9k.png
|
||||||
|
icons/hicolor/128x128/apps/net.drinkingtea.sc9k.png
|
||||||
|
icons/hicolor/256x256/apps/net.drinkingtea.sc9k.png
|
||||||
|
icons/hicolor/512x512/apps/net.drinkingtea.sc9k.png
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
@@ -10,5 +10,5 @@
|
|||||||
|
|
||||||
constexpr auto MaxCameraPresets = 9;
|
constexpr auto MaxCameraPresets = 9;
|
||||||
constexpr auto MaxViews = 9;
|
constexpr auto MaxViews = 9;
|
||||||
constexpr auto Version = "1.0.0";
|
constexpr auto Version = "1.1.0";
|
||||||
|
|
||||||
|
BIN
src/icons/hicolor/128x128/apps/net.drinkingtea.sc9k.png
Normal file
After Width: | Height: | Size: 140 B |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
BIN
src/icons/hicolor/512x512/apps/net.drinkingtea.sc9k.png
Normal file
After Width: | Height: | Size: 224 B |
BIN
src/icons/hicolor/64x64/apps/net.drinkingtea.sc9k.png
Normal file
After Width: | Height: | Size: 132 B |
10
src/main.cpp
@@ -19,6 +19,16 @@ int main(int argc, char *argv[]) {
|
|||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
QApplication::setOrganizationName("DrinkingTea");
|
QApplication::setOrganizationName("DrinkingTea");
|
||||||
QApplication::setApplicationName("Slide Controller 9000");
|
QApplication::setApplicationName("Slide Controller 9000");
|
||||||
|
#ifdef __linux
|
||||||
|
QIcon icon;
|
||||||
|
icon.addFile(":/icons/hicolor/16x16/apps/net.drinkingtea.sc9k.png");
|
||||||
|
icon.addFile(":/icons/hicolor/32x32/apps/net.drinkingtea.sc9k.png");
|
||||||
|
icon.addFile(":/icons/hicolor/64x64/apps/net.drinkingtea.sc9k.png");
|
||||||
|
icon.addFile(":/icons/hicolor/128x128/apps/net.drinkingtea.sc9k.png");
|
||||||
|
icon.addFile(":/icons/hicolor/256x256/apps/net.drinkingtea.sc9k.png");
|
||||||
|
icon.addFile(":/icons/hicolor/512x512/apps/net.drinkingtea.sc9k.png");
|
||||||
|
QApplication::setWindowIcon(icon);
|
||||||
|
#endif
|
||||||
MainWindow w;
|
MainWindow w;
|
||||||
w.show();
|
w.show();
|
||||||
return QApplication::exec();
|
return QApplication::exec();
|
||||||
|
14
src/net.drinkingtea.sc9k.desktop
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Slide Controller 9000
|
||||||
|
Comment=Slide and Live Stream Coordinator
|
||||||
|
GenericName=Slide and Live Stream Coordinator
|
||||||
|
X-GNOME-FullName=Slide Controller 9000
|
||||||
|
Type=Application
|
||||||
|
Exec=/usr/local/bin/SlideController
|
||||||
|
Terminal=false
|
||||||
|
X-MultipleArgs=false
|
||||||
|
Icon=net.drinkingtea.sc9k
|
||||||
|
Categories=Multimedia
|
||||||
|
Keywords=slide;controller;sc9k
|
||||||
|
StartupWMClass=Slide Controller 9000
|
||||||
|
StartupNotify=false
|
@@ -26,18 +26,18 @@ void OBSClient::setScene(QString const&scene) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void OBSClient::showSlides() {
|
void OBSClient::showSlides() {
|
||||||
setScene("MusicScene");
|
setScene(SceneSlides);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OBSClient::hideSlides() {
|
void OBSClient::hideSlides() {
|
||||||
setScene("SpeakerScene");
|
setScene(SceneNoSlides);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OBSClient::setSlidesVisible(bool state) {
|
void OBSClient::setSlidesVisible(bool state) {
|
||||||
if (state) {
|
if (state) {
|
||||||
setScene("MusicScene");
|
setScene(SceneSlides);
|
||||||
} else {
|
} else {
|
||||||
setScene("SpeakerScene");
|
setScene(SceneNoSlides);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
class OBSClient: public QObject {
|
class OBSClient: public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
private:
|
private:
|
||||||
|
static constexpr auto SceneSlides = "SlidesScene";
|
||||||
|
static constexpr auto SceneNoSlides = "NoSlidesScene";
|
||||||
QString m_baseUrl;
|
QString m_baseUrl;
|
||||||
QNetworkAccessManager *m_nam = new QNetworkAccessManager(this);
|
QNetworkAccessManager *m_nam = new QNetworkAccessManager(this);
|
||||||
QNetworkAccessManager *m_pollingNam = new QNetworkAccessManager(this);
|
QNetworkAccessManager *m_pollingNam = new QNetworkAccessManager(this);
|
||||||
|