1. A system for providing a multi-tier enterprise level application, the system comprising: a server centrally located at service provider having audio data comprising music and general advertising; a client player comprising a player, updater, client launcher and upgrader, wherein the player comprises an application that creates a schedule for playing and broadcasting advertisements and media files including announcements, selectively chooses media files to play and broadcast, plays media files and logs advertisements and media files that have been played and broadcast along with any errors that have occurred, wherein player communicates with the updater and invokes updater via system calls and wherein player also communicates with a player manager of a chain manager; wherein the client player further comprises player including a scheduler, a media playback landmark, an event log manager, a server, a volume fader, and a dynamic range compressor and expander wherein the scheduler selects a media file randomly from weighted genre specified in a playlist in the following manner: (1) genres are assigned a range of numbers between 1 and 100 reflecting their weight; (2) a random number, between 1 and 100, is generated to determine the genre that is selected and therefore result in the selection of a second genre, and (3) media files in a genre file marked as either “played” or “not played” and a random number between 1 in the number of files in the “not played” category is generated to determine the media file to be selected; wherein the scheduler is structured to ensure that no two media files of the same artist are played back to back by remembering the name of the artist of the last media file played and structured to randomly select another file from the “not played” list figuratively up to three times if random selection continues to select the same artist; and wherein the scheduler is structured to determine which advertisements need to be played wherein the determination is performed in the following manner: (1) the scheduler evenly spaces advertisements throughout the hour, assigning an exact playtime for each advertisement; (2) the scheduler determines if an advertisement needs to be played at the completion of each media file that is played and if one or more of the advertisement play times fall between the time of a current check and a last check, and (3) after a check has been completed, the scheduler records the time it performed the check as the “last check”; a client having local advertising data layer located at a store geographically separated from the server centrally located at service provider for use in providing a broadcast; an interface layer that selectively interacts with an audio data from the server centrally located at service provider and the audio data from the client to allow each local store to actively modify the data layer at the server centrally located at service provider to create a unique audio program consisting of customized music and customized general advertising, such that control over the audio program is experienced locally at the client and disseminated remotely from the server; a connection between the server centrally located the service provider and the client which requires authentication by a client program, wherein the centrally located server retrieves advertisements played information, viewing, scheduled advertisements, stopping scheduled advertisements for a period of time, logging errors, viewing and deleting log entries, getting and setting a volume level, viewing a list of media files that have played and when they played, skipping a currently playing media file, moving a media file to a different genre, deleting a media file, launching updater, starting player if player is listening for requests, stopping player to leave the player listening for requests, shutting down player so the player stops listening for requests, shutting down the client player when a reboot is desired and clearing the status of the player; an updater comprising an application that uploads advertisements played, music versions and software versions information to the client player wherein the updater is structured to receive new connection times from the central server, get new playlists from the central server and download any file preferences and playlists, wherein updater additionally comprises a structure to acquire connectivity information, upload advertisements-played information from player via a connection to central server, acquire new playlist information, get a list of advertisements for client player and determine which advertisements need to be downloaded, remove advertisements from client player that are not referenced in a current playlist, download advertisements through log on information, looping through advertisements to download, cleaning up advertisements inconsistencies to ensure the server knows which advertisements the client player has and to ensure the server information is consistent with the client information, updating the connection record, closing the connection and logging any errors that occur; a control center structured to create and maintain chain information, store information, group information, music configuration, user information, advertising category information, and structured to manage date and time sensitive music play lists for chains, groups and stores as well as overseeing user privileges and wherein control center is structured to create, edit and delete music configurations, advertising categories, a contact person or system user, store chains, store groups, stores, a default music playlist, and a date and time specific music play list and wherein control center further comprises the capability to set user privileges for system users, assign a contact person to a store chain, assign stores to store groups, set the number of times in store and revenue advertisements played in a store, set the volume level of a client player for a specific store, assign a contact person to a store, set connectivity information for a store and assign stores to a playlist; a scheduling center structured to manage in store contracts, revenue contracts, business contacts, advertisements, the scheduling of the advertisements to contracts, and wherein the scheduling center is structured to manage the life cycle of contracts and advertisements by creating, editing and submitting it for approval pending revenue and in store contracts, specifically the scheduling center specifies stores, dates, exclusivity, advertising categories and slots for contracts, resolving conflicts between contracts, approved contracts, activate contracts and manages sales contacts effectively creating, editing and deleting an advertisement play folder which includes information relating to a specific advertisement, uploading an advertisement file to a file server, moving an advertisement through an approval process, and managing advertising files on the file server and wherein the scheduling center is structured to schedule advertisements to contracts creating an advertising schedule for contracts, assigning dates, slots and stores, checks schedule for conflicts views an advertisement schedule for a contract and wherein the scheduling center determines when an advertising playlist is complete and structured to transmit complete playlists from the central server to one or more clients via an updater wherein the scheduling center is structured to make a determination as to whether or not an active contract has been obtained for a particular block of time and proceed to determine whether or not an active advertisement corresponding to the contract has been obtained; a report system structured to communicate with the client player and central server to provide reports including connectivity reports, scheduling reports, billing reports, advertising reports, sales reports, database sync reports; a music library manager structured to create and maintain media files and genre information, to upload media files to related genre files and assign music library versions in communication with client to player device and the central server; and a database sync tool structured to synchronize a chain store repository and data store wherein database synch is structured to update store information on the central server with information from chain databases.