A bit clunky, but it beats Windows. Homemade Syabas NMT uploader.

Our school has a Syabas/Popcorn Hour S-210 NMT (Network Media Tank) which runs an announcement board in the lobby. It comes with a little GUI to manage the playlist which is Windows-only. The person in charge of the lobby display recently switched to a Mac and I decided I’d rather write a script than fight with a Windows VM.

The NMT is just an embedded linux box which you connect to via ftp. This is a bit clunky but it’s good enough …

--I grabbed the playlist text from the NMT's own playlist file; not sure what the extra parameters mean. Probably fade & duration & such. For now I'm just copying it blindly.
set theString to "|file:///opt/sybhttpd/localhost.drives/USB_DRIVE_DSS/dss/media/"
set thePlaylist to ""
set myImages to (choose file with prompt "Choose one or more media files" with multiple selections allowed)
repeat with e in myImages
	set theName to name of (info for e)
	set thePlaylist to thePlaylist & "5|4|" & theName & theString & theName & "|" & return
end repeat
--make a blank playlist file if needed
if not (exists file "pls.dss" of documents folder) then
	do shell script "touch ~/Documents/pls.dss"
end if
set theFile to (((path to documents folder) as string) & "pls.dss") as file specification
	close access theFile
end try

open for access theFile with write permission
if button returned of (display dialog "Do you want to append these files to the existing playlist, or create a new playlist?" buttons {"Append", "Create New"} default button 1) = "Create New" then
	set eof of theFile to 0
end if
write (thePlaylist) to theFile starting at eof
close access theFile

--upload the images to the image directory
--don't forget to edit the username, password, and IP address/url of your NMT
repeat with p in myImages
	do shell script "curl -T " & quoted form of (POSIX path of p) & " -u username:password ftp://IP-address-of-my-NMT/dss/media/" & quoted form of (name of (info for p))
end repeat
--upload the playlist file
do shell script "curl -T ~/Documents/pls.dss -u username:password ftp://IP-address-of-my-NMT/dss/config/pls.dss"