Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b1bb3c2449 | |||
| 05348079e9 | |||
| 52917adf57 | |||
| 97d9ecc84f | |||
| 211c3ea4fa |
BIN
Assets/Icon.ico
BIN
Assets/Icon.ico
Binary file not shown.
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 114 KiB |
BIN
Assets/Icon.png
BIN
Assets/Icon.png
Binary file not shown.
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 90 KiB |
BIN
Assets/Icon2.xcf
Normal file
BIN
Assets/Icon2.xcf
Normal file
Binary file not shown.
BIN
Assets/Preview.png
Normal file
BIN
Assets/Preview.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 93 KiB |
@@ -64,6 +64,8 @@ global FullScriptName
|
|||||||
global PostStatusesFilepath
|
global PostStatusesFilepath
|
||||||
global ErrorLoggingDirectory
|
global ErrorLoggingDirectory
|
||||||
|
|
||||||
|
global ConfirmBeforeSubmit
|
||||||
|
|
||||||
global DiscordErrorLoggingWebhookBotURL
|
global DiscordErrorLoggingWebhookBotURL
|
||||||
global DiscordVideosWebhookURL
|
global DiscordVideosWebhookURL
|
||||||
global VideoFolderDir
|
global VideoFolderDir
|
||||||
@@ -104,12 +106,14 @@ FileInstall, Version.ini, %A_ScriptDir%\Lib\Version.ini, 1
|
|||||||
IniRead, ScriptVersion, %A_ScriptDir%\Lib\Version.ini,%ScriptSettingsSection%, Version, 0.0
|
IniRead, ScriptVersion, %A_ScriptDir%\Lib\Version.ini,%ScriptSettingsSection%, Version, 0.0
|
||||||
; IniRead, ScriptName, %A_ScriptDir%\Lib\Version.ini,%ScriptSettingsSection%, Name, %ScriptSettingsSection%
|
; IniRead, ScriptName, %A_ScriptDir%\Lib\Version.ini,%ScriptSettingsSection%, Name, %ScriptSettingsSection%
|
||||||
|
|
||||||
global ScriptName := "Freedomain Livestream Scheduler"
|
global ScriptName
|
||||||
global ScriptAbbreviatedName := "FLS" ; used for error logging
|
ScriptName := "Freedomain Livestream Scheduler"
|
||||||
|
|
||||||
|
global ScriptAbbreviatedName
|
||||||
|
ScriptAbbreviatedName := "FLS" ; used for error logging
|
||||||
|
|
||||||
FullScriptName := ScriptName . " - " . ScriptVersion
|
FullScriptName := ScriptName . " - " . ScriptVersion
|
||||||
|
|
||||||
; Msgbox % "FullScriptName: " FullScriptName
|
|
||||||
|
|
||||||
global GitReleasesAPIURL
|
global GitReleasesAPIURL
|
||||||
GitReleasesAPIURL = https://freedomain.dev/api/v1/repos/yuriy/livestream-scheduler/releases
|
GitReleasesAPIURL = https://freedomain.dev/api/v1/repos/yuriy/livestream-scheduler/releases
|
||||||
@@ -157,6 +161,7 @@ LivestreamThumbnail := ThumbnailJPEGFilepath
|
|||||||
; ------------------------------------------------
|
; ------------------------------------------------
|
||||||
IniRead, ConfirmBeforeSubmit, %SettingsIniFilepath%, %ScriptSettingsSection%, ConfirmBeforeSubmit, 1
|
IniRead, ConfirmBeforeSubmit, %SettingsIniFilepath%, %ScriptSettingsSection%, ConfirmBeforeSubmit, 1
|
||||||
IniRead, AutoUpdateCheck, %SettingsIniFilepath%, %ScriptSettingsSection%, AutoUpdateCheck, 1
|
IniRead, AutoUpdateCheck, %SettingsIniFilepath%, %ScriptSettingsSection%, AutoUpdateCheck, 1
|
||||||
|
|
||||||
IniRead, ErrorLogToDiscord, %SettingsIniFilepath%, %ScriptSettingsSection%, ErrorLogToDiscord, 1
|
IniRead, ErrorLogToDiscord, %SettingsIniFilepath%, %ScriptSettingsSection%, ErrorLogToDiscord, 1
|
||||||
if(ErrorLogToDiscord){
|
if(ErrorLogToDiscord){
|
||||||
; Discord
|
; Discord
|
||||||
@@ -172,118 +177,147 @@ if(ErrorLogToDiscord){
|
|||||||
|
|
||||||
; GUI Variables
|
; GUI Variables
|
||||||
; ------------------------------------------------
|
; ------------------------------------------------
|
||||||
|
IniRead, XPosition, %SettingsIniFilepath%, %ScriptSettingsSection%, XPosition, 0
|
||||||
|
IniRead, YPosition, %SettingsIniFilepath%, %ScriptSettingsSection%, YPosition, 0
|
||||||
|
|
||||||
|
GuiFontSize = 15
|
||||||
|
|
||||||
MarginSize := 10
|
MarginSize := 10
|
||||||
MarginSizeDoubled := MarginSize * 2
|
MarginSizeDoubled := MarginSize * 2
|
||||||
ButtonHeights := 30
|
ButtonHeights := 30
|
||||||
|
|
||||||
ThumbnailPreviewWidth := 200
|
ThumbnailPreviewWidth := 150
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GuiHeight := 500
|
||||||
|
|
||||||
|
VerticalLineHeight := GuiHeight - 100
|
||||||
|
|
||||||
GuiHeight := 440
|
|
||||||
|
|
||||||
; Column One
|
; Column One
|
||||||
ColumnOneWidth := 500
|
ColumnOneWidth := 550
|
||||||
|
|
||||||
ColumnOneEditBoxWidth := ColumnOneWidth - (MarginSize * 2)
|
ColumnOneEditBoxWidth := ColumnOneWidth - (MarginSize * 2)
|
||||||
ColumnOneEditBoxHalfWidth := (ColumnOneEditBoxWidth / 2) + 5
|
ColumnOneEditBoxHalfWidth := (ColumnOneEditBoxWidth / 2) + 5
|
||||||
|
|
||||||
|
|
||||||
GuiFontSize = 15
|
|
||||||
|
|
||||||
; Column Two
|
; Column Two
|
||||||
ColumnTwoXPosition := ColumnOneWidth + (MarginSize * 2)
|
ColumnTwoXPosition := ColumnOneWidth + (MarginSize * 2)
|
||||||
|
ColumnTwoVerticalLineXPosition := ColumnTwoXPosition - (MarginSize * 2)
|
||||||
ColumnTwoEditBoxWidth := 200
|
ColumnTwoEditBoxWidth := 200
|
||||||
ColumnTwoEditBoxHalfWidth := ColumnTwoEditBoxWidth / 2
|
ColumnTwoEditBoxHalfWidth := ColumnTwoEditBoxWidth / 2
|
||||||
|
|
||||||
|
|
||||||
|
; Column Three
|
||||||
|
ColumnThreeXPosition := ColumnTwoXPosition + ColumnTwoEditBoxWidth + (MarginSizeDoubled * 2)
|
||||||
|
ColumnThreeVerticalLineXPosition := ColumnThreeXPosition - (MarginSize * 2)
|
||||||
|
|
||||||
|
ColumnThreeEditBoxWidth := 180
|
||||||
|
|
||||||
|
GUIWidth := ColumnThreeXPosition + ColumnThreeEditBoxWidth + MarginSize
|
||||||
|
|
||||||
|
|
||||||
; Results Screen
|
; Results Screen
|
||||||
ResultButtonWidth := 250
|
ResultButtonWidth := 250
|
||||||
ResultButtonEditWidth := 250
|
ResultButtonEditWidth := 350
|
||||||
ResultButtonHeights := 30
|
ResultButtonHeights := 35
|
||||||
|
ResultButtonDoubleHeights := ResultButtonHeights * 2
|
||||||
ResultButtonAndEditWidth := ResultButtonWidth + ResultButtonEditWidth + MarginSize
|
ResultButtonAndEditWidth := ResultButtonWidth + ResultButtonEditWidth + MarginSize
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; START OF GUI
|
; START OF GUI
|
||||||
; ------------------------------------------------
|
; ------------------------------------------------
|
||||||
|
Gui, Margin, %MarginSize%, %MarginSize%
|
||||||
Gui, Font, s%GuiFontSize%
|
; Gui Color, 0193C4
|
||||||
; Column One
|
; Column One
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
Gui, Font, Bold
|
|
||||||
Gui, Font, s8
|
|
||||||
Gui, Add, Text,, Title
|
|
||||||
Gui, Font, Normal
|
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Add, Edit,w%ColumnOneEditBoxWidth% vLivestreamTitle, %LivestreamTitle%
|
|
||||||
|
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Font, s8
|
Gui, Add, Text,x%MarginSize%, Title
|
||||||
|
|
||||||
|
Gui, Font, s10
|
||||||
|
Gui, Font, Normal
|
||||||
|
Gui, Add, Button, x+%MarginSize% gPasteClipboardToEditBox vPasteClipboardToFLSTitle, Paste Clipboard
|
||||||
|
|
||||||
|
Gui, Font, s%GuiFontSize%
|
||||||
|
Gui, Font, Normal
|
||||||
|
Gui, Add, Edit,x%MarginSize% w%ColumnOneEditBoxWidth% vLivestreamTitle, %LivestreamTitle%
|
||||||
|
|
||||||
|
Gui, Font, s%GuiFontSize%
|
||||||
|
Gui, Font, Bold
|
||||||
Gui, Add, Text,, Description
|
Gui, Add, Text,, Description
|
||||||
Gui, Font, Normal
|
|
||||||
Gui, Font, s%GuiFontSize%
|
|
||||||
Gui, Add, Edit,w%ColumnOneEditBoxWidth% h150 vLivestreamDescription, %LivestreamDescription%
|
|
||||||
|
|
||||||
|
Gui, Font, s10
|
||||||
|
Gui, Font, Normal
|
||||||
|
Gui, Add, Button, x+%MarginSize% gPasteClipboardToEditBox vPasteClipboardToFLSDescription, Paste Clipboard
|
||||||
|
|
||||||
|
Gui, Font, s%GuiFontSize%
|
||||||
|
Gui, Font, Normal
|
||||||
|
Gui, Add, Edit,x%MarginSize% w%ColumnOneEditBoxWidth% h200 vLivestreamDescription, %LivestreamDescription%
|
||||||
|
|
||||||
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Font, s8
|
|
||||||
Gui, Add, Text,, Tags (Comma Seperated)
|
Gui, Add, Text,, Tags (Comma Seperated)
|
||||||
|
|
||||||
|
Gui, Font, s10
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
|
Gui, Add, Button, x+%MarginSize% gPasteClipboardToEditBox vPasteClipboardToFLSTags, Paste Clipboard
|
||||||
|
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Add, Edit,w%ColumnOneEditBoxWidth% vLivestreamTags, %LivestreamTags%
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gui, Font, Bold
|
|
||||||
Gui, Font, s8
|
|
||||||
Gui, Add, Text,, Thumbnail
|
|
||||||
Gui, Add, Button, x+%MarginSize% yp-3 gSelectThumbnail, Select
|
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
|
Gui, Add, Edit,x%MarginSize% w%ColumnOneEditBoxWidth% vLivestreamTags, %LivestreamTags%
|
||||||
|
|
||||||
|
|
||||||
|
; Buttons at Bottom of Page
|
||||||
|
; ------------------------------------------------
|
||||||
|
; Start with Column one and go across
|
||||||
|
|
||||||
|
ScheduleButtonWidths := 250
|
||||||
|
ScheduleButtonHeight := 55
|
||||||
|
ScheduleButtonHalfHeight := ScheduleButtonHeight / 2
|
||||||
|
|
||||||
|
|
||||||
|
Gui, add, Text, x0 y+%marginsizeDoubled% w%GUIWidth% 0x10
|
||||||
|
|
||||||
|
Gui, Font, s10
|
||||||
|
Gui, Font, Bold
|
||||||
|
Gui, Add, Button, x%MarginSize% yp+%marginsizeDoubled% w%ColumnTwoEditBoxWidth% h%ScheduleButtonHalfHeight% gLoadPrevious , Load Previous
|
||||||
|
Gui, Add, Button, y+0 w%ColumnTwoEditBoxWidth% h%ScheduleButtonHalfHeight% gShowResultsScreen , Show Results
|
||||||
|
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Add, Picture, x%MarginSize% w%ThumbnailPreviewWidth% h-1 vThumbnailPreview, %LivestreamThumbnail%
|
|
||||||
|
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Font, S10
|
Gui, Add, Button, x+%marginsize% yp-%ScheduleButtonHalfHeight% w%ScheduleButtonWidths% h%ScheduleButtonHeight% gSaveAsTemplate, Save As Template
|
||||||
Gui, Add, Button, x%ColumnOneEditBoxHalfWidth% yp-%marginsize% w%ColumnOneEditBoxHalfWidth% h40 gSaveAsTemplate, Save As Template
|
Gui, Add, Button,x+%marginsize% gSchedulePost h%ScheduleButtonHeight% w%ScheduleButtonWidths% gLoadTemplate, Load Template
|
||||||
Gui, Add, Button,gSchedulePost w%ColumnOneEditBoxHalfWidth% gLoadTemplate h40 , Load Template
|
Gui, Add, Button, x+%marginsize% gSchedulePost h%ScheduleButtonHeight% w%ScheduleButtonWidths% gSchedulePost, Schedule
|
||||||
Gui, Font, Normal
|
|
||||||
Gui, Add, Button,gSchedulePost w%ColumnOneEditBoxHalfWidth% gLoadPrevious h20 , Load Previous
|
|
||||||
|
|
||||||
|
|
||||||
; Gui, Add, Button, yp+0 x%ColumnOneEditBoxHalfWidth% w%ColumnOneEditBoxHalfWidth%, Text button here
|
|
||||||
|
|
||||||
|
|
||||||
; Gui, Add, Edit,w%ColumnOneEditBoxWidth% h150 vLivestreamDescription, This livestream is happening soon!
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; Column Two
|
; Column Two
|
||||||
; ------------------------------------------------
|
; ------------------------------------------------
|
||||||
|
Gui, add, text, x%ColumnTwoVerticalLineXPosition% y%marginSize% h%VerticalLineHeight% 0x11 ;Vertical Line > Etched Gray
|
||||||
|
|
||||||
|
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Add, Text,y0 x%ColumnTwoXPosition%, Settings
|
; Gui, Add, Text, , Thumbnail
|
||||||
|
Gui, Add, GroupBox, r2.5 x%ColumnTwoXPosition% y%marginSize% vImageThumbnail w%ColumnTwoEditBoxWidth%,Thumbnail
|
||||||
|
Gui, Font, s10
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
Gui, Font, s8
|
Gui, Add, Button, xp+120 yp-3 gSelectThumbnail, Select
|
||||||
Gui, Add, Checkbox, vErrorLogToDiscord Checked%ErrorLogToDiscord%, Error Log to Discord
|
; Gui, Font, Normal
|
||||||
Gui, Add, Checkbox, vConfirmBeforeSubmit checked%ConfirmBeforeSubmit%, Confirm Before Submit
|
; Gui, Font, s%GuiFontSize%
|
||||||
Gui, Add, Checkbox, vAutoUpdateCheck Checked%AutoUpdateCheck%, Auto Update Check
|
Gui, Add, Picture, x%ColumnTwoXPosition% y+%marginsize% w%ThumbnailPreviewWidth% h-1 vThumbnailPreview, %LivestreamThumbnail%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(UpdateAvailable){
|
|
||||||
Gui, Add, Button, cRed w%ColumnTwoEditBoxWidth% gUpdateScript vUpdateAvailable center, Update Available!
|
|
||||||
}
|
|
||||||
else, {
|
|
||||||
Gui, Add, Button, w%ColumnTwoEditBoxWidth% gUpdateScript vUpdateAvailable center, No Updates Available
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
; Gui, Add, Text, , Settings
|
Gui, Add, Text, x%ColumnTwoXPosition% yp+100 , Date and Time
|
||||||
Gui, Add, Text, y+%MarginSizeDoubled% , Date and Time
|
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
|
|
||||||
Gui, Add, DateTime, vLivestreamDate w%ColumnTwoEditBoxWidth%, MM/dd/yyyy
|
Gui, Add, DateTime, vLivestreamDate w%ColumnTwoEditBoxWidth%, MM/dd/yyyy
|
||||||
@@ -299,7 +333,7 @@ Gui, Font, Bold
|
|||||||
Gui, Add, Text,y+%MarginSizeDoubled% x%ColumnTwoXPosition%, Platforms
|
Gui, Add, Text,y+%MarginSizeDoubled% x%ColumnTwoXPosition%, Platforms
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
|
|
||||||
Gui, Font, s6
|
Gui, Font, s8
|
||||||
Gui, Add, Button, x+%marginsize% yp+5 gUncheckAllPlatforms, Uncheck All
|
Gui, Add, Button, x+%marginsize% yp+5 gUncheckAllPlatforms, Uncheck All
|
||||||
|
|
||||||
; Gui, Add, Checkbox,, Dlive
|
; Gui, Add, Checkbox,, Dlive
|
||||||
@@ -311,13 +345,45 @@ Gui, Add, Checkbox,x%ColumnTwoXPosition% y+%marginsize% checked vRumble, Rumble
|
|||||||
Gui, Font, S8
|
Gui, Font, S8
|
||||||
Gui, Add, Checkbox, x+10 yp+5 Checked vInputRumbleCustomRTMP, Input RTMP
|
Gui, Add, Checkbox, x+10 yp+5 Checked vInputRumbleCustomRTMP, Input RTMP
|
||||||
|
|
||||||
|
Gui, add, text, x%ColumnThreeVerticalLineXPosition% y%marginSize% h%VerticalLineHeight% 0x11 ;Vertical Line > Etched Gray
|
||||||
|
|
||||||
Gui, Font, s15
|
|
||||||
|
; Column Three
|
||||||
|
; ------------------------------------------------
|
||||||
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Add, Button, x%ColumnTwoXPosition% y+%marginsizeDoubled% gSchedulePost w%ColumnTwoEditBoxWidth% h60, Schedule
|
Gui, Add, Text,y%MarginSize% x%ColumnThreeXPosition%, Settings
|
||||||
; Gui, Font, Normal
|
|
||||||
|
|
||||||
Gui, Show, h%GuiHeight%, %FullScriptName%
|
|
||||||
|
Gui, Font, s12
|
||||||
|
Gui, Font, Normal
|
||||||
|
Gui, Add, Checkbox, vAutoUpdateCheck Checked%AutoUpdateCheck%, Auto Update Check
|
||||||
|
Gui, Add, Checkbox, vErrorLogToDiscord Checked%ErrorLogToDiscord%, Error Log to Discord
|
||||||
|
Gui, Add, Checkbox, vConfirmBeforeSubmit checked%ConfirmBeforeSubmit%, Confirm Before Submit
|
||||||
|
|
||||||
|
|
||||||
|
Gui, Font, s%GuiFontSize%
|
||||||
|
Gui, Font, Bold
|
||||||
|
Gui, Add, Text, y+%MarginSizeDoubled% x%ColumnThreeXPosition%, System
|
||||||
|
|
||||||
|
Gui, Font, S10
|
||||||
|
/*if(UpdateAvailable)
|
||||||
|
Gui, Add, Button, cRed w%ColumnTwoEditBoxWidth% center vUpdateAvailable gUpdateScript, %ScriptAbbreviatedName% Update Available!
|
||||||
|
else,
|
||||||
|
*/
|
||||||
|
Gui, Add, Button, w%ColumnThreeEditBoxWidth% center vUpdateAvailable gUpdateScript, %ScriptAbbreviatedName% Up-to-Date
|
||||||
|
|
||||||
|
/*if(ChromeUpdateAvailable)
|
||||||
|
Gui, Add, Button, cRed w%ColumnThreeEditBoxWidth% center vChromeUpdateAvailable gUpdateChrome,Chrome Update Available!
|
||||||
|
else,
|
||||||
|
*/
|
||||||
|
Gui, Add, Button, w%ColumnThreeEditBoxWidth% center vChromeUpdateAvailable gUpdateChrome, Chrome Up-to-Date
|
||||||
|
|
||||||
|
Gui, Add, Button, x%ColumnThreeXPosition% y+%MarginSize% w%ColumnThreeEditBoxWidth% center gOpenGiteaPage, Report Bug
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gui, Show, h%GuiHeight% w%GUIWidth% x%XPosition% y%YPosition%, %FullScriptName%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -413,8 +479,8 @@ ExitApp
|
|||||||
|
|
||||||
SelectThumbnail:
|
SelectThumbnail:
|
||||||
FileSelectFile, LivestreamThumbnail,
|
FileSelectFile, LivestreamThumbnail,
|
||||||
|
; Msgbox % "ThumbnailPreviewWidth: " ThumbnailPreviewWidth
|
||||||
GuiControl, , ThumbnailPreview, *w%ThumbnailPreviewWidth% *h-1 %LivestreamThumbnail%
|
GuiControl, , ThumbnailPreview, *h130 *w-1 %LivestreamThumbnail%
|
||||||
|
|
||||||
Return
|
Return
|
||||||
|
|
||||||
@@ -424,12 +490,15 @@ Return
|
|||||||
SchedulePost:
|
SchedulePost:
|
||||||
Gui, submit, NoHide
|
Gui, submit, NoHide
|
||||||
|
|
||||||
|
WinGetPos, XPosition, YPosition, , , A
|
||||||
|
|
||||||
; Save Settings.ini
|
; Save Settings.ini
|
||||||
; ------------------------------------------------
|
; ------------------------------------------------
|
||||||
IniWrite, %ConfirmBeforeSubmit%, %SettingsIniFilepath%, %ScriptSettingsSection%, ConfirmBeforeSubmit
|
IniWrite, %ConfirmBeforeSubmit%, %SettingsIniFilepath%, %ScriptSettingsSection%, ConfirmBeforeSubmit
|
||||||
IniWrite, %AutoUpdateCheck%, %SettingsIniFilepath%, %ScriptSettingsSection%, AutoUpdateCheck
|
IniWrite, %AutoUpdateCheck%, %SettingsIniFilepath%, %ScriptSettingsSection%, AutoUpdateCheck
|
||||||
IniWrite, %ErrorLogToDiscord%, %SettingsIniFilepath%, %ScriptSettingsSection%, ErrorLogToDiscord
|
IniWrite, %ErrorLogToDiscord%, %SettingsIniFilepath%, %ScriptSettingsSection%, ErrorLogToDiscord
|
||||||
|
IniWrite, %XPosition%, %SettingsIniFilepath%, %ScriptSettingsSection%, XPosition
|
||||||
|
IniWrite, %YPosition%, %SettingsIniFilepath%, %ScriptSettingsSection%, YPosition
|
||||||
|
|
||||||
|
|
||||||
; Re-use an existing errorlog or create new directory
|
; Re-use an existing errorlog or create new directory
|
||||||
@@ -476,6 +545,8 @@ if(InputRumbleCustomRTMP){
|
|||||||
|
|
||||||
; Gui, Add,
|
; Gui, Add,
|
||||||
|
|
||||||
|
|
||||||
|
ShowResultsScreen:
|
||||||
ToolTip ; hide any existing tooltips
|
ToolTip ; hide any existing tooltips
|
||||||
|
|
||||||
Gui, Destroy
|
Gui, Destroy
|
||||||
@@ -508,11 +579,6 @@ IniRead, RumbleCustomRTMPs, %PostStatusesFilepath%, Livestream,RumbleCustomRTMPs
|
|||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
|
|
||||||
|
|
||||||
/*Gui, Add, Button, x%MarginSize% gResultsGUIAction h%ResultButtonHeights% w%ResultButtonEditWidth%,Copy Title
|
|
||||||
Gui, Add, Button, x+%marginsize% gResultsGUIAction h%ResultButtonHeights% w%ResultButtonEditWidth%,Copy Description
|
|
||||||
|
|
||||||
*/
|
|
||||||
Gui, Add, Button,x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Copy Title
|
Gui, Add, Button,x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Copy Title
|
||||||
Gui, Add, Button, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% center gResultsGUIAction, Copy Description
|
Gui, Add, Button, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% center gResultsGUIAction, Copy Description
|
||||||
|
|
||||||
@@ -544,16 +610,19 @@ Gui, Font, s10
|
|||||||
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, RTMPs Updated on Rumble
|
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, RTMPs Updated on Rumble
|
||||||
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vRumbleCustomRTMPs gGUIUpdateVars center, %RumbleCustomRTMPs%
|
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vRumbleCustomRTMPs gGUIUpdateVars center, %RumbleCustomRTMPs%
|
||||||
|
|
||||||
|
Gui, Font, s%GuiFontSize%
|
||||||
|
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth%
|
||||||
|
Gui, Add, Button, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% gResultsGUIAction ,Save Changes
|
||||||
|
|
||||||
Gui, add, text, x%MarginSize% y+%marginsizeDoubled% w%ResultButtonAndEditWidth% 0x10 ;Horizontal Line > Etched Gray
|
|
||||||
|
Gui, add, text, x%MarginSize% y+%marginsize% w%ResultButtonAndEditWidth% 0x10 ;Horizontal Line > Etched Gray
|
||||||
|
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Add, Button, x%MarginSize% y+%marginsize% gResultsGUIAction h%ResultButtonHeights% w%ResultButtonEditWidth%,Save Changes
|
Gui, Add, Button, x%MarginSize% yp+%marginsize% h%ResultButtonHeights% w%ResultButtonWidth% gStartSMP, Start SMP
|
||||||
Gui, Add, Button, x+%marginsize% h%ResultButtonHeights% w%ResultButtonEditWidth% gRetryUpload ,Try Failed Again
|
Gui, Add, Button, x+%marginsize% h%ResultButtonHeights% w%ResultButtonEditWidth% gUpdateRedirects, Update M.M. Redirects
|
||||||
|
|
||||||
Gui, Add, Button, x%MarginSize% h%ResultButtonHeights% w%ResultButtonEditWidth% gStartSMP, Start SMP
|
Gui, Add, Button, x%MarginSize% h%ResultButtonHeights% w%ResultButtonWidth%
|
||||||
; Gui, Font, s10
|
Gui, Add, Button, x+%marginsize% h%ResultButtonHeights% w%ResultButtonEditWidth% gRetryUpload ,Try Failed Again
|
||||||
Gui, Add, Button, x+%marginsize% gUpdateRedirects h%ResultButtonHeights% w%ResultButtonEditWidth%, Update M.M. Redirects
|
|
||||||
|
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
|
|
||||||
@@ -563,11 +632,11 @@ Gui, Font, s%GuiFontSize%
|
|||||||
Gui, Add, Button, y%MarginSize% w%ResultButtonEditWidth% Center, Error Log
|
Gui, Add, Button, y%MarginSize% w%ResultButtonEditWidth% Center, Error Log
|
||||||
Gui, Font, s8
|
Gui, Font, s8
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
Gui, Add, Edit, y+5 h400 w%ResultButtonEditWidth%, %ErrorLogVar%
|
Gui, Add, Edit, y+5 h450 w%ResultButtonEditWidth%, %ErrorLogVar%
|
||||||
|
|
||||||
; Gui, Add, Button, x%MarginSize% gRetryUpload h%ResultButtonHeights% w%ResultButtonEditWidth%,Try Failed Again
|
; Gui, Add, Button, x%MarginSize% gRetryUpload h%ResultButtonHeights% w%ResultButtonEditWidth%,Try Failed Again
|
||||||
|
|
||||||
Gui, Show
|
Gui, Show, x%XPosition% y%YPosition% w%GUIWidth%, %FullScriptName% - Results
|
||||||
|
|
||||||
Return
|
Return
|
||||||
|
|
||||||
@@ -575,6 +644,12 @@ Return
|
|||||||
|
|
||||||
; GoSubs
|
; GoSubs
|
||||||
; ------------------------------------------------
|
; ------------------------------------------------
|
||||||
|
|
||||||
|
OpenGiteaPage:
|
||||||
|
run, https://freedomain.dev/yuriy/video-uploader/issues
|
||||||
|
Return
|
||||||
|
|
||||||
|
|
||||||
StartSMP:
|
StartSMP:
|
||||||
; IniWrite, %A_ScriptFullPath%, %SettingsIniFilepath%, Filepaths, SMPFilepath
|
; IniWrite, %A_ScriptFullPath%, %SettingsIniFilepath%, Filepaths, SMPFilepath
|
||||||
IniRead, SocialMediaPosterFilepath, %SettingsIniFilepath%, Filepaths, SocialMediaPosterFilepath, %A_Space%
|
IniRead, SocialMediaPosterFilepath, %SettingsIniFilepath%, Filepaths, SocialMediaPosterFilepath, %A_Space%
|
||||||
@@ -595,9 +670,7 @@ if(SocialMediaPosterFilepath = "" or !FileExist(SocialMediaPosterFilepath)){
|
|||||||
} Else IfMsgBox Cancel, {
|
} Else IfMsgBox Cancel, {
|
||||||
Return
|
Return
|
||||||
}
|
}
|
||||||
|
|
||||||
IniWrite, %SocialMediaPosterFilepath%, %SettingsIniFilepath%, Filepaths, SocialMediaPosterFilepath
|
IniWrite, %SocialMediaPosterFilepath%, %SettingsIniFilepath%, Filepaths, SocialMediaPosterFilepath
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
run, %SocialMediaPosterFilepath% %StatusFileFilePath%
|
run, %SocialMediaPosterFilepath% %StatusFileFilePath%
|
||||||
@@ -607,8 +680,6 @@ if(SocialMediaPosterFilepath = "" or !FileExist(SocialMediaPosterFilepath)){
|
|||||||
|
|
||||||
UpdateRedirects:
|
UpdateRedirects:
|
||||||
gosub, MediaManagerUpdate
|
gosub, MediaManagerUpdate
|
||||||
|
|
||||||
|
|
||||||
Return
|
Return
|
||||||
|
|
||||||
|
|
||||||
@@ -710,7 +781,7 @@ Return
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Update-Functions.ahk
|
#Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Shared-GoTos.ahk
|
||||||
|
|
||||||
|
|
||||||
; Misc
|
; Misc
|
||||||
|
|||||||
Submodule Lib/Freedomain-Posters-Shared-Functions updated: 0e02ae24bd...cf56ae8136
@@ -5,7 +5,7 @@ MediaManagerUpdate:
|
|||||||
|
|
||||||
|
|
||||||
CurrentSite := "Media Manager"
|
CurrentSite := "Media Manager"
|
||||||
SaveOrPostProgress(Message:="Scheduling Post in Rumble Studio",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
SaveOrPostProgress(Message:="Navigating to Website",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
|
||||||
|
|
||||||
IniRead, FDRRadioURL, %SettingsIniFilepath%, General, FDRRadioURL, %A_Space%
|
IniRead, FDRRadioURL, %SettingsIniFilepath%, General, FDRRadioURL, %A_Space%
|
||||||
@@ -47,6 +47,9 @@ if(InStr(PageURL, "/NotLoggedIn")){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Message = Updating Redirect URLs
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
|
||||||
; URL for each redirect
|
; URL for each redirect
|
||||||
LocalsLiveRedirectURL := FDRRadioBaseURL . "/manage/#/Redirects/Modify?redirectID=738"
|
LocalsLiveRedirectURL := FDRRadioBaseURL . "/manage/#/Redirects/Modify?redirectID=738"
|
||||||
RumbleLiveRedirectURL := FDRRadioBaseURL . "/manage/#/Redirects/Modify?redirectID=739"
|
RumbleLiveRedirectURL := FDRRadioBaseURL . "/manage/#/Redirects/Modify?redirectID=739"
|
||||||
@@ -59,15 +62,34 @@ IniRead, OdyseeLivestreamURL, %PostStatusesFilepath%, Livestream,OdyseeLivestrea
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(LocalsLivestreamURL)
|
||||||
UpdateMediaManagerRedirect(LocalsLiveRedirectURL, LocalsLivestreamURL)
|
UpdateMediaManagerRedirect(LocalsLiveRedirectURL, LocalsLivestreamURL)
|
||||||
|
else, {
|
||||||
|
Message = LocalsLivestreamURL is blank. Skipping
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
}
|
||||||
|
|
||||||
|
if(RumbleLivestreamURL)
|
||||||
UpdateMediaManagerRedirect(RumbleLiveRedirectURL, RumbleLivestreamURL)
|
UpdateMediaManagerRedirect(RumbleLiveRedirectURL, RumbleLivestreamURL)
|
||||||
|
else, {
|
||||||
|
Message = RumbleLivestreamURL is blank. Skipping
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(OdyseeLivestreamURL)
|
||||||
UpdateMediaManagerRedirect(OdyseeLiveRedirectURL, OdyseeLivestreamURL)
|
UpdateMediaManagerRedirect(OdyseeLiveRedirectURL, OdyseeLivestreamURL)
|
||||||
|
else, {
|
||||||
|
Message = OdyseeLivestreamURL is blank. Skipping
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
UpdateMediaManagerRedirect(MediaManagerRedirectPageURL, RedirectURL){
|
UpdateMediaManagerRedirect(MediaManagerRedirectPageURL, RedirectURL){
|
||||||
|
|
||||||
try, driver.Get(MediaManagerRedirectPageURL) ;Open selected URL
|
try, driver.Get(MediaManagerRedirectPageURL) ;Open selected URL
|
||||||
try, driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
|
try, driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
|
||||||
|
|
||||||
@@ -75,18 +97,11 @@ UpdateMediaManagerRedirect(MediaManagerRedirectPageURL, RedirectURL){
|
|||||||
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=RedirectURL, ClearElement := 1)
|
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=RedirectURL, ClearElement := 1)
|
||||||
|
|
||||||
|
|
||||||
if(ConfirmBeforeSubmit){
|
; Snippet to for check:
|
||||||
OnMessage(0x44, "OnMsgBoxUserConfirmation")
|
if (ConfirmBeforeSubmit && ConfirmBeforeSubmitMsgboxFunc() != true) {
|
||||||
MsgBox 0x21, User Confirmation, Please check that all data was input correctly and fix any mistakes and then click PROCEED to finalize the Upload.`n`nClick STOP to cancel the rest of this Upload and move on to the next website.
|
|
||||||
OnMessage(0x44, "")
|
|
||||||
|
|
||||||
IfMsgBox OK, {
|
|
||||||
|
|
||||||
} Else IfMsgBox Cancel, {
|
|
||||||
Message = User Selected STOP button when asked for confirmation. Cancelling Rest of Site Upload.
|
Message = User Selected STOP button when asked for confirmation. Cancelling Rest of Site Upload.
|
||||||
SaveOrPostProgress(Message:=Message, PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
SaveOrPostProgress(Message:=Message, PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
Return
|
return
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
; Save button
|
; Save button
|
||||||
@@ -98,6 +113,7 @@ UpdateMediaManagerRedirect(MediaManagerRedirectPageURL, RedirectURL){
|
|||||||
Return
|
Return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Sleep, 1000
|
||||||
Return "Success"
|
Return "Success"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,9 +43,10 @@ OdyseeLivestreamSlug := "livestream-" . OdyseeLivestreamDate
|
|||||||
OdyseeURLSLUG := LBRYCMDTextReplacement(OdyseeLivestreamSlug)
|
OdyseeURLSLUG := LBRYCMDTextReplacement(OdyseeLivestreamSlug)
|
||||||
IniWrite, %OdyseeURLSLUG%, %PostStatusesFilepath%, Livestream,OdyseeURLSLUG
|
IniWrite, %OdyseeURLSLUG%, %PostStatusesFilepath%, Livestream,OdyseeURLSLUG
|
||||||
|
|
||||||
Xpath = (//div[@class='form-field__prefix'])[1]
|
/*Xpath = (//div[@class='form-field__prefix'])[1]
|
||||||
try OdyseeChannelURL := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
try OdyseeChannelURL := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
Message = Inputting Livestream Information
|
Message = Inputting Livestream Information
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
@@ -231,7 +232,7 @@ if(LivestreamThumbnail != ""){
|
|||||||
Message = Submitting Livestream
|
Message = Submitting Livestream
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
|
||||||
; Click Create Button in the confirmation popup
|
; Click Create Button at bottom of the screen
|
||||||
Xpath = //span[contains(text(),'Create')]
|
Xpath = //span[contains(text(),'Create')]
|
||||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
||||||
if(Status){
|
if(Status){
|
||||||
@@ -240,8 +241,10 @@ if(Status){
|
|||||||
Return
|
Return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sleep, 1000
|
||||||
|
|
||||||
; Click confirm button in the popup
|
; Click confirm button in the popup
|
||||||
Xpath = //button[@aria-label='Confirm']//span[@class='button__content']
|
Xpath = //span[contains(text(),'Confirm')]
|
||||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
||||||
if(Status){
|
if(Status){
|
||||||
Message = Failed to click "Confirm" button in confirmation popup
|
Message = Failed to click "Confirm" button in confirmation popup
|
||||||
@@ -249,13 +252,21 @@ if(Status){
|
|||||||
Return
|
Return
|
||||||
}
|
}
|
||||||
|
|
||||||
OdyseeLivestreamURL := "https://" . OdyseeChannelURL . OdyseeURLSLUG
|
|
||||||
; OdyseeURL := "https://" . OdyseeURL
|
IniRead, OdyseeChannelURL, %SettingsIniFilepath%, %ScriptSettingsSection%, OdyseeChannelURL, %A_Space%
|
||||||
|
if(!OdyseeChannelURL){
|
||||||
|
OdyseeChannelURL := "https://odysee.com/@freedomain:b/"
|
||||||
|
IniWrite, %OdyseeChannelURL%, %SettingsIniFilepath%, %ScriptSettingsSection%, OdyseeChannelURL
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
OdyseeLivestreamURL := OdyseeChannelURL . OdyseeURLSLUG
|
||||||
IniWrite, %OdyseeLivestreamURL%, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL
|
IniWrite, %OdyseeLivestreamURL%, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL
|
||||||
|
|
||||||
|
|
||||||
; Grab RTMP Settings
|
; Grab RTMP Settings
|
||||||
Message = Waiting for Confirmation Screen to grab RTMP Settings
|
Message = Waiting for Confirmation Screen to grab RTMP Settings
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
|
||||||
Xpath = (//span[contains(text(),'View Livestream Settings')])[1]
|
Xpath = (//span[contains(text(),'View Livestream Settings')])[1]
|
||||||
loop, 60 {
|
loop, 60 {
|
||||||
@@ -269,6 +280,12 @@ loop, 60 {
|
|||||||
|
|
||||||
; click on the "View livestream Settings" button
|
; click on the "View livestream Settings" button
|
||||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to click on -View Livestream Settings- Button
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
; Grab the Stream URL and Key
|
; Grab the Stream URL and Key
|
||||||
Xpath = (//input[@name='stream-server'])[1]
|
Xpath = (//input[@name='stream-server'])[1]
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -1,3 +1,13 @@
|
|||||||
# Freedomain-Livestream-Scheduler
|
# Freedomain-Livestream-Scheduler
|
||||||
|
|
||||||
Livestream Scheduler written for the [Freedomain Philosophy Show](https://freedomain.com/)
|
Livestream Scheduler written for the [Freedomain Philosophy Show](https://freedomain.com/)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Features
|
||||||
|
Automated scheduling of livestreams on the following platforms using Selenium Chrome automation.
|
||||||
|
* Odysee
|
||||||
|
* Locals
|
||||||
|
* Rumble
|
||||||
|
|
||||||
|
- The RTMP information from each platform will be grabbed at the end of the schedule and then input into Rumble Studio for Livestreaming.
|
||||||
BIN
Version.ini
BIN
Version.ini
Binary file not shown.
Reference in New Issue
Block a user