v1.8.5 NOTES: 1. pc_ip.txt wasn't loading properly into jit.cellblock. Fixed it. 2. I modded Kora_demo to add a [buffer~ null 100] just as a placeholder to get rid of the harmless but annoying "no buffer null" errors at startup. ------------------------- v1.9.0 NOTES: 1. Implemented Bus-Matrix-->Bus Masters layer! 2. Control patch now sends fader info to/from vGroup 1 (hard-coded into vGroupFaders.maxpat, removed from SystemLevels.maxpat), instead of to/from System Output Level. This is a quick fix, will implement vGroup faders in tab on Client software. NOTE: for UCSD version, I kept it same as v1.8.5 ------------------------- v1.9.1 NOTES: 1. Improved sending method to audio pcs (was udp, now tcp) -modded AudioSwitcher_Server_1.9.1.maxpat -modded Subcue_Library.maxpat -created send_to_pc_ips.maxpat 2. modded Demo patches to receive tcp instead of udp ------------------------- v1.9.2 NOTES: 1. all meter~s now go down to -60dB (20 leds) 2. all config info now in one config.txt document, except cues and subcues, which have their own file each. ------------------------- v1.9.3 NOTES: 1. All cues and subcues posted to Max window (client and server) now have date and time. Next update will have a separate log window. ------------------------- v1.9.4 NOTES: 1. Server config file now contains two new lines of code that inform the clients on how many and which vGroup faders to build (see client.vGroups and client.vGroupNames in config.txt) 2. Client software now has two tabs (Cues and Levels). There is a dropdown menu with all available servers (modified vie the server_ip.txt file or via Settings-->Edit Server List in menubar). When you select a server, the client updates the server, and tells the server to eliminate it when it closes or when you deselect the server in the dropdown menu. When the server closes, the client windows goes blank as well. 3. Server Bus & Output Matrices now show active cells in different colors! 4. Added TCP, UDP, OSC-UDP receivers in Cue_Library.maxpat that allow 3rd party communication (also modified vGroupFaders.maxpat). All messages expected to be in OSC syntax (added OSC-route.mxo to lib folder). For now, only control of cues: - /cue or vGroups: - /vGroup/trim , /vGroup/level , /vGroup/mute <0 or 1>, /vGroup/solo <0 or 1> 3rd Party receiving ports: TCP: 16000 UDP: 16001 OSC-TCP: 16002 (not implemented yet, waiting for new external) OSC-UDP: 16003 ------------------------- v1.9.4.1 NOTES: 1. This is similar to #1 and #2 of v1.9.4, except most networking objects use jit.net.send/recv instead of mxj net.tcp.send/recv. THIS DOESN'T WORK. jit.net.recv can't receive tcp from two jit.net.send objects on different machines. So we'll go with v1.9.4. ------------------------- v1.9.5 NOTES: 1. The major change to this version is the way real input/output channels map onto logical input/output channels. Now the order that you write the real input/output channels in the appropriate line of the config file determines the logical input/output channel that the software will associate with that channel. So if I write '96' as the 3rd number in the list of output channels, I will refer to this as the output 3 in the software and it will appear 3rd in the Output Matrix and the Master Output window. Mousing over the label in the Output Master window will bring up a hint that reports the real output channel. This allows hardware changes potentially without messing up previously configured cues and subcues. 2. added channel & vGroup reference window, accessible via menubar, that shows relationship between logical and real inputs/outputs, and vGroups and their assignments. 3. added onStart: section of config file that enables/disables cue called on startup, determines delay before cue is called, and determines cue id to call. 4. replaced 3rd party [getpaths] with [absolutepath] for finding Webserver directory (saving config files for clients). 5. removed automated checking of cues.txt and subcues.txt files. Removed ability to edit these files from within the software. It's simpler to require editing of text files directly, then load them into software. When new file is loaded, Cue_Library and/or Subcue_Library updates appropriately. This is more efficient and simpler. 6. Updating pc_ip addresses while server running was broken (I think since the addition of comments in config.txt file). Fixed it. 7. added sa.tcp-osc.recv to 3rd party receiver subpatcher. ------------------------- v1.9.5.1 (UNUSED) NOTES: 1. Replaced all mxj tcp networking objects with udp objects (client as well) 2. Ports set to 7000s were changed to 17000s, ports set to 8000s were set to 17100s (server, client, and demos patches) ------------------------- v1.9.6 NOTES: 1. v1.9.5 encapsulated inside a poly~ with parallel processing enabled. 2. added Loading… message in main window while building app. During load, ezdac~ ignoreclick = 1, after load completion, ignoreclick = 0 and load message goes away. ------------------------- v1.9.7 NOTES: 1. improved config.txt and subcues.txt formatting. Now instead of writing 1 2 3 4 5, you can write 1-5. ------------------------- v1.9.8 NOTES: 1. improved network message sending method to secondary pcs. Now you create connection_ids, establishing the protocol, ip, and ports used. It's all done in subcues, rather than in the config.txt file. This allows for variable and flexible network setup while server is running (modeled after CueStation). Sending can happen via tcp, udp, osc-tcp, osc-udp. 2. Added Log file feature. Log file saved every 5 minutes while server running (beginning 2 minutes after load), and saved on close as well. Saved to AudioSwitcher_Server/Logs/AudioSwitcher_Server_Log__.txt ------------------------- v1.9.9 NOTES: 1. changed subcue syntax from create_connection_id to create_netSender, etc. 2. changed subcue sytax from 'wait' to 'delay' for inputs and outputs. 3. improved network message receiving method. Now you create netReceiver_ids, establishing protocol and ports, similar to netSender method. ------------------------- v2.0 NOTES: 1. added subcue syntax shortcuts for assigning levels, labels, mutes, matrices, etc. -ex. in level 1-10 -120 --> sets input 1-10 levels to -120dB -ex. matrix 1-10 1-10 0 --> sets bus 1 to out 1 0dB, bus 1 to out 2 0dB, etc… bus 10 to out 1 0dB, bus 10 to out 2 0dB, etc. -ex. matrix 1-10 1 0 --> sets buses 1 through 10 to out 1 0dB -ex. matrix 1-10d 1 0 --> sets buses diagonally starting at out 1 to 0dB 2. improved vGroup config behavior. You can now skip vGroup numbers and the software won't renumber for you. This way you can reserve certain vGroups for later use - minimizing adjustments that need to be made to other areas of config.txt ------------------------- v2.1 NOTES: 1. added delays on Bus Masters 2. added multicast protocol for netSender and netReceiver subcues ------------------------- v2.2 NOTES: 1. added ability to designate active/inactive delays on inputChannels, outputChannels, and busChannels in as.config.txt: via use of ':d' (i.e. 2:d, 1-4:d, 1vi:d) 2. improved look of windows 3. removed "clear matrix" button from Matrix windows. 4. added hints to vGroup fader labels. 5. added '-' shortcut to virtual inputs and virtual outputs syntax examples: 1-5vi, 10-14vo, 1-5vi:d, etc. - ':d' must occur at the end of each string - 1-5vi... NOT 1vi-5vi ------------------------- v2.3 NOTES: 1. replaced old config parsing with better z.parseConfig abstraction (using colls) -allows for filtering out of single and multi-line C/C++ style comments 2. implemented improved MIDI i/o configuration -now no limit on MIDI devices that can control/be controlled by AudioSwitcher 3. removed netReceivers from subcue vocabulary. Now netSenders and netReceivers are defined and assigned in as_config.txt, similar to MIDI i/o -subcues can still create subcue_netSend (renamed). Using this for Asset Manager demos. ------------------------- v2.4 NOTES: 1. switched from webServer (Mac-only) to more flexible model (ftp, http, or https) -file server can be anywhere, but must allow ftp access for server to upload config files -added new block in as_config.txt called "fileServer", which includes clientAccessMode, urlForServer, urlForClient, username, password -changed client cues.txt file name to clientCues.txt -copy of clientConfig.txt and clientCues.txt saved in config directory, then ftp'd to file server 2. updated client to grab config files from file server using protocol that server specificies (based on clientAccessMode field in as_config.txt -fileserver info from as_config.txt is sent via tcp to client during handshake. If ftp or https, username and password is included... 3. added #0- to all sends and receives in client software 4. changed server files cues.txt and subcues.txt to as_cues.xt and as_subcues.txt 5. improved netReceivers and netSenders regions of as_config -now using code blocks like other areas -each netSender has url_prefix field that allows user to insert custom string at front of outgoing osc-style url string 6. improved system_input and system_output syntax in as_config -now within higher-level block called system_levels, in both networkMapping and midiMapping sections. 7. found mistake in MIDI_IO abstraction - fixed. 8. found mistake in system_levels system_input level reporting (wasn't passing on to network senders, midi senders, etc. - fixed. 9. improved jit.cellblock behavior for cues contents, subcue contents, scrolling cellblocks in reference windows. 10. added network_reference window -displays netReceivers with their protocols, ports, and ip (for multicast) -displays netSenders with their protocols, ports, ips, url_prefix 11. slight improvement in look of client software ------------------------- v2.4.1 NOTES: 1. changed menubar name from "view client ip list" to "Client List" 2. changed Client_List subpatch in Cue Library to its own abstractions 3. added min row constraints and color banding to client_list patch 4. corrected order of execution when using subdue type 'cue' (was being erroneously deferred to low prioraty) 5. improved subcue syntax for System Input and System Output -changed from 'in master ' -changed from 'in master mute ' to 'system_in mute ' -same for System Output 6. removed automatically highlighted cue and subcue at startup in AudioSwitcher_Server and AudioSwitcher_Control (cue 1, subcue 1) -slight improvements in Cue and Subcue Library initializations (server and client software) -now selecting a new server, or selecting no server in AudioSwitcher_Control, will result in no cue ids being highlighted 7. fixed bug where Cue and Subcue contents window would not properly refresh after reloading as_cues.txt or as_subcues.txt ------------------------- v2.4.2 NOTES: 1. removed gating that prevented incoming messages sent to control via netReceiver passing out to netSenders bound to the same control. -this was initially implemented to prevent potential feedback loops, but it's better to let the developer of 3rd party client controls manage this -in the future, most end-user control of AudioSwitcher_Server will be via 3rd party applications that need two way state communication with the server 2. again corrected order of execution issues with cue and subcues -now all cues, and subcues print to Max window in exactly the order of execution -now all netSenders bound to controls send states in the correct order of execution 3. changed vGroup_Masters window name to Virtual_Groups -just a cosmetic change, no subdue syntax change, etc. 4. comsetic improvement to Bus and Output Matrices -now 2x2 square of cells doesn't show text when scrolling right or down in the matrix ------------------------- v2.4.3 NOTES: 1. added functionality for externals to use '-' shortcut (i.e. cue 1-3) -this was already indicated as existing in documentation, just not implemented ------------------------- v2.4.4 NOTES: 1. removed underscore in AudioSwitcher Server name (main window and about window) 2. widened channel labels for input, bus, output masters, and vGroups -still recommend using labels of 6 characters max, so it will fit into Bus and Output Matrix headers 3. in Network_Reference window, changed network bindings from vGroups.1.level to /as/vGroups/1/leve, etc… 4. fixed vGroups window in Channel&vGroup_Reference window -wasn't updating column number correctly -was listing all vGroups individually, even if hyphen shortcut used in config file. Now hyphen is notation is shown, if used in config 5. fixed Cue Library and Subcue Library printing incorrect cues/subcues when empty cue/subcue triggered ------------------------- v2.4.4.1 NOTES: 1. streamlined muting of dsp with monitoring 2. exposed input/output/bus monitoring setting in as_config.txt ------------------------- v2.4.5 NOTES: 1. fixed an order of operations issue in Bus-Matrix and Output-Matrix -was checking to see if updated cell was >= # of buses and inputs (for Bus-Matrix), or # of buses and outputs (for Output-Matrix) AFTER sending the cell contents along. Needed to be checked before. 2. removed system input, changed window name from System Levels to System Output ------------------------- v2.4.6 NOTES: 1. fixed printing cue or subcue without contents -AS Control not fixed 2. added manual subcue receive type (for sending custom subcues on the fly) 3. now Cue Library and Subcue Library ignore ids < 1 ------------------------- v2.4.7 NOTES: 1. fixed printing cue or subcue without contents bug in AS Control 2. removed edit and saver server list in Control app. Now just have "Load Server File" 3. cleaned up /lib patches 4. improved MIDI level input and output routines ------------------------- v2.5 NOTES: 1. allow for Bus Masters and Bus Matrix to be removed from signal flow -setting busChannels to 'null' in as_config.txt now does this -inputs then map directly to outputs via the bus matrix -all bus-related config and subcue info is ignored 2. updated documentation to include above change 3. fixed MIDI level i/o bug in System Output ------------------------- v2.6 NOTES: 1. improved muting of DSP -now when an input, bus, or output channel has its fader set to -120, it's mute set to on, or is disabled from another channels solo state, dsp is muted -also, when no signal is being routed to a given bus or output channel via the bus and output matrices, that bus or output channel is muted ------------------------- v2.6.1 NOTES: 1. improved muting of DSP (now moderating matrix~s to reduce CPU load) -now when a bus is muted, all inputs linked to that bus via the Bus Matrix are temporarily cleared -now when an output is muted, all buses linked to that output via the Output Matrix are temporarily cleared 2. replaced use of coll for matrix difference checking with jit.matrix, which is faster and easier 3. removed unnecessary deferlow objects -object connections in Bus-Matrix_Master and Output-Matrix_Master -before sending to matrix~ in Bus and Output Matrix patches 4. improved loadbang order (as.loadbang subpatches everywhere) 5. input/bus/output masters now initialize level, mute, and solo at load 6. added deferlow to beginning of loadbang sequence, to prevent skipped config file parsing with very simple i/o schemes ------------------------- v2.6.2 NOTES: 1. fixed bug with :d used on input and output channels in as_config.txt 2. removed mute~ for sig_meter bpatcher within input, bus, and output faders -was causing buggy behavior 3. corrected the update differences subpatch in matrices patches -channel amounts reversed in initializing dim of ref matrices 4. removed zl thin on all input and output channel counting, to allow for duplicate hardware inputs and outputs to be used ------------------------- v2.6.3 NOTES: 1. redesigned input, bus, and output fader muting -There seemed to be a strange problem caused by having dac~ and/or adc~ inside a patcher that gets muted -moved all DSP objects into its own sub-bpatcher in these files, that gets muted from the level up. This is much cleaner than having to send a mute message out of the top level outlet to loop the message back to a mute~ connected to the inlet. 2. added mute~ back to meter~ bpatcher, and properly tracking and comparing channel mute vs. metering mute status. If channel is muted, you can't unmute metering (would be no benefit). When channel gets unmuted, it triggers the current metering mute state. 3. removed all the repetitive [!- 1] objects when dealing with signal monitoring logic 4. passing signal on to meter~ in input/bus/output masters post-delay now. This way you have visual feedback. 5. fixed bug in Output and Bus Matrices -when there are less inputs and/or buses than there are cells in the minimum size of the matrix, you're not supposed to be able to type values into them. I had a [t b] where a [t l] should have been preventing the clearing of these out of bound cells. ------------------------- v2.6.4 NOTES: 1. removed name and copyright info from main page 2. saved System Output patch to new location, just under new main window 3. fixed monitoring initialization error -values in config file were doing opposite of what they should do ------------------------- v2.6.5 NOTES: 1. Cue and Subcue Libraries now accept network receivers that send floats (ex. /as/cues 2.), which will be truncated to ints -Using nectar over udp, single cue values are sent as floats for some reason. Before this fix, these were then being ignored. /as/cues 2-5 was fine though. 2. Cleaned up and fixed initialization redundancies that caused issues on some complex configurations. -Now vGroupFaders.maxpat initializes itself, sends states out to MIDI and network senders, but does not update input/bus/output channels that are associated with it (since those channels initialize themselves). -Pak inside muteState subpatcher in each channel type is now initialized correctly to represent the starting state of the software. 3. Modified outputDSP.maxpat and outputDSP_Delay.maxpat, as well as outMuteState patcher in outputChannels patch -Now mute state comes directly from System Outputs patch to all outMutestate patchers. 4. Now not using jit.cellblock for matrix cell values when updating matrix via subcue -Subcue sets the jit.cellblock, and passes those same values on to other area of patch that parses the message, updates channel mute states, and updates the corresponding matrix~ ------------------------- v2.6.6 NOTES: 1. Improved midiMapping control (ctl messages) for cues and subcues in as_config.txt -Now for ctl messages, you specify a ctl value that triggers the cue/subcue. The cue/subcue will also send that ctl value to the MIDI device, if output is enabled. -This lets you use a MIDI toggle button that sends a ctl message to trigger two different cues, one when on (ctl val of 127 most likely), the other when off (ctl val of 0 most likely). 2. Fixed bug where specifying input or output channel as virtual with delays caused none of the channels to be created (i.e. inputChannels = 1-18vi:d) -This now works as it should 3. AudioSwitcher_Control was potentially sending IPv6 addresses to the server, which it should not have been as not all hardware support the format yet. Now it does not send IPv6. ------------------------- v2.6.7 NOTES: 1. Improved meter~ dsp muting method for Input/Bus/Output masters -Changed the order that muting was happening inside master channel abstractions -Now when sig_meter muted, parent layer sends 0.0 (float) to meter~ to ensure it accurately zeros out -Removed pipe for sig_meter.maxpat muting. ------------------------- v2.6.8 TODOS: -Possibly gate all incoming network and MIDI traffic until after initialization is complete. This hasn't been a problem so far, but may prove to be in some as of yet untested scenario. NOTES: 1. Overdrive forced on at startup, Audio Interrupt forced off. -Removed controls for Overdrive and Audio Interrupt in DSP Status window, to minimize possibility of changes. -Renamed DSP Status to Audio Setup, to differentiate with Audio Setup patch in Max app subdirectory, as well as to conform with menubar name -Added note in documentation on necessity of Overdrive to be enabled ------------------------------ v2.6.8.1 (UNUSED) NOTES: 1. Removed Bus Matrix and Bus Masters windows -removed bus windows and settings from menubar -removed all references to busChannels, busAmt, etc. in patches -removed busChannels and busMonitoring fields from as_config.txt 2. Fixed bug in Output Matrix where clearing a cell would cause it to remain blank -now a user-created blank cell resets itself to -120 3. Added shortcut for label subcues (in/out) that allows automated incremental naming -Updated documentation accordingly -Ex. in label 1-10i in_ --> becomes in label 1 in_1 2 in_2 3 in_3 4 in_4É etc. -numeric offset will always start at 1 (needs to be improved) 4. Made font size for Matrix row and column headers smaller to allow more characters to fit ------------------------- v2.6.9 (update from 2.6.8, not 2.6.8.1) NOTES: 1. Fixed bug in Output Matrix where clearing a cell would cause it to remain blank -now a user-created blank cell resets itself to -120 2. Added shortcut for label subcues (in/bus/out) that allows automated incremental naming -Updated documentation accordingly -Ex. in label 1-10i in_5 --> becomes in label 1 in_5 2 in_6 3 in_7 4 in_8É etc. -if label ends with number, that becomes the numeric offset to increment -Ex. in label 1-10i in_ --> becomes in label 1 in_1 2 in_2 3 in_3 4 in_4É etc. -if label does not end with number, default numeric offset is 1 3. Made font size for Matrix row and column headers smaller to allow more characters to fit ------------------------- v2.7 NOTES: 1. Added [qlim 100] to levels at the input stage when coming from netReceivers or AS_Control -This should minimize the outgoing traffic over the network, but ensure that the most up-to-date states are acknowledged 2. Optimized the way subcues are parsed when going to Input Masters, Bus Masters, Output Masters, and VGroups -Shorcuts (i.e. in level 1-10 -120) were being parsed redundantly locally in all In, Out, Bus Masters, or Vgroups, depending on the subcue type (causing an excessively redundant use of uzi, iter, etc.). Now the subcues get parsed and converted to discrete subcues in the Subcue_Library, then sent out to receiving locations. 3. Optimized the way vGroups send control out to bound Input Masters, Bus Masters, and/or Output Masters -Controls (levels, mutes, solos, trims) were being parsed redundantly locally in In, Out, or Bus Masters (causing excessively redundant use of iter, etc.). Now vGroup controls get parsed and converted to discrete messages within the VGroup Master, and send out to receiving locations. ------------------------- v2.8 NOTES: 1. Changed as_config file format to JSON -Using z.jsonio.js tool to do all parsing that z.parseConfig was doing -No changes in terms of software behavior -Corresponding updates to documentation and example configs 2. as_config.json client information change -fields in vGroupMapping.clients block change from: client.vGroups --> vGroups client.vGroupNames --> vGroupNames 3. Corrected minimum (and default) col and row constraints for Bus and Output Matrices to accommodate new cell sizes (as of v2.7) ------------------------- v2.8.1 NOTES: 1. AudioSwitcher_Server now reads/writes to its own ~/Library/Preferences folder (AudioSwitcher_Server Preferences Folder/) -This prevents Max or MaxRT from competing/conflicting in audio driver settings with an instance of AudioSwitcher Server running on the same machine ------------------------- v2.8.2 NOTES: 1. AudioSwitcher Server built with Max6 (AudioSwitcher Control still built with Max5É because I'm lazy). 2. No longer using Alex Harker's VMSP externals (not yet built for Max6 64-bit, so overhead of 32 to 64-bit conversion outways benefitsÉ IMO). 3. Added [defer] object after network message receiver objects. This is necessary to allow z.jsonio to output ahead of incoming messages in high priority thread (new to Max6). ------------------------- v2.8.3 NOTES: 1. AudioSwitcher Control now a pure Java Swing implementation, and therefore cross-platform compatible (OSX, Windows, Linux). 2. Updated AudioSwitcher Server to communicate with new Java Swing version of AudioSwitcher Control. -AS Control config file now transferred via TCP/IP, rather than previous web server upload/download method. ------------------------- v2.8.4 NOTES: 1. AudioSwitcher Control now allows client IP to be specified via optional 1st arg (for situations where incorrect IP might be selected by software). 2. AudioSwitcher Control now sending UUID to server along with add and remove messages. 3. AudioSwitcher Server now uses UUID from ASC when updating/adding/removing client ips. ------------------------- v2.8.5 NOTES: 1. Optimized DSP in input, bus, and output faders. 2. Added optional sample-rate level-change smoothing for inputs, buses, and outputs. -enabled in as_config.json via ':s' flag 3. Fixed bug (introduced in v2.8.3) where disabling signal metering while dac off would not update the mute~ state correctly (Max6-specific behavior). 4. AudioSwitcher Control now uses IP for UUID, and buffers/parses received config files internally, rather than save to disk and subsequent read from disk. ------------------------- v2.8.6 NOTES: 1. Removed old web/fileserver code from AudioSwitcher Server (still in there by mistake). 2. Removed UUID routines entirely between client and server. Now client simply connects and disconnects with IP as unique id. 3. Added client/server ping routine. -Client pings server every 30 seconds, server saves timestamp of ping. Server checks timestamp of all clients every 2 minutes. If any clients have timestamps that are more than 2 minutes old, the client is dropped from the server connection list. 4. Fixed date&time formatting to use YYYY/MM/dd HH:MM:SS - (matching ASC format) ------------------------- v2.8.7 NOTES: 1. Replaced trims menu with live.dial (-20 to 20dB, linearly mapped). 2. Removed osc-tcp netSender and netReceiver functionality, for cross-platform portability issues, etc. 3. Improved slider to DB mappings (all level sliders) -Now using Meyer/McCarthey formula for DB to MM and vice versa mappings. 4. Improved look of slider GUI labels, mute/solo buttons, number boxes, etc. 5. Added trim to netSender/Receivers and midiSender/Receivers. 6. Removed capital-M to toggle menubar between AS and Max settings. 7. Made updates to ASC according to above changes. 8. Added dsp, max, and #SM subcue types to expose all supported commands to Max runtime (from within a message box). Now turning on/off the dac is done by: dsp start or dsp stop (vs. dac start, dac stop previously). 9. Fixed bug where ':s' wasn't getting removed from real input/output channel listings in Channel&vGroup Reference window. 10. Fixed bug where System Output mute wasn't properly binding with MIDI control. 11. Fixed bug where MIDI mute and solo bindings using CC messages weren't always performing correctly (some incorrect repetition filtering now removed). ------------------------- v2.9 NOTES: 1. Rebuilt with Max 6.1.3. 2. Added patch insertion functionality for all master layers. -In standalone app, now including basically everything from Cycling74 directory, to allow all built-in externals to be used in patch inserts. -Subcue commands: patch_load, patch_message -Created HP, LP, 4-band EQ, limiter, vst loader, and template patches. 3. Found bug where vGroup, in, bus, and out trims weren't actually sending to netSender and MIDI sender modules. Fixed it. ------------------------- v2.9.1 NOTES: 1. Updated documentation. -Corrected overview diagram to include Bus Matrix and Bus Masters. -Added more info on MIDI bindings. 2. Fixed bug in ASC where vGroup names containing whitespace weren't being handled correctly. 3. Made Max window display on startup for server app. 4. Removed parallel processing checkbox from Audio_Setup window. Now always enabled at startup, without user having any control over it. 5. Updated error reporting for subcue netSenders to match date/time of other errors. Also, now netSender errors save to log file, and get sent to ASC. 6. Added ability in as_config.json to define which type of controls a vGroup binds to (trim, level, mute, solo). -vGroup channel displays only appropriate control points, all others hidden in both client and server GUI. 7. Updated server to save client files as hidden (.clientConfig.txt, .clientCues.txt, .AudioSwitcher_Server_Log.txt) -Updated ASC to expect new filenames. 8. Updated documentation to include new vGroup binding feature in as_config.json. 9. Updated example as_config.json files to include comments more closely matching documentation.