#!/usr/bin/perl #---------------------------------------------------------- # # @APPLE_LICENSE_HEADER_START@ # # # Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. # # This file contains Original Code and/or Modifications of Original Code # as defined in and that are subject to the Apple Public Source License # Version 2.0 (the 'License'). You may not use this file except in # compliance with the License. Please obtain a copy of the License at # http://www.opensource.apple.com/apsl/ and read it before using this # file. # # The Original Code and all software distributed under the License are # distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER # EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, # INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. # Please see the License for the specific language governing rights and # limitations under the License. # # @APPLE_LICENSE_HEADER_END@ # #--------------------------------------------------------- # playlist-lib.pl # Common functions for handling playlist broadcaster files package playlistlib; # FixFileGroup(theFile) # On Mac OS X, attempt to switch the group of the file to admin. sub FixFileGroup { if ($^O eq 'darwin') { my $filename = $_[0]; my $gid; if ((-e $filename) && ($gid = getgrnam('admin'))) { my @fileStats = stat($filename); my $uid = $fileStats[4]; chown $uid, $gid, $filename; } } } # ------------------------------------------------- # GetGenreOptions($selectedItemName, $defaultItem, \@genreArrayRef) # # Encode a playlist name into our internal format. # # returns encoded name. # ------------------------------------------------- sub GetGenreOptions { my $selectedItemName = $_[0]; my $defaultItem = $_[1]; my $genreArrayRef = $_[2]; my @genreArray = @$genreArrayRef; my $str = ''; my $item = ''; foreach $item (@genreArray) { $str .= "\t\t