1. Technical Field
The present invention relates to a digital mixer capable of programming the mixer configuration for sound signal processing, a mixer configuration editing apparatus, and a control application program to control the digital mixer.
2. Related Art
Conventionally, there is known the digital mixer capable of customizing the mixer configuration as described in non-patent document DIGITAL MIXING ENGINE DME32 Instruction Manual, YAMAHA CORPORATION, 2001. This digital mixer configures the sound signal processing module using a processor (e.g., digital signal processor (DSP)) that can operate on programs. In this manner, the sound signal processing is made available based on the mixer configuration (signal process configuration) that is created and edited through the use of an external PC (personal computer). A special-purpose mixer control program is used to create and edit the mixer configuration on the PC. That is, a user executes the mixer control program on the PC to display a mixer edit screen. The user arranges components as parts on the screen for signal processes. The user makes wire connections between the arranged components to define the input/output relationship. In this manner, the mixer configuration is created and edited. When the created mixer configuration is transferred to the digital mixer for execution, the digital mixer implements operations of the mixer configuration.
Such digital mixer makes it possible to use a plurality of scenes for each mixer configuration. Scene data is a data set of parameters used for operations according to the mixer configuration. Even though the same mixer configuration is used, the digital mixer may need to operate according to various parameter values. For this purpose, a plurality of scene data is provided and is called as needed to operate the mixer.
In related art, scene data is incidental to the mixer configuration. The scene data structure varies with mixer configurations. Therefore, there is no compatibility between scene data having different data structures corresponding to different mixer configurations. Unavailability of the compatibility causes inconvenience in various situations. For example, there may be a case of using the PC's mixer control program for minor change of the mixer configuration to slightly edit the mixer configuration currently active on the mixer engine and transferring the edited mixer configuration from the program to the mixer engine for operation. In this case, the edited mixer configuration cannot call scenes used for the mixer configuration before the minor change. When the mixer engine is available in various models, for example, the respective models generally use different scene data structures. It has been impossible to use different models' scenes for similar mixer configurations.
When the original mixer configuration is edited, it may be possible to appropriately modify the structure of scene data corresponding to the original mixer configuration so that the modified scene data can be used for the edited mixer configuration. However, it is difficult to modify the scene data structure. This is because there is unknown correspondence between scene data having different structures. That is, it is unknown which parameter in the scene data to be read as an origin should be written to which position in the scene data as a write destination. Further, the scene memory often contains many pieces of scene data. It is time-consuming to change all the scene data in accordance with the change in the mixer configuration.
The present invention has been made to solve the above-mentioned problems. Specifically, it is an object of the present invention to configure a sound signal processing module using a processor operable in accordance with a program and, under specified conditions, enable compatibility between parameter data sets having different data structures corresponding to different mixer configurations in a digital mixer which is capable of processing sound signals based on mixer configurations edited through the use of an external PC.
To achieve this object, the present invention provides the digital mixer that reads mixer configuration data defining a mixer configuration and an operation data set used for the mixer configuration data, and that performs a sound signal processes operation according to the operation data set. For each operation data set, the digital mixer stores attribute information indicative of a data structure of the operation data set. That is, a plurality of operation data sets held in the operation data set storage means may have different data structures. The attribute information is associated with and depends on the corresponding mixer configuration data working at the time of reserving the operation data.
Editing the mixer configuration data to be processed causes converting of the data structure of an operation data set to be processed in the current memory from the data structure corresponding to the mixer configuration data before the edit into the data structure corresponding to the mixer configuration data after the edit. When the mixer configuration data is edited, it is necessary to convert data structures of all operation data sets corresponding to the edited mixer configuration data. According to the present invention, however, each operation data set is provided with attribute information. The data structure can be converted later at the time when the operation data set is to be used. Even when the mixer configuration data is edited, it is not necessary at that time to convert data structures of all the operation data sets corresponding to the mixer configuration data.
There may be a case of recalling or loading an operation data set from the operation data set storage to the current memory. In such case, the present invention converts the data structure of the operation data set to be processed from the data structure indicated by the corresponding attribute information into the data structure corresponding to the mixer configuration to be processed. The converted operation data set is overwritten to the current memory.
Further, there may be a case of storing or saving an operation data set from the current memory into the operation data set storage. In such case, the present invention generates attribute information indicative of the data structure of the operation data set in the current memory based on the mixer configuration data currently working. The generated attribute information is provided to the operation data set and is written to the operation data set storage.
The present invention provides an operation data set needed to operate the digital mixer in the mixer configuration defined by the mixer configuration data. Each operation data set is provided with the attribute information indicative of the data structure of the operation data set. This improves the compatibility of operation data sets in various situations. The data structure of an operation data set depends on the corresponding mixer configuration that uses the operation data set. As described above, there have been many cases where operation data sets become unavailable due to editing of the mixer configuration. Since the present invention provides an operation data set with the attribute information, the data structure of the operation data set can be readily converted when using the operation data set, thereby improving the compatibility of operation data sets.
Especially, the digital mixer according to the present invention allows the storage means to store the operation data sets having various data structures. There may be a case where a data structure of the operation data set may differ from the data structure corresponding to the mixer configuration used for the digital mixer's sound signal processing operation. In such case, the data structure of the operation data set stored in the storage means can be read into the current memory while converting data contents based on the corresponding attribute information. The sound signal processing module performs the sound signal processing operation according to the mixer configuration corresponding to the selected mixer configuration data. The current memory stores the particular operation data set for controlling the sound signal processing operation. The operation data set storage stores a plurality of operation data sets. Each of these operation data sets is provided with the attribute information indicative of the operation data set's data structure. Accordingly, the operation data set can be recalled into the current memory even though there is a difference between the data structure of the operation data set stored in the operation data set storage and the data structure of the operation data set held in the current memory.
With respect to the mixer configuration editing apparatus and the control application program according to the present invention, editing the selected mixer configuration data accordingly causes changes of the data structure of the operation data set stored in the current memory. The operation data set storage stores a plurality of operation data sets. Each of these operation data sets is provided with the attribute information indicative of the operation data set's data structure. Accordingly, the operation data set can be recalled into the current memory even though there is a difference between the data structure of the operation data set stored in the operation data set storage and the data structure held in the current memory. Further, it is possible to inherit the operation data set held in the current memory immediately before the mixer configuration data editing as an operation data set for the mixer configuration after the editing.
a) through 2(c) are a configuration diagram showing various data in a PC.
a) through 3(c) are a configuration diagram showing various data in an engine.
a) and 4(b) are a diagram exemplifying the mixer configuration screen and the control screen.
a) through 5(c) are flowcharts showing processes of adding a new component and the like.
a) through 6(c) are flowcharts showing processes of issuing an event to enable the online mode.
a) and 7(b) are flowcharts showing processes of recalling and storing a scene.
a) through 9(e) are diagrams showing examples of writing element scenes.
An embodiment of the present invention will be described in further detail with reference to the accompanying drawings.
The central processing unit (CPU) 101 controls overall operations of the mixer. The flash memory 102 is nonvolatile memory that stores various programs and data used for DSPs in the signal processing section 110 and the like. The RAM 103 is volatile memory used as load areas and work areas for programs executed by the CPU 101. The PC I/O 104 provides interfaces (e.g., LAN, USB, and serial I/O) for connection with an external personal computer (hereafter referred to as a PC). The MIDI I/O 105 provides interfaces for connection with various MIDI devices. The miscellaneous I/O 106 provides interfaces for connection with the other devices. The display device 107 displays various types of information provided on the mixer's external panel. The external panel is provided with a variety of the operation devices 108 for a user to operate. The waveform I/O 109 provides an interface for interchanging sound signals with external devices and implements an A/D (analog-digital) conversion function, a digital signal input function, and a D/A (digital-analog) conversion function. The A/D conversion function incorporates an analog sound signal, converts it into a digital signal, and passes it to the signal processing section 110. The digital signal input function incorporates a digital sound signal and passes it to the signal processing section 110. The D/A conversion function converts the digital sound signal output from the signal processing section 110 into an analog sound signal and outputs it to a sound system. The signal processing section 110 comprises several DSPs (digital signal processors). Based on instructions from the CPU 101, the DSPs execute various microprograms to perform a mixing process, an effect provision process, a volume level control process, and the like for waveform signals input via the waveform I/O 109. The DSPs output the processed waveform signals via the waveform I/O 109. The cascade I/O 111 provides an interface for cascade connection with the other digital mixers. The cascade connection can increase the number of input/output channels and the DSP throughput.
The engine 100 of this digital mixer makes it possible to customize a mixer configuration to be implemented on the signal processing section 110. The mixer configuration can be created and edited on the screen of the PC 130 by means of a specified mixer control program 131 running on the PC 130. A collection of created mixer configurations is referred to as a configuration. In accordance with user's operations and instructions on the screen, the mixer control program 131 generates the configuration as configuration data 132 in the memory. The PC 130 can save the configuration data 132 as a file on any writable storage apparatuses. Each mixer configuration is contained in the configuration data stored in the storage apparatuses such as memory and a hard disk for the PC 130. When the mixer configuration is compiled (converted into information interpretable for the engine 100), it can be transferred to the engine 100. The engine 100 can store and save the configuration data transferred from the PC 130 in the flash memory 102. When the configuration data stored in the flash memory 102 contains mixer configurations, a specified operation can be performed to specify one of the mixer configurations to be current. The engine 100 operates based on the mixer configuration, implementing the mixer specified by the mixer configuration.
The mixer control program 131 is available in online mode and offline mode as operation modes. A specified operation can be used to switch between these modes. In the offline mode, only the PC 130 can be used to create and edit configuration data. In the offline mode, the mixer control program 131 on the PC 130 realtime controls the engine 100. When configuration data is loaded into the RAM of PC 130, specifying the online mode transfers the currently active configuration data to the engine 100 (after compilation). The transferred configuration data is stored in the flash memory 102. In this manner, the configuration data matches between the PC 130 and the engine 100. When the mixer configuration is specified to be current on the PC 130, this mixer configuration state (parameter settings and the like) is transmitted to the engine 100. In this manner, the PC 130 completely synchronizes with the engine 100 and becomes able to control the engine 100. For example, let us consider that a fader is provided to components displayed on the mixer configuration screen on the PC 130 or that a fader is provided to the control screen for a given component. When a mouse is used to operate that fader in the online mode, the operation is realtime reflected on the engine 100. The online mode disables the PC 103 to change the component configuration and wire connections. Making a change automatically enables the offline mode.
Not only an end user, but also an agency may belong to users who create and edit configuration data using the PC 130. When the mixer is installed in a hall, for example, an agency goes to the hall and connects the PC 130 to the mixer. Using the PC 130, the agency creates and edits configuration data for a mixer configuration suited to the hall and stores the configuration data in the flash memory 102. In this case, the mixer may be non-programmable (incapable of allowing an end user to create or edit mixer configurations and capable of only allowing him or her to call and use mixer configurations provided by the agency). Using the operation device 108 on the panel, the end user can read the mixer configuration for configuration data stored in the flash memory 102 and operate the mixer according to the mixer configuration. Therefore, the PC 130 need not be connected during operation. Of course, it is possible to connect the PC 130 in the online mode and control the mixer by operating the PC 130.
a) shows the configuration of P (preset) component data (PC data) used for the mixer control program 131 on the PC 130. The P component (hereafter simply referred to as the component) is a block as a basic unit part for customizing the mixer configuration. For example, there are provided parts components including such audio processors as auto mixer, compressor, effect, and crossover and such individual parts as fader, switch, pan, and meter. When the mixer control program 131 is used to create and edit a mixer configuration, a specific procedure is to arrange components and connect lines between them on the mixer configuration screen of the PC 130. Connecting lines between the components is equivalent to define the signal input/output relationship between the components.
One piece of PC data in
One piece of PC data is composed of a PC header, PC configuration information, PC process routine, and a display and edit process routine. The PC header is composed of a component ID (PC_ID) and a component version (PC_Ver). The use of PC_ID and PC_Ver can specify PC data. The PC configuration information provides information (including the order of elements) indicating which elements constitute the component. The PC configuration information includes display data such as a control display (to be described with reference to
b) shows the structure of configuration data in the RAM processed by the mixer control program 131. Reference numeral 210 denotes configuration data loaded into the RAM. The configuration data is composed of a plurality of CF data 1 through Ncf and scene memory. The configuration data 210 as a whole can be stored as one file in a given storage apparatus (e.g., a hard disk in the PC). Reversely, the configuration data can be read from a given storage apparatus and can be loaded into the RAM of the PC 130 in the form as indicated by reference numeral 210. The CF data is provided with numerals 1 through Ncf called configuration numbers (CF numbers). The configuration number can be used to specify the CF data (or an area where the CF data is stored). A current pointer points to CF data to be processed. The CF data pointed by the current pointer is displayed in a mixer configuration screen to be described with reference to
One piece of CF data specifies one mixer configuration and is composed of a CF header, PC-based CAD data, and presets as many as Nps. The CF header is composed of a configuration ID (CF_ID), a configuration version (CF_Ver), and a system version (SYS_Ver). The use of CF_ID and CF_Ver can specify CF data. The PC-based CAD data defines how the mixer configuration for the CF data is configured by wiring which components. The PC-based CAD data is composed of C data and wire connection data. The C data specifies a component to be used as a constituent element of the mixer configuration. The wire connection data makes connection between components. The PC-based CAD data includes display data such as a mixer configuration screen to be described with reference to
The “miscellaneous data” in the C data includes variation information Vari about the PC data specified by the C data. As mentioned above, one piece of PC data represents a component equivalent to one part of the mixer configuration. For example, an automixer uses several variations in terms of the number of inputs and outputs. A fader uses several variations in terms of the number of channels. Even when C_ID and C_Ver specify PC data, the above-mentioned variation information needs to be specified so that the PC data's components can actually operate. The C data includes variation information Vari as well as C_ID and C_Ver. Accordingly, the PC data components specified by the C data can operate based on the variation information Vari. Some PC data may not need specification of the variation information. When specifying such PC data, The variation information Vari is unneeded in the “miscellaneous data” of the C data.
The following describes the unique ID (U_ID) in the C data. When the CF data's mixer configuration are sequentially edited, the same CF_ID is inherited. In this case, the U_ID specifies the C data in the series. For example, let us consider a case of initially creating new CF data. Each time C data is newly added (adding a component), the C data is supplied with a new U_ID value. When the C data is deleted, the U_ID value for that C data is reserved and is not used as U_ID in the series for the CF data. If there are reserved U_ID values, a new U_ID value is assigned to C data that is newly added thereafter. In this manner, CAD data in the CF data is edited. The C data is added or deleted. The CF data may be saved at a given point during the edit process. In such case, it is possible to determine that C data having matching U_ID values are the same in the series (a collection of CF data with the same CF_ID). The “same C data” here includes those having the same C_ID and C_Ver and different variation information Vari.
The following describes presets in the CF data. One piece of CF data includes any number of presets. These presets are collectively referred to as a library for the CF data. The presets are provided with numerals 1 through Nps called preset numbers. The preset number can be used to specify a preset (or an area where the preset is stored) in the CF data. The preset indicates set data of specific parameter values used for the mixer configuration of PC-based CAD data for the CF data containing that preset. As mentioned above, the PC-based CAD data specifies one mixer configuration. Specified parameters need to be set for each component so as to actually operate the digital mixer based on the specified mixer configuration. It is necessary to specify parameter values such as input and output levels for an automixer or the level for a fader, for example. The preset provides a data set of parameter values used for each component to actually operate.
One preset is composed of a header and any number of C (component) scenes. A portion of C scenes in the preset is referred to as a parameter data set. The order in a list of C scenes for the parameter data set corresponds to that in a list of C data in the PC-based CAD data. In
Each element scene has any of data formats such as a single value, a one-dimensional array, and a two-dimensional array. For example, one element scene E3B1 or E3B4 is composed of a single parameter value having data size 1. Element scene E3B2 is composed of a one-dimensional array having eight elements. The data size per element is 16 (element E3B2[1] composed of E3B2[1]1 through E3B2[1]16). Element scene E3B3 has the data format of two-dimensional array. The data format (including the number of array elements) for each element scene and the data size per element are specified by the PC configuration information about the corresponding PC data and the variation information Vari stored as the miscellaneous data for the corresponding C data. The variation information Vari concerns the element scene's data structure for the following reason. When an automixer has one component, for example, there are several variations in terms of the number of inputs and outputs. The variation determines the element scene's data format (including the number of array elements) and the data size per element. Namely, the variation information Vari is a kind of attribute information indicative of a data structure of the operation data set. A plurality of operation data sets held in an operation data set storage may have different data structures. The attribute information is associated with and depends on the corresponding mixer configuration data.
The following summarizes the data structure of the parameter data set in the preset.
(1) The number of C data and its list order in the PC-based CAD data determine the number of C scenes and its list order.
(2) The data structure of the element scene for each C scene includes the order of elements, the data format (including the number of array elements) for each element scene, and the data size per element. The data structure is determined by the PC configuration information about the corresponding PC data and the variation information Vari stored as the miscellaneous data for the corresponding C data.
The header pointing the preset is composed of information indicating the number of components contained in the preset and C headers each providing header information about the components. For example, the PC-based CAD data for CF data 2 in
For example, the component of C scene 3B is composed of four elements. Accordingly, the corresponding C header 3B contains the “number of elements” set to “4”. The first element scene E3B1 is composed of a single parameter value having data size 1. Accordingly, C header 3B contains the data size set to “1” and the array information set to (1,1) for the first element scene. The array information (1,1) indicates that the data format is a single value. The second element scene E3B2 is a one-dimensional array that has the data size 16 per element and is composed of eight elements. Accordingly, C header 3B contains the data size set to “16” and the array information set to (8,1) for the second element scene. The array information (8,1) indicates that the data format is a one-dimensional array and the number of elements is 8. The third element scene E3B3 is a two-dimensional array composed of eight rows and two columns. C header 3B contains the array information set to (8,2) for the third element scene.
Basically, the above-mentioned methods (1) and (2) are used to determine data structures of parameter data sets in the preset. Since each preset has the above-mentioned header, reference to the header eliminates the need for the procedure in (2) as mentioned above. Therefore, it is possible to obtain the data structure of the parameter data set in the preset without reference to the PC configuration information about the PC data or the variation information Vari in the C data.
The following describes the scene memory. The scene memory stores any number (Ns) of scenes 1 through Ns. Numbers 1 through Ns are called scene numbers. The scene number can be used to specify an area to store the corresponding scene or the scene stored in that area. One scene has a configuration number and a preset number. A user can specify the scene number to recall the scene (referred to as scene recalling). When the scene is recalled, the current pointer is set so that the current configuration becomes equivalent to the CF data having the configuration number assigned to the scene. The CF data is displayed on the mixer configuration screen (
c) shows the structure of miscellaneous data in the RAM to be processed by the mixer control program 131 on the PC 130. A current scene represents a parameter data set defined in the mixer configuration for the current configuration, i.e., a current parameter value (current value) of each component for the current configuration. The current scene's access routine is a method that provides the function to access the current scene. Modules included in the mixer control program 131 use this access routine to access the current scene. As already described in relation to the preset, the current scene's data structure depends on the contents of the PC-based CAD data in the current configuration. When the PC-based CAD data is changed (e.g., adding a new component or deleting an existing component), the current scene's data structure also needs to be changed. For this purpose, the RAM of the PC 130 is used to dynamically allocate a storage area for maintaining the current scene. When a change is made to the PC-based CAD data in the current configuration, an area is newly made available for the current scene having the data structure suited for the structure of the PC-based CAD data. Further, an access routine is made available for the current scene. Data for the previous current scene is copied to the new current scene.
An engine-based CAD data generation buffer in
a) partially shows the configuration of component data (PC data) pre-stored in the flash memory 102 of the mixer engine 100. The PC data for the mixer engine has almost the same configuration as that of the PC data for the PC as shown in
b) partially shows configuration data in the flash memory 102 of the engine 100. The configuration data has almost the same configuration as that of the configuration data in the PC as shown in
c) shows miscellaneous data in the RAM 103 of the engine 100. A current scene is used for the engine and provides a parameter data set defined for the current configuration's mixer configuration. The current scene provides data similar to that of the current scene for the PC as shown in
As described in relation to
Since the flash memory 102 is nonvolatile, the stored configuration data remains available even after the engine is turned off. Once the configuration data is stored in the flash memory 102, the engine 100 can alone perform the following without connection to the PC 130. For example, the engine 100 can recall a scene by specifying its scene number (making it possible to change the current mixer configuration (CF data)). Further, the engine 100 can change parameter values for the current scene. Moreover, the engine 100 can save the current mixer configuration and the current scene by specifying any scene number.
The following describes screen examples when the mixer control program 131 operates in the system according to the embodiment as described with reference to
a) exemplifies an edit screen (CAD screen) for the mixer configuration (the current configuration's CF data pointed by the current pointer). In a mixer configuration screen 400, components as constituent elements are arranged based on the CF data in the current configuration. The components are connected with each other through wire connections that specify the input/output relation. Reference numerals 401 and 402 denote elements representing terminals for input to the mixer configuration. Reference numeral 406 denotes an element representing a terminal for output from the mixer configuration. Reference numerals 403 through 404 denote components. These components are specified by C data (
A user can edit the configuration data as follows by performing specified operations (selecting menus or right-clicking) on the mixer configuration screen.
The user can open a file for the specified configuration data. As indicated by reference numeral 210 in
Using the mixer configuration screen, the user can recall various types of components, arrange them, and make wire connections between them. Components that can be recalled are those for PC data stored in the storage apparatus for the PC 130 as shown in
The user can specify compilation of CF data for the current configuration displayed on the mixer configuration screen. Reference numeral 407 denotes a message indicating that the mixer configuration is not compiled. When the compilation is performed, the message 407 changes to Compiled. Using the mixer configuration screen, the user can switch between the online mode and the offline mode.
b) exemplifies the control screen for components. A control screen 410 is displayed by double-clicking any component in the mixer configuration screen 400 in
Using the mixer configuration screen in
The following describes operations of the mixer control program 131 according to the embodiment.
a) shows process flows corresponding to specified operations for recalling a new component and arranging it on the mixer configuration screen as shown in
At step 501, the process adds C data specifying the recalled component to the PC-based CAD data in the current configuration. When the variation information Vari is specified for providing U_ID anew, it is also included in the C data. At step 502, the process ensures an area for the new current scene corresponding to each component of the PC-based CAD data. At step 503, the process configures the access routine for the new current scene based on the PC-based CAD data. As mentioned above, the current scene's data structure depends on the PC-based CAD data in the current configuration. The access routine is made available at step 503 so that each program module can access the current scene without needing to be aware of the data structure. At step 504, the process copies data for the old current scene to the new current scene between different configurations. The PC-based CAD data has different data structures before and after a new component is added. Data is copied from the old current scene to the new current scene between different configurations. The copy between different configurations will be described later.
While there has been described the example of recalling a new component, the similar procedure may be used to delete a component.
b) shows a process flow corresponding to specified operations for editing wire connections on the mixer configuration screen. At step 511, the process changes wire connection data in the PC-based CAD data for the current configuration based on the operation instruction to change the wire connection.
When CAD data is edited (e.g.,
c) shows a process flow when a compilation instruction is issued from the mixer configuration screen. At step 521, the process compiles the PC-based CAD data for the current configuration. The compilation generates engine-based CAD data corresponding to the PC-based CAD data for the current configuration in the engine-based CAD data generation buffer as shown in
a) shows a process flow when the online mode is specified on the mixer configuration screen. At step 601, the process sequentially compiles all PC-based CAD data for the respective CF data loaded into the RAM as indicated by reference numeral 210 in
b) shows a process flow when a dial control operation is performed on the control screen for components as described with reference to
c) shows a process on the mixer engine 100 that receives the dial control operation event transmitted at step 612. At step 621, the process changes the parameter value corresponding to the dial control of the components in the current scene for the engine. At step 622, the process transmits the parameter to the DSP 110 so that the DSP 110 operates in accordance with the parameter. The similar process is applied to operation events of the other operation devices.
a) shows a process when an instruction to store the scene is issued on the mixer configuration screen as shown in
At step 701, the process saves the current configuration's configuration number at scene j. For use at step 704 later on, the process backs up a state indicating whether or not scene j before execution of step 701 stores a configuration number. When a configuration number is stored, it is backed up. When the online mode currently takes effect at step 702, the process transmits an instruction to save scene j to the engine 100 at step 703. In this manner, the engine 100 also stores a scene similarly to this process. In this manner, the engine 100 also stores a scene similarly to this process. At step 704, the process determines whether the specified instruction to store the scene is equivalent to saving a new scene or saving scenes between different configurations. “Saving a new scene” signifies a case where nothing is saved in the area for scene j as the save destination before performing step 701. “Saving scenes between different configurations” signifies a case where scene data is already saved in the area for the scene j as the save destination before performing step 701 and the configuration number saved there differs from the configuration number written at step 701. When the determination at step 704 results in YES, the process creates an area for the new preset in the library for the current configuration at step 705. The process saves a preset number indicating the new preset in scene j at step 706. When the determination at step 704 results in NO, the process proceeds to step 707 without making any change to the preset number already saved in scene j (overwriting the preset). This is because the configuration number already saved for the scene equals the configuration number written at step 701.
At step 707, the process generates a preset header based on the PC-based CAD data for the current configuration. At this time, the number of components in the header is configured to be the number of C data in the PC-based CAD data. A list of C headers in the header is determined in accordance with the order of data in the PC-based CAD data. C_ID, C_Ver, and U_ID for each C header are configured to be the same as those included in the corresponding C data. The process determines the number of elements, the data size of each element scene, and the array information from the variation information Vari in the corresponding C data. At step 708, the process provides the current scene with the header and saves the current scene in the preset indicated by the preset number of scene j in the library for the current configuration.
b) shows a process when a scene is recalled on the mixer configuration screen as shown in
When the online mode takes effect at step 711, the process transmits an instruction to recall scene j to the engine 100. In this manner, the engine 100 also recalls a scene similarly to this process. At step 713, the process reads the configuration number for scene j. At next step 714, the process determines whether or not the read configuration number differs from the configuration number for the current configuration. When the configuration numbers differ, the process changes the current pointer at step 715 so that the CF data corresponding to the read configuration number becomes the current configuration (the mixer configuration screen also changed). The process prepares an area for a new current scene having the data structure suited for the current configuration's PC-based CAD data to make available the access routine for the current scene. When the configuration numbers are equal to each other at step 714, the process proceeds to step 716 because it just needs to change only the current scene without changing the current pointer. At step 716, the process reads the preset indicated by the preset number of scene j from the library for the current configuration and writes the read preset to the current scene. This process allows the data structure of the preset as a read origin to reference and specify the header. The current scene as a write destination is allowed to use the access routine suited for the data structure. Accordingly, the operation data set for the preset can be assigned to the current scene by converting the data structure indicated by the header information into the data structure corresponding to the CAD data for the current configuration.
At step 803, the process protects the current scene so as not to be written from the other processes. At step 804, the process prepares a component for the first U_ID. The process references the header of the preset as a read origin to find a C scene with U_ID=1. The process finds a component with U_ID=1 from the PC-based CAD data for the CF data (current configuration) corresponding to the current scene as a write destination. In this manner, the process finds a C scene corresponding to the component in the current scene. As will be understood from the description about U_ID in
At step 805, the process compares the C_ID (obtained from the corresponding C header) for the C scene prepared by the preset as the read origin with the C_ID (obtained from the C data of the PC-based CAD data) for the C scene in the current scene as the write destination. When both C_IDs match, the process, at steps 806 through 809, reads and writes parameter data from the C scene prepared by the preset as the read origin to the C scene in the current scene as the write destination. That is, at step 806, the process prepares the first element. At step 807, the process reads and writes the element scene. At step 808, the process prepares the next element. When there is an element, the process returns to step 807 from step 809. When the copy is complete for all the elements, the process proceeds to step 809.
At step 810, like step 804, the process prepares a component for the next U_ID. When there is a component for the U_ID, the process returns to step 805 to continue. When there is no component, the process unprotects the current scene at step 812. At step 813, the process displays unsuccessfully written components and elements and then terminates.
Generally, at step 807 above, the data structures may not necessarily match between the element scene as the read origin and that as the write destination. Both element scenes have the matching CF_ID, U_ID, and C_ID and therefore are ensured to have the matching data format (single value, one-dimensional array, or two-dimensional array). However, the number of arrays and the data size per element may be changed. It is possible to find the data structure (the number of arrays and the data size per element) of the element scene for the read origin or the write destination as follows. When the element scene is data in the preset, the data structure can be found by reference to the header. When the element scene is the current scene, the data structure can be found from the PC data's PC configuration information or variation information Vari. Accordingly, at step 807, the parameter data set can be copied while converting the data structure. It may be preferable to construct an access routine for the current scene in specific consideration for the number of arrays and the data size per element by referencing the PC configuration information and the variation information Vari. In this manner, the current scene can be accessed without reference to the PC configuration information or the variation information Vari.
While there has been described
a) shows a case where the element scene is composed of a single value. Reference numeral 901 denotes data Ex to be written; and 902 denotes data Eo as a write destination. The process to write the element scene changes the write destination data to Ex as indicated by reference numeral 903.
b) shows a case where the element scene has the data format of one-dimensional array. Reference numeral 911 shows element scene data to be written. This data has four elements. When an element scene 912 as a write destination has six elements, the write process overwrites the first to the fourth elements in the element scene as the write destination with write data E[1]x through E[4]x as indicated by reference numeral 913. The existing elements E[5]o and E[6]o remain unchanged. When an element scene 914 as a write destination has two elements, these are changed as indicated by reference numeral 915. The elements E[3]x and E[4]x are ignored.
c) shows a case where the element scene has the data format of two-dimensional array. Element scene data 912 to be written has a format composed of four row elements and three column elements. Element scene 922 as a write destination has six row elements and two column elements. As indicated by reference numeral 923, the write process rewrites only an overlapping portion. The other portion is ignored.
When the element scene is an array as mentioned above, the process rewrites elements whose suffixes match in the write origin and destination. The process ignores elements whose suffixes exist only in the write origin. The process makes no change to elements whose suffixes exist only in the write destination.
d) shows a case where a write destination area is larger than a write origin in terms of the data size per element. A write destination area 932 is larger than write data Ex 931. Data Ex is written to become larger as indicated by reference numeral 933.
The engine 100 stores or recalls scenes similarly to the processes as mentioned above with reference to
According to the above-mentioned embodiment, each preset is provided with the header to maintain the information such as C_ID and the data format of each element. Reference only to the header can obtain the data structure of the C scene in the preset without reference to the PC configuration information in the PC data and the variation information Vari in the CF data. When it becomes necessary to change the data structure of the preset in accordance with the change in the PC-based CAD data, the change need not be made immediately. For example, a new component may be added to the CAD data. An existing component may be deleted. A change may be made to the variation information (e.g., the number of inputs or outputs) about the component in the CAD data. In these cases, it is necessary to change the data structure of the associated preset, but not in haste. It just needs to confirm a match of CF_ID between the read origin and the write destination at a timing of necessitating preset data, e.g., reading a preset during the scene recall. A parameter data set may need to be copied between components having the matching U_ID. In this case, the preset's header is used to identify the data structure in the preset. The preset can be reused without reference to the other data.
The header may be provided so as to maintain the information about components included in the corresponding CAD data. For example, the following information may be available.
(Example 1) U_ID, C_ID
(Example 2a) U_ID, C_ID, C_Ver
(Example 2b) U_ID, C_ID, Data size of each element in the component
(Example 3a) U_ID, C_ID, Variation information Vari
(Example 3b) U_ID, C_ID, Array information for each element in the component
(Example 4a) U_ID, C_ID, C_Ver, Vari
(Example 4b) U_ID, C_ID, Data size and array information for each element on the component
The above-mentioned embodiment is equivalent to (Example 4b) above. As indicated by (Example 1) above, the header is meaningful when it contains at least U_ID and C_ID. This is because the correspondence between components can be understood.
C_Ver and Vari are provided to enhance the versatility of presets and are not mandatory elements for headers. Even when a component is upgraded, adding C_Ver makes it possible to use the preset for the component before the upgrade by providing the same C_ID. Adding Vari makes it possible to use the same C_ID to manage components that have the same basic arrangement and differ only in scales. Differently scaled components can share the preset between them.
The size and array information about each element can be used instead of C_Ver and Vari. The element size can be used in place of the version by establishing the rule that “changing a component version enables only addition of each element's preset and disables an existing preset from being changed or deleted”. The element's array information directly corresponds to the component's scale indicated by Vari.
When the header stores C_Ver or Vari, accessing the preset needs to use its C_Ver or Vari to reference the PC data and obtain the element's size or array information. When the element's size and array is stored, it can be directly used as a parameter during access to the preset.
The preset may be a set of operation data having a specific data structure corresponding to the CAD data. The preset is not necessarily limited to scenes stored in the scene memory. For example, there may be provided a library of preset data for respective mixer engines. In this case, the preset data has the data structure corresponding to CAD data to be used in the respective mixer engines. Further, there may be a library of preset data for custom components. In this case, the preset data has the data structure corresponding to CAD data for the custom components. A custom component is composed of a combination of preset components (those specified by the PC data according to the embodiment) that can be handled as a single component.
Number | Date | Country | Kind |
---|---|---|---|
2004-205902 | Jul 2004 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
20020193894 | Terada et al. | Dec 2002 | A1 |
20030059066 | Kohyama et al. | Mar 2003 | A1 |
20030086580 | Hamamatsu | May 2003 | A1 |
20040073419 | Aoki et al. | Apr 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20060015200 A1 | Jan 2006 | US |