Skip to content

Commit 1e35e98

Browse files
author
dsward2
committed
In AppDelegate, when a process conflict is found, present an option for the user to save the LocalRadio Clean-Up.workflow Automator script as an app in the Applications folder. If that is done and the app is found, present a button to allow the user to launch the app.
1 parent 8727537 commit 1e35e98

File tree

5 files changed

+401
-96
lines changed

5 files changed

+401
-96
lines changed
Loading

LocalRadio/Automator Scripts/LocalRadio Clean-Up.workflow/Contents/document.wflow

+311-12
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
<key>displayWarning</key>
6565
<false/>
6666
<key>explanationText</key>
67-
<string>If LocalRadio crashes and fail to terminate the subprocesses correctly, use this script to kill the following processes: UDPSender, UDPListener, rtl_fm_localradio, AACEncoder, AudioMonitor2, stereodemux and StreamingServer.</string>
67+
<string>If LocalRadio crashes and fail to terminate the subprocesses correctly, use this script to kill the following processes: sox, UDPSender, UDPListener, rtl_fm_localradio, icecast, ezstream, AudioMonitor, AudioMonitor2 and stereodemux.</string>
6868
<key>negativeTitle</key>
6969
<string>Cancel</string>
7070
<key>questionText</key>
@@ -173,7 +173,7 @@
173173
<key>isViewVisible</key>
174174
<true/>
175175
<key>location</key>
176-
<string>347.750000:198.000000</string>
176+
<string>271.500000:198.000000</string>
177177
<key>nibPath</key>
178178
<string>/System/Library/Automator/Ask for Confirmation.action/Contents/Resources/Base.lproj/main.nib</string>
179179
</dict>
@@ -253,12 +253,30 @@ else
253253
pkill rtl_fm_localradio
254254
fi
255255

256+
if pgrep -x "icecast" &gt; /dev/null
257+
then
258+
echo "pkill icecast"
259+
pkill icecast
260+
fi
261+
256262
if pgrep -x "AACEncoder" &gt; /dev/null
257263
then
258264
echo "pkill AACEncoder"
259265
pkill AACEncoder
260266
fi
261267

