5 Commits
1.24 ... 1.26

Author SHA1 Message Date
b1bb3c2449 gui updates, odysee small bug fix 2024-05-22 23:52:32 -04:00
05348079e9 fixed broken Odysee livestream URL generation 2024-05-22 22:58:55 -04:00
52917adf57 gui updates 2024-05-18 02:10:47 -04:00
97d9ecc84f gui updates, new icon 2024-05-18 01:57:34 -04:00
211c3ea4fa readme 2024-05-18 00:41:20 -04:00
10 changed files with 232 additions and 118 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 90 KiB

BIN
Assets/Icon2.xcf Normal file

Binary file not shown.

BIN
Assets/Preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

View File

@@ -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

View File

@@ -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"
} }

View File

@@ -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]

View File

@@ -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/)
![Alt text](Assets/Preview.png "Screenshot of Main Window")
## 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.

Binary file not shown.