REVISION HISTORY -------- ARSuite 3.6.5 ------------------------------------------------ (arserver 3.6.5) - New "playnow" command and bug fix for target time reordering of playlist items after expansion. - Fixed a database query clean up bug that would cause a arserver crash if the query takes a very long time and the database server closes the connection prior to cleanup. (ARStudio 3.6.5) - Updated to handle new status flag for new "playnow" function of arserver. (ARManager 3.6.5) - Added Cuesheet file format (used by mix-cloud) to playlist export options. - Disabled automatic Dicsogs database (API changes no longer work with ARSuite) search for bulk added files. -------- ARSuite 3.6.3 ------------------------------------------------ (general) - Modified package installer script to correct a bug preventing installation on OSX 10.11 - Modified the default startup scripts to set client_players_visible to 8, preventing the two extra default players that are allocated for being used for automation. They are to be "invisible" for auxiliary use. (arserver 3.6.3) - Fixed a socket leak in the Modbus connection code which caused the connection socket to not get closed when there is a connection error. Instead a new connection was created to try again with out releasing the old connection. (ARStudio 3.6.3) - Modified control surface code to now use Mackie HUI protocol. If you are using a control surface, you will need to change your control suffice to HUI emulation after upgrading. (ARManager 3.6.2) - Unknow bug fix that I don't recall. -------- ARSuite 3.6.2 ------------------------------------------------ (general) - Modified package installer script to correct a bug preventing installation on OSX 10.10 (arserver 3.6.2) - Silence timeout now first tries to "segall," then after silence timeout a second time will restart arserver. -------- ARSuite 3.6.1 ------------------------------------------------ (general) - Modified database Logs-> Added column functionality: Bit 0 = added Bit 1 = NoLog Bit 2 = NoPost A track that has played with the NoPost property set would have a Added column value of decimal 4. A track that was added to the playlist, but did not yet play with NoLog property would would have a Added column value of decimal 3. (arserver 3.6.1) - Updated database code for new interpretations of Logs->Added column (see above) - Modified TargetTime reordering algorithm such that target time errors are now weighted by items' priority when considering if items should be swapped in the queue to better meet target time requirements. Previously, the time error of only the highest item was considered, such that low priority items could end up way off time, or stuck behind a higher priority item. (ARManager 3.6.1) - Updated database code for new interpretations of Logs->Added column (see above) - Updated Discogs query to match discogs API changes. (ARStudio 3.6.1) - Updated database code for new interpretations of Logs->Added column (see above) -------- ARSuite 3.5.7 ------------------------------------------------ (general) - Fixed a MySQL database initialization script incompatibility with MySQL 5.6, involving Text index size restrictions that MySQL introduced in the 5.6 release. (arserver 3.5.7) - Library item custom property bug: Fixed a bug where only one of multiple custom properties would fall through to item metadata in arserver and override other settings of the same name. - Added NoPost custom properly to prevent an item from being posted to encoders/recorders. Item is still entered into the Program Log. - NoLog custom property now excluded posting to encoders/recorders as well as preventing it's entry into the Program Log. -------- ARSuite 3.5.4 ------------------------------------------------ (arserver 3.5.4) - Fixed a target-time re-ordering bug which prevented re-ordering in one direction. (ARManager 3.5.3) - Fixed a Database Error Window bug: accidental window release on close caused next error to window to crash after it was closed initially. (general) - built new mysql libdbi driver for MySQL support through v5.6 (installer script) - Added installation support for OS X 10.9 -------- ARSuite 3.5.3 ------------------------------------------------ (arserver 3.5.3) - Bug fix on pthread cancelation of tasks causing wrong thread to cancel. - RSP encoder bug fix: prevented "content" repeat metadata mID of zero, which is interpreted according the RSP spec as a non-repeat item. (installer script) - Added installation support for OS X 10.9 -------- ARSuite 3.5.2 ------------------------------------------------ (arserver 3.5.2) - Bug fix on the execute shell command that was introduced in the previous version. (ARManager 3.5.2) - Bug fix crash on initialization of a new database and discogs queries, again, both bugs introduced in the previous version only. -------- ARSuite 3.5.1 ------------------------------------------------ (general) - New libdbi version 0.9 implemented with thread-safe libdbi session instances and per-thread database connections. This resolves several thread related memory leaks and stability problems. - ARServer, ARManager and ARStudio are now 64 bit applications. (arserver 3.5.1) - new "external" command: Executes (via fork and exec) the specified unix shell command, file or script with the forked process stdin and stdout streams attached to a new arserver control session allowing the executed program to control arserver. The usual arserver control session command prompt "ars>" will have a new line character added to the end to allow for easy shell scripting where stdin line reading is used. Control will not be returned to the issuing session until the forked process is complete. This command may be useful if used along with the "task" command so it will run as a background task instead of taking over the issuing control session. - new "task" command: Runs the specified arserver command as a background task, independent of the control session that issued this command. The task will appear in the task list with the specified name (no spaces) and will run until the command is completed or until timeout seconds has elapsed. If timeout is zero, then the task will run until the command is completed. - Fixed URL encoding bug in folder pick code: file name spaces and such are now handled properly (ARManager 3.5.1) - Browser now lists added dates descending. - QuickTime code in the previous version of ARManager for audio file meta data extraction has been replaced by CoreAudio code. (ARStudio 3.5.1) - Stash window size/location now saved when application quits. - Browser now lists added dates descending. -------- ARSuite 3.4.5 ------------------------------------------------ (general) - Now instals and runs on OS X 10.8. I assume it's fine on OS X 10.7 too, but it's only been tested on 10.6 and a clean 10.8 install. (arserver 3.4.5) - total re-write of the target-time item-reordering system. Items with a metadata property "Together" set to the same string value will be kept together in the playlist regardless of target times. This can keep station IDs and such from landing in the middle of playlist items you want to stay together. Split items and child items inherit the new Together property from parent items (tasks, playlists, etc) - All library items with custom properties: custom properties now fall through to item metadata in arserver and override other settings of the same name. - new "waitseg" command - new "fadeprior" command - new "jsonpost" command - new "logrotate" command - IAX remote-feed: bound latency between limits instead of allowing it to accumulate during network outages. (ARStudio 3.4.5) - Some bug fixes and changes related to OS X 10.8 compatibility - IAX remote-feed: bound latency between limits instead of allowing it to accumulate during network outages. (ARManager 3.4.5) - Some bug fixes and changes related to OS X 10.8 compatibility -------- ARSuite 3.4.1 ------------------------------------------------ (general) - New database version (2.8) with minor modification to ar_logs table to add an optional column for the parent item ID (parentID) that added a logged item to the playlist. Previously, only the name of the Parent was saved. (arserver 3.4.1) - Fixed a major multi-threaded bug with the handling of simultaneous errors in control sessions. - Item logging now saved the Parent ID as well as the parent name of items that were placed in the playlist via a task, automation, etc. - New MODBUS relay network interface to replace NMC protocol for machine control. Note that NMC is still supported for now. * new modbusset command sends a modbus/TCP coil on command to a modbus interface. * new modbusclear command sends a modbus/TCP coil off command to a modbus interface. * new modbuspoll command creates a non-expiring task that runs in the background to pool a modbus device's digital input. When the polling discovers that the input has changes state, the specified configuration file (found in the directory specified by the new system setting file_trigger_dir) with either .on or .off appended to the file name to representing the input's new state is executed. - added a mute bus and input config file triggers similar to modbuspoll. Again, the new system setting file_trigger_dir specifies a directory to look in for configuration files that are executed when a mute bus or input is started or stopped: files, if present, are named cue, muteA, muteB, and muteC along with input names having .start or .stop appended. The configuration files could have a modbus command to trigger a relay for example. - updated add command to support a position of -2 representing next in the playlist. - new uadd command (unique add) to add item to the playlist if it isn't already there. - new getmeta command to search for items with certain properties and values - new segall command forces ALL playing items to fade and the next non-playling item in the playlist to start. - new inuid command returns the UID of the named input if it is currently loaded in a player or is in the playlist queue. - metadata TargetTime property value of -1 will now cause an item to be held in the next position of the playlist. - new metadata def_bus property value to request/override the default bus assignments when an item is loaded into a player. This property is also inherited from a parent item. (ARStudio 3.4.1) - Compatibility with the ARServer multi-treaded bug fix mentioned above. - Added a UI for rsp stream encoder settings. (ARManager 3.4.1) - Added a UI to set the file location associated with a file type item. This also allows ARSuite to handle NULL file type items: placeholder items which do not have files associated with them. -------- ARSuite 3.3.3 ------------------------------------------------ (general) None (arserver 3.3.2) - Added rsp (resilient streaming protocol) stream encoder. This is an new, experimental, transmit-only high reliability streaming protocol capable of multi-cast transmission. No UI support for it yet in ARStudio or documentation. This protocol is currently being used for studio to server distribution at mountainchill.com. (ARStudio 3.3.3) - UI beg fixed: ServerSettings Input and output group visibility inconsistent - NIB file object association corrected (ARManager 3.3.2) None -------- ARSuite 3.3.2 ------------------------------------------------ (general) None (arserver 3.3.2) - AAC Recorder bug fix: AAC file recorder write queue under high CPU load could get behind causing the recorder to crash. - OS X Native AAC (AAC-LC) and AACplus (AAC-HE) codecs for shoutcast encoder added. - Added interface and commands to allow a custom codec to be used with shoutcast encoder. - Live Input stack initialization bug fixed - Periodic gain jump to infinity on live input load. - Added option to - Added "db_include_loc" property, as a comma separated location ID list, to setting to allow automation to consider the logs of other library location as well as the current location when choosing items to play. - Added query macto "[loc-ids]" in support of the above. - Fixed table name capitalization error: created a problem with case sensitive MySQL database implementations. (ARStudio 3.3.2) - Server settings UI fixed to prevent editing an unselected input or output group. - Fixed remote feed occasional initialization bug: stack variable not cleared. (ARManager 3.3.2) - Fixed a bug that prevented categories from being deleted. -------- ARSuite 3.3.1 ------------------------------------------------ (general) - Bug found in file Hash algorithm: only the first byte in each 4K hashing block was being used for the calculation. This bug has been corrected across all ARSuite components. Please use the ARServer "dbsync" function to update existing libraries. (arserver 3.3.1) - File Hash bug fix. - AudioUnit channel support interrogation now parsed correctly. - Mono recording/stream encoding was broken in previous versionÉ now fixed. - Previously, only first schedule insert item had it's target time set when multiple items were inserted, now they all do. - High priority item forced load now performed with a flag instead of zeroing the standby time. This prevents possible loading of items AFTER the high priority item. - Level based segue is now ignored if an ending item has a segout time set or a starting item has a segin time set. - New "def_seglevel" settings: When set (non-zero), will hold off a segue until the playing items level drops below the setting level. - AudioUnit support for mono to stereo effects. Mixes down to mono when an AU effect supports only one channel input. - Added support for AAC+ shoutcast encoding (via aacplusenc commandline encoder). - Modified fill automation allowing an item to specify the "fill duration" during which time it will supersede other items scheduled to fill with lower priorities. (ARStudio 3.3.1) - File Hash bug fix. - Event queue now uses coalescing to prevent duplicate control session messages from being passed between ARStudio and ARServer. This makes certain message intensive function, like playlist expansion must more responsive on the user interface. (ARManager 3.3.1) - File Hash bug fix. - Fixed a cut/copy/paste bug in the playlist editor -------- ARSuite 3.2.4 ------------------------------------------------ (general) - New database version (2.7) with minor modification to ar_schedule table allowing Fill column to handle a value from 0 - 1440, in support of new schedule fill properties. Previously, this was a 0 or 1 flag used to indicate if the item was a fill item or now. Now, if it is a fill item, it specifies the time (in minutes) to supersede other fill items of lesser priority. A value of 1 (minute) will behave similar to previous versions, so no changes need to be made to existing schedules. (arserver 3.2.3) - New "def_seglevel" settings: When set (non-zero), will hold off a segue until the playing items level drops below the setting level. - AudioUnit support for mono to stereo effects. Mixes down to mono when an AU effect supports only one channel input. - Added support for AAC+ shoutcast encoding (via aacplusenc commandline encoder). - Modified fill automation allowing an item to specify the "fill duration" during which time it will supersede other items scheduled to fill with lower priorities. (ARStudio 3.2.2) - User interface added for setting the new arserver def_seglevel setting. - Recorder user interface added for AAC+ shoutcast encoding options. (ARManager 3.2.4) - Modified schedule viewer to properly display fill schedule considering the new "fill duration" schedule priority. - Fixed a bug that prevented audio files re-added to the library via the import panel from updating the file path to the new location. -------- ARSuite 3.2.3 ------------------------------------------------ (ARManager 3.2.3) - Bug fix: re-importing a moved file and selection update file location for duplicated items now actually updates the file location -------- ARSuite 3.2.2 ------------------------------------------------ (arserver 3.2.2) - Bug fix for library logs - no longer corrupting ArtistID and AlbumID on entries due to type casting problem. (ARManager 3.2.2) - New playlist item editor User Interface: consistent with Program Log and ARStudio Queue interface. - Item editor now includes user interface for "resting" an item from automation. - New single window for database error messages. - Compiled for Intel 32 bit addressing and new reentrant libdbi library. -------- ARSuite 3.2.1 ------------------------------------------------ (general) - New revision numbering: any components with the same first and second digit revision numbers will work together from this point forward. - ARSuite no longer supports OS X 10.5: Only OS X 10.6 is supported, sorry, it just too much work for one person. - New database version (2.6) no longer uses file FileID (inode) column and file MD5 column; replaced by new file Hash column; old library upgrade required! - Adds a new Rest table, for "resting" items (excluding) from category picks by location. No UI created for this yet. (arserver 3.2.1) - Rest table support, for "resting" items (excluding) from category picks by location. - New "dbfilesearch" command for traversing volume trees to look for missing/moved files. - New library file Hash identifier support to replace old inode/MD5 approach which no longer works with OS X 10.6. (ARStudio 3.2.1) - Compiled for Intel 32 bit addressing and new reentrant libdbi library. - New file Hash identifier support to replace old inode/MD5 approach which no longer works with OS X 10.6. - Several stability big fixes. (ARManager 3.2.1) - New library file Hash identifier support to replace old inode/MD5 approach which no longer works with OS X 10.6. - Fixed playlist bug where adding a file playlist to a database playlist failed. -------- ARSuite 3.0.0 ------------------------------------------------ (general) - Updated installer script for OS 10.5 through 10.6 only support. OS 10.4 or ealier is no longer supported - Recompiled, and relocated in the arserver directory, libdbi library components for Intel (FAT 32/64 bit addressing) and linked agains libmysqlclient re-entrant library - Old libdbi libraries still kept until ARStudio and ARManager can be recompiled (arserver 2.0.0) - Compiled for Intel 32 bit addressing. Tested to compile in 64 bit addressing too, but sticking with 32 bit for release - Fix all (more than I can count) OS 10.6 incompatibilities. - elimintade inode file location ability... OS 10.6 no longer supports it. This will get re-writen at some point in the future. - new Varispeed phase lock loop used for all device syncronization: AIX player, Input Player, Slave Output Devices. - Remote Feed auxillary channel for cue monitoring and talkback to the studio implemented. - Eliminated all QuickTime API usage. All audio file playing and recording now handles by CoreAudio ExtAudioFile API. - Reworked launching algorithm to deal with some new OS related bugs. - Corrected endian handling for floating point notification packets. (ARStudio and ARManager unchanged) -------- ARSuite 2.9.6 ------------------------------------------------ (general) - Installer check OS version to perform the proper user/group creation method. - For OS 10.5 only, a new version of the libdbi library and mysql driver is installed which properly supports database access in concurrent threads. (arserver 1.9.6) - Fixed countless, major, OS 10.5 incompatibilities. - Fixed handling of audio devices that have UID names with spaces and tabs. - Fixed (recompiled apple script) ServerStartup Enable and Disable scripts. - added m4a (AAC) audio file recording capability. - Reworked IAX VoIP system: can now require authentication to accept calls - Reworked IAX VoIP system: added supports AAC coded for high quality mono and stereo VoIP feeds. (NOTE: VoIP is now broken under OS 10.4: Sorry, I have no plans to fix it) - Fixed a URL text encoding problem that caused files with non-ascii text in their file path to not load. - Fixed a bug where the default player bus settings were ignored with Monitor and Main always being used. (ARStudio 3.1.1) - OS 10.5 compatibility related bug fixes - Uses database mount, MD5, and inode properties to find file URLs when copying/draging between applications. - Added arserver m4a file recording User Interface - Added a "Stash" window to locally store (drop/paste) items you browse across and want to put (cut/copy/drag) in the playlist queue or a play later. - Fixed an Effects window bug: Selecting a new effects stack now clears the old control from the window as soon as the new stack is selected. - Added UI for ARServer VoIP authentication settings - Added a "Remote Feed" window and VoIP subsystem to "call-in" to an ARServer instance via a network connection with bi-direction, high quality, mono or stereo AAC encoded. The connection can be either via the IAX protocol, or via a tunnel (to get through firewalls) through the existing ARStudio to ARServer control connection. (ARManager 3.1.1) - OS 10.5 compatibility related bug fixes - Uses database mount, MD5, and inode properties to find file URLs when copying/draging between applications. -------- ARSuite 2.9.4-5 ---------------------------------------------- Unreleased development versions - mostly OS 10.5 compatibility fixes -------- ARSuite 2.9.3 ------------------------------------------------ (arserver 1.9.3) - Major low-level changes in support of AudioUnit effects related to GUI support in ARStudio and fixed problems found while testing. - Added system processor load metering for use in the ARStudio Effects GUI. - Reworked player lock system such that each player has it's own lock allowing for more responsive realtime player control. - Fixed a "savein" and "saveout" command bug which caused a crash when the in/out name field of the command was blank. This bug revealed itself in ARStudio when saving and renaming a newly created input or output group in a single step. - Added support for reading .m3u and .pls formated play list files to the existing AudioRack native .fpl file format - changed the default core mixer buffer size from 1024 to 512 samples... more than 512 samples causes problems with some with some audio hardware when the core mixer is running at less than 96 ksps. You can use the -d pre-config option in your startup.conf file if you would like to make the buffer size different from the default. (ARStudio 3.0b8) - Added a user interface for AudioUnit effects. - Fixed an initialization bug that caused a startup crash under OS X 10.5 - Made automatic connection to last used arserver and option at startup. - Second arserver session connection implemented for non-blocking player commands: more responsive realtime player control for things like control surface faders, starting, stopping, etc. (ARManager 3.0b4) - Added support for importing .m3u, .pls, and iTunes .xml formated play list files to the existing AudioRack native .fpl file format - Fixed an initialization bug that caused a startup crash under OS X 10.5 -------- ARSuite 2.8.2 ------------------------------------------------ (arserver 1.8.2) - Finished and tested support AudioUnit effects. There is no GUI support for this yet in ARStudio; AU effects must be manipulated through an arserver control session (The Console in ARStudio). See the new AudioUnit section at the end of the arserver commands in the appendix of ARGuide documentation, or by typing "help" for a command list in an arserver control session. - Re-worked the recorder/stream encoder for AU support and to fix a mp3 stream lockup bug. - Fixed a long standing, but previously unknown stream encoder bug where two encoders running at the same time interfere with each other. - Fixed a bug that caused an entire rotation to be added to the automation queue where a certain database error is encountered, rather than adding item from the rotation one at a time as needed. (ARStudio 3.0b7) - Fixed a MAJOR bug that prevented the arserver settings panel from editing arserver outputs properly. - Fixed a bug that caused ARStudio to crash when items are dragged out of a Program Log. - Fixed a minor Browser search field bug. (ARManager 3.0b3) - Added the "File Location Syncronize" tool. This is a user friendly, GUI based version of the dbSync command taht used to be available only in an arserver session. - Fixed a Item Save bug that set an empty script to "0" instead of being empty. -------- ARSuite 2.8.1 ------------------------------------------------ (arserver 1.8.1) - Started adding code to support AudioUnit effects, although it's undocumented and incomplete at this point - Added a OID (output ID) property to output distributers in support of the above - Modified UID generation limiting it to the lower 24 bits of a 32 bit intenger, again in support of AudioUnit code - Added mount list searching to the URL portion of the Library file location algorithm. - Fixed ID3 tag reader to handle UTF16 encoded strings (ARStudio 3.0b5) - Fixed a recorder bug where mp3 sample rate other than 44.1ksps were ignored - Modified the arserver interaction code to handle the OID property added to support AudioUnits (ARManager 3.0b2) - Added the ability to set custom properties to albums, artists and categories as well as items. -------- ARSuite 2.8.0 ------------------------------------------------ (database structure) - Now uses innoDB MySQL table types for ACID compliant (transaction safe)editing of the database. This ensured that if data entry or modifications can not be partially completed - either all data is added/modified or the original data is left unchanged. - Added a added date field to the category_item tables to stamp when an item was added to a category. - Added some new, useful saved queries to the default list. - moved the file_mount_list property from arserver into the database info table so ARManager can access/use the same settings as arserver. (arserver 1.8.0) - Forced all category, folder picks to use the ar_logs_time index: faster - Fixed folder pick crash (GetFileMetaData() -> SetMetaData() -- NULL error??) - Add expand command to expand a playlist - file:/// no longer resolve Fingerprint and MountList if the file is in the database too - crashes when no database is available - Store recorder default directory in settings - dbinit now checks for [!loc-id] and [!prefix] converting them into [loc-id] and [prefix] rather than expanding them - Changed watchdog timer: now lives in launcher fork and uses "kill(child, SIGKILL)" - time-out items no longer remain in metalist blocking automation filling. - Added Silence watch-dog timer - Change MD5 file ID algorithm so silence at start doesn't create duplicate (non-unique) signatures. Note: old library databases should have dbsync run on them to update the MD5 signatures. (ARStudio 3.0b5) - Fixed null appendString (trapped) for Name property on listManager - Fixed memory leak (on player deallocation) - Prevented sending of duplicate queued commands - Fixed Hangs (with 1MB/second memory increase) on GetInfo from List's history - Fixed Queue time non-zero for empty queue. - Fixed Browser item property loading thread has no autorelease pool in place! - Fixed History and Log drop is ignoring ID. - Fixed drag-in/paste-in to cueue: check Fingerprint NOT db name - Recall recorder default director from arserver settings - add UI to auto_live_timeout arserver setting - Add checkbox option to start arserver if server is local - Fixed PlayerFade/hang nib deallocate (ARManager 3.0b1) - First stable beta release: no known bugs that would corrupt library data, etc. - Several planned management functions have not yet been implemented, nor the use of databases other than MySQL. -------- ARSuite 2.7.8 ------------------------------------------------ (arserver 1.7.8) - Added expand command to expand a playlist - Added restart command - Multiprocessor crash fixed - Recorder playlists were logging items ahead of time record start bug fixed - Manager won't insert new fills when a finished item is at the top of the list fixed - Change StartupItems disable by renaming arserver file to .arserver - rmutex locked & recorder stop sending... although timer keeps running bug fixed - Added iaxstream undocumented command for tunneling upd IAX packets through an arserver tcp control session (SSH tunnel too if used)... this is a step towards adding live feed capability to ARStudio. Check out IAXtunnel project for an experimental application to redirect on the remote end. (ARStudio 3.0b4) - sync tasks broken into segments - Added Server Log view - Hangs on arserver change some times when using SSH bug fixed - Log not always clearing on arserver change bug fixed - SSH tunnel closes after each SQL query connection close bug fixed - Slow load of item properties bug fixed - Added delay control window - Added script views - Added Browser history - server-sync and triggered updates in thread off of main - Copy & drag from library crashes on remote with SSH only bug fixed - Input settings: not saving Mute Group Checks bug fixed - Recorder set up time limit and bus set incorrectly bug fixed - Can't uncheck output channel selection (input too) bug fixed - Control surface faders slam down bug fixed - Not remembering if the Queue and Browser window is hidden bug fixed - Database change: Item Properties and Categories doesn't clear bug fixed - Server Prefs: Output and Input delete button doesn't work bug fixed - Why no sync right after connection bug fixed -------- ARSuite 2.7.6 ------------------------------------------------ (arserver 1.7.6) - New VU meter system: more network efficient with recorder meter support. - VoIP player crashes on reload fixed. - VoIP player meters stuck when stopped fixed. - Volume range in MIDI doesn't match actual value fixed. - "Playlist Start" log error fixed. - Added "lock/unlock" to recoders to prevent user changes. - Added optional script execution via "sys_log_script" setting to running an external program when ever item starts playing. - Added "file_mount_list" setting to specify multiple places to look for disk mounts when doing a file search. Added /Networks/ to the default search path. - "daemon" mode now works with StartupItem support to run arserver outside of a user account at system boot time. (ARStudio 3.0b3) - Hour colon missing on some timer displays fixed. - SSH tunnel lockup fixed. - Cue reload/sequencing bug fixed in Library Browser. - SSH tunnel now handles "localhost" for server MySQL setting. - Added recorder/stream encoder interface with VU meters. - Added Program Log viewer with drag and drop functionality. - Added "Target Time" to viewable queue item properties. -------- ARSuite 2.7.5 ------------------------------------------------ - ARSuite now uses the new 0.8.2 release of libdbi and the libdbi MySQL driver library! This libdbi update has statically linked MySQL drivers, so the MySQL client libraries are no longer needed and will not be installed. There are also a bunch of bug fixes by the libdbi team, and it works fine with MyQSL 5.x! - I have included a second beta of the new Cocoa/Objective-C based user interface: ARStudio3.0 beta 2. The installer places it in the Application folder along with the AudioRack2.7.4. This new UI has fully implemented the playlist control with drag/drop/cut/copy/paste/run/automation/timer ability, new library browsing, playlist saving, and midi control surface support, and in this beta most of the mixer functions, including vu metering. You can also edit song information by double clicking items in the queue or in the mixer. Editing will effect how the item lists in the log and stream tags, but does not change the items information in the library or file meta data. I also added the ability for connections to a remote arserver to be tunneled via an SSH gateway. This allows you to use an SSH account on a machine that is accessible through a firewall to bridge both the arserver connection and the database connection through the firewall with encryption. For this to work, the SSH account must be able to see both arserver and the database, and the database settings on arserver must be set up such that the settings result in a reachable database connection from the SSH account: Don't use "localhost" as the database host address unless the SSH account, arserver, and the database server are all running on the same machine. I have not yet added support for the broadcast delay, recorders, logs, and such but this is a work in progress! I would appreciate any feed back on the user interface as it is a bit different and recommendations from users are easier to implement now that later once I get further along on the porting. (See my email address at the end of this file.) - More changes to arserver's notification system in support of SSH tunneling: all notices are not multiplexed into the TCP/IP control connection stream. - arserver can now have the player count and output bus count set at run time via -i (matrix stereo input count) and -o (matrix stereo output count) parameters or in the pre-configuration section of the starup config file again using -i and -o flags... this used to be set at compile time. - Fixed a few more memory areas that needed to be mlocked that I had missed previously - helps eliminate virtual memory related audio drop-outs. -------- ARSuite 2.7.4 ------------------------------------------------ - I have included a beta of the new Cocoa/Objective-C based user interface: ARStudio3.0 beta 1. The installer places it in the Application folder along with the AudioRack2.7.2. This new UI has fully implemented the playlist control with drag/drop/cut/copy/paste/run/automation/timer ability, new library browsing, playlist saving, and midi control surface support. I have not yet added support for the mixer, broadcast delay, recorders, logs, and such but this is a work in progress! I would appreciate any feed back on the user interface as it is a bit different and recommendations from users are easier to implement now that later once I get further along on the porting. (See my email address at the end of this file.) - More changes to arserver's notification system in support of the above. - added endian checking to arserver in expectation of getting a universal binary version out soon. - Fixed a bug in AudioRack which prevented playlists from being edited. -------- AudioRack 2.7.2 ------------------------------------------------ - Added "event notification" for deleted items in support of a new client application. - Fix handling of "Bad playlist data" to prevent crashing. - Fixed a Firewire audio interface slave synchronization problem. - Added an "attach" command: same as execute, only i/o is directed to the tcp control port that issued the command. - split command child now inherits priority level from parent. - Shoutcast encoder now check for connection prior to posting track information. - arserver command type task now accepts multiple commands separated by CR. - Request table now has ID field and index for faster queries. - Located another multi-processor support bug: this time in Apple's CoreAudio DeferredRender AudioUnit. A bug report had been filed with Apple, and until it is resolved, multi-processor support for audio rendering has been disabled. -------- AudioRack 2.7.1 ------------------------------------------------ - Added "event notification" support for input and output VU meters in support of a new client application. - Fixed a bug where closing a recorder that is waiting for a timed start causes arserver to hang. - Added support for dividing the audio mixing workload across multiple processors, if available, on a player by player basis using Apples Deferred Render AuadioUnit - previously, mixing would only make use one processor. This feature is only enabled if more than one processor is detected on the host computer. - Added GUI for setting up the IAX telephone. - Fixed a bug causing IAX telephone callers to only be in the left channel. - Fixed a "double memory free" that _sometimes_ caused a folder pick to fail. - Fixed the outnames and innames functions for getting audio device channel names if the device supports it. AudioRack now uses these names in the arserver input and output settings panel if an device makes them available. - Fixed the problem where you had to wait a minute after shutting down for the control port to clear before that port could be reused by running arserver again. -------- AudioRack 2.7.0 ------------------------------------------------ - arserver no longer crashes if you try to access a file on disk that is not mounted (if you forgot to mount your remote audio disk for example) and then mount the disk and try to access it again. - Bug fixed where AudioRack would sometimes hang after launching arserver (parent would not always disconnect after arserver forks). - Added a "Re-run last played" option for folder pick tasks - Added AudioRack GUI options to force joint-stereo, and normal-stereo encoding for MPEG 1 - layer 3 recording and streaming. - Scheduling behavior change: Priority > 5 will now override other scheduled items of a lesser priority, not just get scheduled to play ahead of them. - Bug fixed where split items (used internally to replace a pick-task in the playlist with the actual picked item) would lose fade-out times. - Bug fixed where opening database playlist tasks would no get deleted from the task list when finished. - New Notify event system implemented in preparation for developing a new GUI client. Notify events now include changes in meta-data, recorder status, playlist items, etc. This eliminated the need for a client application to poll arserver for status changes of any kind. Instead, arserver will notify client when a change has been made and the client can then request request updated information via new 'pstat', 'rstat', or stat commands. The old polling approach is processor and network expensive! The old 'status' command has been kept for backward compatibility with the existing AudioRack GUI. - Re-wrote the MidiClient control surface program to make use of the new arserver notification events. I expect this program to evolve into a new GUI. - Added new 'segnow' command which forces the currently playing playlist item to fade out and the next playlist item to start playing. - New IAX VoIP player. This adds a multi-line VoIP phone system to arserver for placing callers, interviewing phone guests, and remote events on the air. The IAX phone player includes an automatic mix-minus feed back to the caller from any of the arserver output busses. See the 'Telephone' readme file for details. - Created a nifty little EAS Logger program to meet FCC (in the U.S.A.) requirements for logging Emergency Alert System tests and event. This program logs EAS events received from an EAS system through a serial port into the AudioRack logs. - Discover why I can't compile as a universal binary: libdbi library needs to be universal binary too. Since libdbi is not an Xcode project, this could be a bit more work then I want to take on, so Intel Mac folks will have to run audiorack in emulation, which I hear works fine, until I get an Intel Mac. -------- AudioRack 2.6.3 ------------------------------------------------ - Added a new option to folder picks allowing sequential pick's to start over again when they reach the last file in the folder. - Fixed a few small UI mistakes (labels in the wrong place) in AudioRack. -------- AudioRack 2.6.2 ------------------------------------------------ - Fixed a bug where SOME audio input devices would SOMETIMES return a negative sample time number the first time they pass sample to arserver. This would crash arserver. I now check and handle negative numbers accordingly. - Added associated play list support back in and created an option for recorders to create the associated play list as they record to files. Associated play lists are file play list that go along with an audio file (audiofile.mp3.fpl for example) such that arserver will log all the songs that were played in the audio file as they play. - Added Fill Spillover schedule deletion: If, due to a user stopping the play list for example, items are filled past the end of there fill time, they will be deleted and replaced with fill items from the correct rotation for the time. - Added direct monitor support and a UI to set it up for audio devices that support it. Note- This has not been tested since I don't have any such devices, but as soon as I get one it SHOULD work... And I want one really bad for zero latency mic monitoring in headphones! This feature should be used with the monitor mix minus feature such that the device is set up for direct monitoring if the desired input to the headphone output and the headphone output is set up to mix-minus the desired input from it's mix. arserver would then pull just that input from the headphone output and let the device itself mix it in via direct monitoring. -------- AudioRack 2.6.1 ------------------------------------------------ - Redesigned the mixer system: no longer using CoreAudio's MatrixMixer, allows for mix-minus and runs about 40% faster than previously! - Added "Pass-through" mixer mode where player outputs are pass directly through the mixer to a corresponding output bus. - Added independent Monitor Mix-minus of any/all inputs for each output definition - used to remove any line inputs from a particular outputs monitor mix with out effecting the monitor mix as a whole. - Added support for reading ANY file meta-data (mp3, mp4, m4u, aif, etc.) supported by QuickTime 7 using the new QT7 metadata API. - Redesigned the File Player engine to use the new QT7 audio extraction API: Breaks the old 64 ksps, 16 bit limit! - Added "Intro" time property to database and AudioRack, with associated MegaSeg import ability. - Fixed an mlock problem with the master mixer buffer... it now locks and won't drop out when memory gets tight. - Modified the handling of program logs in the database for more efficient storage size and less confusing structure. - Added a new "split" command to arserver allowing a task to add an item to the playlist while inheriting the tasks schedule properties. - Fixed an AudioRack TCP session connection to server timing bug that rendered it useless on some computers. - Fixed a few automation and schedule insert bugs. - Added an independent default seg-out time property for folder pick tasks, which can be set differently for each folder. - Changed the handling of mutes: now performed in outputs audio render thread. - Fix an input source recorder bug that some times would crash arserver due to turning on the input source prior to the render variables being fully initialized. If the source callback was just happened by chance to be called prior to finishing the initialization a crash would occur. -------- AudioRack 2.5.5 ------------------------------------------------ - Fixed another MegaSeg import bug which caused all the segue times to be off by 60x! - Fixed a bug where time scheduled items longer than 10 minutes would get faded. - Root user support still experimental! -------- AudioRack 2.5.4 ------------------------------------------------ - Fixed a mutex/lock bug that caused a weekly lockup... had to write my own locks since pthread rwlocks on OS X used write before read causing my deadlock problem. arserver is now stable and out of beta. - Attempting to switch to universal binary format (still only createin PPC code for some reason), and compiled with optimizations turned on for smaller/faster code. - Checks for a script file