268+
if pgrep -x "sox" &gt; /dev/null
269+
then
270+
echo "pkill sox"
271+
pkill sox
272+
fi
273+
274+
if pgrep -x "IcecastSource" &gt; /dev/null
275+
then
276+
echo "pkill IcecastSource"
277+
pkill IcecastSource
278+
fi
279+
262280
if pgrep -x "AudioMonitor2" &gt; /dev/null
263281
then
264282
echo "pkill AudioMonitor2"
@@ -270,12 +288,6 @@ else
270288
echo "pkill stereodemux"
271289
pkill stereodemux
272290
fi
273-
274-
if pgrep -x "StreamingServer" &gt; /dev/null
275-
then
276-
echo "pkill StreamingServer"
277-
pkill StreamingServer
278-
fi
279291
fi
280292
</string>
281293
<key>CheckedForUserDefaultShell</key>
@@ -390,7 +402,7 @@ fi
390402
<key>isViewVisible</key>
391403
<true/>
392404
<key>location</key>
393-
<string>347.750000:380.000000</string>
405+
<string>271.500000:380.000000</string>
394406
<key>nibPath</key>
395407
<string>/System/Library/Automator/Run Shell Script.action/Contents/Resources/Base.lproj/main.nib</string>
396408
</dict>
@@ -525,30 +537,317 @@ fi
525537
<key>isViewVisible</key>
526538
<true/>
527539
<key>location</key>
528-
<string>347.750000:569.000000</string>
540+
<string>271.500000:569.000000</string>
529541
<key>nibPath</key>
530542
<string>/System/Library/Automator/Display Notification.action/Contents/Resources/Base.lproj/main.nib</string>
531543
</dict>
532544
<key>isViewVisible</key>
533545
<true/>
534546
</dict>
547+
<dict>
548+
<key>action</key>
549+
<dict>
550+
<key>AMAccepts</key>
551+
<dict>
552+
<key>Container</key>
553+
<string>List</string>
554+
<key>Optional</key>
555+
<true/>
556+
<key>Types</key>
557+
<array/>
558+
</dict>
559+
<key>AMActionVersion</key>
560+
<string>1.0.2</string>
561+
<key>AMApplication</key>
562+
<array>
563+
<string>Automator</string>
564+
</array>
565+
<key>AMParameterProperties</key>
566+
<dict>
567+
<key>affirmativeTitle</key>
568+
<dict/>
569+
<key>displayWarning</key>
570+
<dict/>
571+
<key>explanationText</key>
572+
<dict/>
573+
<key>negativeTitle</key>
574+
<dict/>
575+
<key>questionText</key>
576+
<dict>
577+
<key>tokenizedValue</key>
578+
<array>
579+
<string>LocalRadio Clean-up Completed.</string>
580+
</array>
581+
</dict>
582+
</dict>
583+
<key>AMProvides</key>
584+
<dict>
585+
<key>Container</key>
586+
<string>List</string>
587+
<key>Types</key>
588+
<array/>
589+
</dict>
590+
<key>ActionBundlePath</key>
591+
<string>/System/Library/Automator/Ask for Confirmation.action</string>
592+
<key>ActionName</key>
593+
<string>Ask for Confirmation</string>
594+
<key>ActionParameters</key>
595+
<dict>
596+
<key>affirmativeTitle</key>
597+
<string>OK</string>
598+
<key>displayWarning</key>
599+
<false/>
600+
<key>explanationText</key>
601+
<string>The LocalRadio Clean-up is completed. Click “OK” button to launch LocalRadio.app again.</string>
602+
<key>negativeTitle</key>
603+
<string>Cancel</string>
604+
<key>questionText</key>
605+
<string>LocalRadio Clean-up Completed.</string>
606+
</dict>
607+
<key>BundleIdentifier</key>
608+
<string>com.apple.Automator.AskforConfirmation</string>
609+
<key>CFBundleVersion</key>
610+
<string>1.0.2</string>
611+
<key>CanShowSelectedItemsWhenRun</key>
612+
<true/>
613+
<key>CanShowWhenRun</key>
614+
<false/>
615+
<key>Category</key>
616+
<array>
617+
<string>AMCategoryUtilities</string>
618+
</array>
619+
<key>Class Name</key>
620+
<string>AMAskForConfirmationAction</string>
621+
<key>InputUUID</key>
622+
<string>0554B47F-48D8-4961-A5CD-5C54CB586B08</string>
623+
<key>Keywords</key>
624+
<array>
625+
<string>Message</string>
626+
<string>Ask</string>
627+
<string>Display</string>
628+
<string>Prompt</string>
629+
<string>Show</string>
630+
</array>
631+
<key>OutputUUID</key>
632+
<string>8DA0C60B-C7B4-47A5-8847-731F9CBC4386</string>
633+
<key>UUID</key>
634+
<string>AA70EA5A-48E8-41E6-B916-17312C77A689</string>
635+
<key>UnlocalizedApplications</key>
636+
<array>
637+
<string>Automator</string>
638+
</array>
639+
<key>arguments</key>
640+
<dict>
641+
<key>0</key>
642+
<dict>
643+
<key>default value</key>
644+
<string>Cancel</string>
645+
<key>name</key>
646+
<string>negativeTitle</string>
647+
<key>required</key>
648+
<string>0</string>
649+
<key>type</key>
650+
<string>0</string>
651+
<key>uuid</key>
652+
<string>0</string>
653+
</dict>
654+
<key>1</key>
655+
<dict>
656+
<key>default value</key>
657+
<false/>
658+
<key>name</key>
659+
<string>displayWarning</string>
660+
<key>required</key>
661+
<string>0</string>
662+
<key>type</key>
663+
<string>0</string>
664+
<key>uuid</key>
665+
<string>1</string>
666+
</dict>
667+
<key>2</key>
668+
<dict>
669+
<key>default value</key>
670+
<string></string>
671+
<key>name</key>
672+
<string>explanationText</string>
673+
<key>required</key>
674+
<string>0</string>
675+
<key>type</key>
676+
<string>0</string>
677+
<key>uuid</key>
678+
<string>2</string>
679+
</dict>
680+
<key>3</key>
681+
<dict>
682+
<key>default value</key>
683+
<string>OK</string>
684+
<key>name</key>
685+
<string>affirmativeTitle</string>
686+
<key>required</key>
687+
<string>0</string>
688+
<key>type</key>
689+
<string>0</string>
690+
<key>uuid</key>
691+
<string>3</string>
692+
</dict>
693+
<key>4</key>
694+
<dict>
695+
<key>default value</key>
696+
<string></string>
697+
<key>name</key>
698+
<string>questionText</string>
699+
<key>required</key>
700+
<string>0</string>
701+
<key>type</key>
702+
<string>0</string>
703+
<key>uuid</key>
704+
<string>4</string>
705+
</dict>
706+
</dict>
707+
<key>conversionLabel</key>
708+
<integer>0</integer>
709+
<key>isViewVisible</key>
710+
<true/>
711+
<key>location</key>
712+
<string>271.500000:765.000000</string>
713+
<key>nibPath</key>
714+
<string>/System/Library/Automator/Ask for Confirmation.action/Contents/Resources/Base.lproj/main.nib</string>
715+
</dict>
716+
<key>isViewVisible</key>
717+
<true/>
718+
</dict>
719+
<dict>
720+
<key>action</key>
721+
<dict>
722+
<key>AMAccepts</key>
723+
<dict>
724+
<key>Container</key>
725+
<string>List</string>
726+
<key>Optional</key>
727+
<true/>
728+
<key>Types</key>
729+
<array/>
730+
</dict>
731+
<key>AMActionVersion</key>
732+
<string>1.1.1</string>
733+
<key>AMApplication</key>
734+
<array>
735+
<string>Finder</string>
736+
</array>
737+
<key>AMParameterProperties</key>
738+
<dict>
739+
<key>appPath</key>
740+
<dict>
741+
<key>isPathPopUp</key>
742+
<true/>
743+
<key>variableUUIDsInMenu</key>
744+
<array/>
745+
</dict>
746+
</dict>
747+
<key>AMProvides</key>
748+
<dict>
749+
<key>Container</key>
750+
<string>List</string>
751+
<key>Types</key>
752+
<array/>
753+
</dict>
754+
<key>ActionBundlePath</key>
755+
<string>/System/Library/Automator/Launch Application.action</string>
756+
<key>ActionName</key>
757+
<string>Launch Application</string>
758+
<key>ActionParameters</key>
759+
<dict>
760+
<key>appPath</key>
761+
<string>/Applications/LocalRadio.app</string>
762+
</dict>
763+
<key>BundleIdentifier</key>
764+
<string>com.apple.Automator.OpenApplication</string>
765+
<key>CFBundleVersion</key>
766+
<string>1.1.1</string>
767+
<key>CanShowSelectedItemsWhenRun</key>
768+
<true/>
769+
<key>CanShowWhenRun</key>
770+
<true/>
771+
<key>Category</key>
772+
<array>
773+
<string>AMCategoryUtilities</string>
774+
</array>
775+
<key>Class Name</key>
776+
<string>AMLaunchApplicationAction</string>
777+
<key>InputUUID</key>
778+
<string>930DD795-35EB-41A1-982D-CF78582829E2</string>
779+
<key>Keywords</key>
780+
<array>
781+
<string>File</string>
782+
<string>Open</string>
783+
</array>
784+
<key>OutputUUID</key>
785+
<string>D408EC34-556C-4C42-9D4F-DB02D73076FC</string>
786+
<key>UUID</key>
787+
<string>E79AE65D-B81C-433C-AD20-8671F1CCC69F</string>
788+
<key>UnlocalizedApplications</key>
789+
<array>
790+
<string>Finder</string>
791+
</array>
792+
<key>arguments</key>
793+
<dict>
794+
<key>0</key>
795+
<dict>
796+
<key>default value</key>
797+
<string>/System/Applications/Contacts.app</string>
798+
<key>name</key>
799+
<string>appPath</string>
800+
<key>required</key>
801+
<string>0</string>
802+
<key>type</key>
803+
<string>0</string>
804+
<key>uuid</key>
805+
<string>0</string>
806+
</dict>
807+
</dict>
808+
<key>conversionLabel</key>
809+
<integer>0</integer>
810+
<key>isViewVisible</key>
811+
<true/>
812+
<key>location</key>
813+
<string>271.500000:867.000000</string>
814+
<key>nibPath</key>
815+
<string>/System/Library/Automator/Launch Application.action/Contents/Resources/Base.lproj/main.nib</string>
816+
</dict>
817+
<key>isViewVisible</key>
818+
<true/>
819+
</dict>
535820
</array>
536821
<key>connectors</key>
537822
<dict>
538-
<key>F4A16456-7C57-4D2C-9CCD-F3E4720FEEED</key>
823+
<key>1EDB1109-DEBE-4944-9A97-D4A029B35E40</key>
539824
<dict>
540825
<key>from</key>
541826
<string>F71504F6-88ED-4F28-9945-F7A987CB8965 - F71504F6-88ED-4F28-9945-F7A987CB8965</string>
542827
<key>to</key>
543828
<string>1F543706-C4DE-4D1F-8710-5966E55254C7 - 1F543706-C4DE-4D1F-8710-5966E55254C7</string>
544829
</dict>
545-
<key>F74807A8-6227-48BD-A603-34497CEC8EC3</key>
830+
<key>53A56112-E1BA-49E7-9A26-C3AA5D225478</key>
546831
<dict>
547832
<key>from</key>
548833
<string>1F543706-C4DE-4D1F-8710-5966E55254C7 - 1F543706-C4DE-4D1F-8710-5966E55254C7</string>
549834
<key>to</key>
550835
<string>17810AEA-E10E-4539-A179-27F66A9F6362 - 17810AEA-E10E-4539-A179-27F66A9F6362</string>
551836
</dict>
837+
<key>9A50ED26-77CE-4A27-8D3B-221391C90CC6</key>
838+
<dict>
839+
<key>from</key>
840+
<string>AA70EA5A-48E8-41E6-B916-17312C77A689 - AA70EA5A-48E8-41E6-B916-17312C77A689</string>
841+
<key>to</key>
842+
<string>E79AE65D-B81C-433C-AD20-8671F1CCC69F - E79AE65D-B81C-433C-AD20-8671F1CCC69F</string>
843+
</dict>
844+
<key>DCA3AAC3-4F13-4899-85DF-9965D248B4F4</key>
845+
<dict>
846+
<key>from</key>
847+
<string>17810AEA-E10E-4539-A179-27F66A9F6362 - 17810AEA-E10E-4539-A179-27F66A9F6362</string>
848+
<key>to</key>
849+
<string>AA70EA5A-48E8-41E6-B916-17312C77A689 - AA70EA5A-48E8-41E6-B916-17312C77A689</string>
850+
</dict>
552851
</dict>
553852
<key>workflowMetaData</key>
554853
<dict>

0 commit comments

Comments
 (0)