Repath icons to match their linux install locations, add installer and desktop file
							
								
								
									
										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/ | ||||||
| @@ -33,3 +33,17 @@ install( | |||||||
| 	BUNDLE DESTINATION . | 	BUNDLE DESTINATION . | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | install( | ||||||
|  | 	DIRECTORY | ||||||
|  | 		icons | ||||||
|  | 	DESTINATION | ||||||
|  | 		share | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | install( | ||||||
|  | 	FILES | ||||||
|  | 		net.drinkingtea.sc9k.desktop | ||||||
|  | 	DESTINATION | ||||||
|  | 		share/applications | ||||||
|  | ) | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										
											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 | 
							
								
								
									
										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 = "MusicScene"; | ||||||
|  | 		static constexpr auto SceneNoSlides = "SpeakerScene"; | ||||||
| 		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); | ||||||
|   | |||||||