US20100306667A1 - Remote control method of external devices - Google Patents

Remote control method of external devices Download PDF

Info

Publication number
US20100306667A1
US20100306667A1 US12/855,554 US85555410A US2010306667A1 US 20100306667 A1 US20100306667 A1 US 20100306667A1 US 85555410 A US85555410 A US 85555410A US 2010306667 A1 US2010306667 A1 US 2010306667A1
Authority
US
United States
Prior art keywords
remote control
management process
application
management
resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/855,554
Inventor
Tatsuya Umeo
Takao Yamamoto
Masaaki Okabayashi
Hideo Miyamori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2004008107A external-priority patent/JP4823483B2/en
Priority claimed from JP2004008103A external-priority patent/JP4362768B2/en
Priority claimed from JP2004008096A external-priority patent/JP4823482B2/en
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to US12/855,554 priority Critical patent/US20100306667A1/en
Assigned to YAMAHA CORPORATION reassignment YAMAHA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MIYAMORI, HIDEO, OKABAYASHI, MASAAKI, UMEO, TATSUYA, YAMAMOTO, TAKAO
Publication of US20100306667A1 publication Critical patent/US20100306667A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C19/00Electric signal transmission systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/02Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
    • H04H60/04Studio equipment; Interconnection of studios
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • G10H2220/106Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters using icons, e.g. selecting, moving or linking icons, on-screen symbols, screen regions or segments representing musical elements or parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/81Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
    • H04H60/93Wired transmission systems
    • H04H60/95Wired transmission systems for local area

Definitions

  • the present invention relates to a method, an apparatus, and a program for controlling external devices, more specifically and preferably, for remotely controlling mixers, sound modules, and the like.
  • the music software such as a sequencer can be installed in personal computers and the like, and can transmit a MIDI signal to external sound module apparatuses and the like.
  • An external sound module apparatus synthesizes a musical sound signal based on the MIDI signal.
  • the synthesized musical sound signal is mixed with other audio signals via a mixer and the like.
  • a mixing result is recorded on a recording apparatus. According to this form of operations, it is convenient to enable the personal computer to remotely control various external devices such as the sound module, the mixer, and the like.
  • Various external device manufacturers provide the remote control software to enable personal computers to control these external devices. Such a technology is disclosed for example in Instruction manual for Studio Manager for DM2000 V1.1, YAMAHA CORPORATION, January 2002.
  • the remote control software secures a separate memory area (called parameter memory) in the memory space of the personal computer.
  • the secured memory area is treated as a memory devoted to an external device to be controlled.
  • the remote control software has a setup window displaying images that simulate a monitor screen and an operation panel on the external device. Using a mouse and the like, a user can operate graphic controls displayed on the operation panel image. Based on the operation result, the software updates corresponding operation parameters in the parameter memory.
  • the personal computer emulates operations related to editing of parameter values in the memory.
  • the personal computer and the external device interchanges updated contents of the operation parameters to maintain the consistency of the operation parameters between the computer and the external device.
  • the remote control software can save the current operation parameters as a “setup file” in a recording medium such as a hard disk.
  • the remote control software can load the previously stored “setup file” to reproduce the past state of the external device.
  • the remote control software for controlling external devices can be installed as plug-ins of the music software.
  • the music software's menu screen can be used to open a parameter edit screen for each remote control software.
  • the above-mentioned technology can allow a personal computer to install many pieces of remote control software that can be plugged in the music software. Consequently, the music software's menu screen lists many pieces of remote control software. In many cases, only a part of these software modules are actually needed for specific situations. If all the plugged-in remote control software modules are displayed for choices, it is inconvenient to select necessary ones. Further, if the same remote control software is used to control a plurality of external devices of the same type, the remote control setting must be changed for each of the devices. It has been impossible to concurrently control the same type of the external devices.
  • operation parameters need to be individually loaded or saved for each of the remote control software. It has been impossible to load or save operation parameters at once for a plurality of remote control software for the following reason. Let us consider that a particular software is activated to set necessary operation parameters for an external device, and then the remote control software's setup window is closed. Closing the setup window frees the parameter memory for the remote control software.
  • a plurality of external devices When a plurality of external devices are used simultaneously, they are provided with operation parameters whose setup states are often interrelated with each other. For example, an output signal of one device is often used as an input signal of another device. A plurality of devices often share resources such as a MIDI port. In these cases, a plurality of setup files applied to these devices must be used as “one set” at the same time. According to the above-mentioned technology, however, users must manage combinations of the setup files. The management has been very complicated.
  • a synchronization operation needs to be performed to secure the consistency between the content of the parameter memory in the personal computer and the content of the other parameter memory provided in the external device.
  • the synchronization operation may be available in two modes. One is to “copy parameters from the external device to the personal computer”. The other is to “copy parameters from the personal computer to the external device”. For this reason, a user needs to initiate the synchronization operation by specifying the synchronization direction for each of remote control software, making user operations complicated.
  • the personal computer can generally provides a capability of hieratical plug-ins of the software. For example, it is possible to plug a second software in a first software (music software) and further plug a third software in the second software. In such case, there is no direct plug-in relationship between the first and third software. It has been difficult to perform inter-process communication between the first and third software.
  • the third software is the remote control software for external devices
  • the first software such as music application software cannot instruct the third software to display the setup window, conventionally.
  • the remote control software generally controls external devices via a MIDI port.
  • the first software cannot assign a control MIDI port and the like to the remote control software, conventionally.
  • the first software cannot be notified of a MIDI port used by the remote control software, conventionally.
  • the present invention has been made in consideration of the foregoing. It is therefore a first object of the present invention to provide a method, an apparatus, and a program for controlling external devices so as to easily manage associated remote control software. It is a second object of the present invention to provide a method, an apparatus, and a program for controlling external devices capable of easily and fast performing processes for a plurality of external devices. It is a third object of the present invention to provide a method, an apparatus, and a program for controlling external devices capable of operating associated software in cooperation with each other.
  • the present invention is characterized by having the following constitutions.
  • a method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, and a management process for managing the remote control processes while communicating with the remote control processes.
  • the method comprises the steps of: using the management process to display icons corresponding to the remote control processes in a display field provided by the management process; using the management process when a specified operation is applied to one of the icons on the display field, for sending a screen open instruction to one of the remote control processes corresponding to the icon to which the specified operation is applied; and using the remote control process which receives the screen open instruction to display a control screen for use in remotely controlling the corresponding external device.
  • Another inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, and a management process for managing the remote control processes while communicating with the remote control processes.
  • the inventive method comprises the steps of: activating the management process to display icons corresponding to the remote control processes in a display field provided by the management process for remotely controlling the external devices; allowing the management process when a save instruction operation is detected, for collecting first parameters representing current states of the external devices from the respective remote control processes corresponding to the icons displayed on the display field; and combining second parameters representing a current state of the management process with the collected first parameters of the external devices to produce a setup file, and saving the setup file on a recording medium.
  • a still another inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, and a management process for managing the remote control processes while communicating with the remote control processes.
  • the inventive method comprises the steps of: activating the management process when a load instruction operation is detected, for reading a setup file containing parameters defining states of the external devices; initiating the remote control processes corresponding to the external devices whose parameters are contained in the read setup file; supplying the initiated remote control processes with the parameters contained in the read setup file for controlling the corresponding external devices; and allowing the management process to display icons corresponding to the initiated remote control processes in a display field provided by the management process.
  • these inventive methods further comprises the steps of: first allowing the management process to register a remote control process corresponding to an external device which should be managed by the management process, the remote control process being set up on the computer based on a remote control program installed in the computer; and second allowing the management process to display an icon corresponding to the registered remote control process in the display field provided by the management process.
  • the step of first allowing can register two or more remote control processes for remotely controlling two or more external devices of the same type independently from each other, each of the two or more remote control processes being set up on the computer separately from each other based on the same remote control program installed in the computer.
  • the first aspect of the invention includes an apparatus capable of performing these inventive methods of controlling external devices.
  • the first aspect of the invention also includes a program for use in an apparatus having a processor, the program being executable by the processor for causing the apparatus to perform these inventive methods of controlling external devices.
  • a method of remotely controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, and a management process for managing the remote control processes while communicating with the remote control processes, each remote control process being allocated with a parameter memory area for storing a configuration state of the corresponding external device.
  • the inventive method comprises: a synchronization instruction step of allowing the management process to send a synchronization instruction simultaneously to the respective remote control processes; and a total recall synchronization step of allowing the respective remote control processes to perform a synchronization operation in parallel to each other based on the synchronization instruction so as to synchronize the configuration state stored in each parameter memory area allocated to each remote control process and an actual state of the corresponding external device.
  • the inventive method further comprises a synchronization direction instruction step of selecting and specifying either a first synchronization direction of adjusting the actual state of the external device to the configuration state stored in the parameter memory area of the corresponding remote control process or a second synchronization direction of adjusting the configuration state stored in the parameter memory area of the remote control process to the actual state of the corresponding external device, so that the total recall synchronization step causes the respective remote control processes to perform the synchronization operation in the same synchronization direction as selected and specified by the synchronization direction instruction step.
  • a synchronization direction instruction step of selecting and specifying either a first synchronization direction of adjusting the actual state of the external device to the configuration state stored in the parameter memory area of the corresponding remote control process or a second synchronization direction of adjusting the configuration state stored in the parameter memory area of the remote control process to the actual state of the corresponding external device, so that the total recall synchronization step causes the respective remote control processes to perform the synchronization operation in the same synchronization direction as selected and specified by the synchron
  • the inventive method further comprises a synchronization availability determination step of determining individually whether or not each of the remote control processes performs the synchronization operation in the total recall synchronization step.
  • each of the parameter memory areas of the remote control processes stores the configuration state of the corresponding external device in the form of various parameters which are divided into a number of groups.
  • these inventive methods further comprise a synchronization group setup step of allowing each remote control process to select and set one or more of the groups of the parameters subjected to the synchronization operation in the total recall synchronization step.
  • the inventive methods further comprises a total recall synchronization confirmation step of displaying confirmation information before commencing the total recall synchronization step, the confirmation information indicating the remote control processes which have been determined by the synchronization availability determination step to perform the synchronization operation in the total recall synchronization step.
  • the total recall synchronization step includes: a step of allowing the remote control processes to notify the management process of a progress of each synchronization operation performed by the respective remote control processes; and a list screen display step of allowing the management process to display a list screen showing the progresses of the synchronization operations performed by the respective remote control processes during the total recall synchronization step.
  • the total recall synchronization step comprises the steps of: enabling the management process to detect a stop operation applied to a particular one of the remote control processes; sending a stop instruction to the particular remote control process in response to the detected stop operation; and causing the particular remote control process to receive the stop instruction and to stop the synchronization operation.
  • the inventive method comprises: a step of prioritizing at least one of the plurality of the remote control processes; and a prioritized synchronization step of enabling the prioritized remote control process to perform the synchronization operation prior to the total recall synchronization step, so that the total recall synchronization step is conducted for the remaining remote control processes after termination of the prioritized synchronization step.
  • the second aspect of the invention includes an apparatus capable of performing these inventive methods of controlling external devices.
  • the second aspect of the invention also includes a program for use in an apparatus having a processor, the program being executable by the processor for causing the apparatus to perform these inventive methods of controlling external devices.
  • a method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work using the external devices while communicating with the management process.
  • the application process performs: a first display step of displaying a screen of the application work provided with a plurality of graphic controls corresponding to the plurality of the external devices; and a step of sending an issuance request instruction to the management process when an operation is applied to one of the graphic controls provided in the screen of the application work.
  • the management process performs: a step of issuing a display instruction in response to the issuance request instruction from the application process; and a step of sending the issued display instruction to one of the remote control processes corresponding to the graphic control to which the operation is applied.
  • Said one remote control process performs: a step of receiving the display instruction sent from the management process; and a second display step of displaying a remote operation screen in response to the display instruction for use in remote control of the corresponding external device.
  • Another inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work with allocating resources to the remote control processes while communicating with the management process.
  • the management process performs the steps of: receiving information indicating a first group of resources which are available for the application work from the application process; holding a second group of resources among the first group of the resources for use in the remote control processes managed by the management process; notifying the respective remote control processes of information indicating a third group of resource(s) which is included in the second group of the resources but which excludes resources already used by the respective remote control processes, hence the third group of the resource(s) includes one or more resources allocatable to the respective remote control processes; and receiving information indicating a fourth group of resource(s) containing one or more of allocated resources from the respective remote control processes.
  • Still another inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting at least a reproduction work of a music piece using resources while communicating with the management process.
  • the application process performs the steps of: allocating a resource to each of plural tracks of the music piece; outputting musical performance information reproduced from the plural tracks of the music piece in accordance with the respective resources allocated to the respective tracks; receiving resource information from the management process, the resource information indicating a group of resources used by the respective remote control processes; identifying an external device in response to a request for displaying a remote operation screen of one track based on the resource allocated to said one track and the resource information received from the management process, the identified external device being supplied with the musical performance information reproduced from said one track in accordance with the allocated resource; and sending an issuance request instruction to the management process for requesting an issuance of a display instruction to one remote control process corresponding to the identified external device.
  • the management process performs the steps of: collecting the resource information from the respective remote control processes, the resource information indicating the group of the resources used by the respective remote control processes; and issuing the display instruction to said one remote control process in response to the issuance request instruction.
  • Said one remote control process performs the step of: displaying a remote operation screen in response to the display instruction from the management process, so that the external device corresponding to said one track can be remotely controlled on the displayed remote operation screen.
  • a further inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work using the external devices while communicating with the management process.
  • the application process performs a step of sending an issuance request instruction to the management process for requesting an issuance of an operation instruction to one of the remote control processes managed by the management process.
  • the management process performs a step of issuing the operation instruction in response to the issuance request instruction from the application process, and transferring the operation instruction to said one remote control process, the operation instruction specifying an operation to be performed by said one remote control process.
  • Said one remote control process performs the specified operation in response to the operation instruction sent from the management process.
  • the application process further performs the steps of: sending a request instruction to the management process when a save operation is detected for requesting state information about a current state; combining data maintained in the application process with the information about the current state supplied from the management process in response to the request instruction; and saving a setup file containing combined results of the data of the application process and the information of the management process.
  • the management process further performs the steps of: collecting first parameters representing current states of the remote control processes from the respective remote control processes in response to the request instruction from the application process; and combining the collected first parameters with second parameters representing a current state of the management process; and supplying the application process with combined results of the first and second parameters as the information about the current state.
  • the application process further performs the steps of: reading a setup file when a load operation is detected, the read setup file containing configuration data specifying a state of the management process and states of the remote control processes; and supplying the management process with the configuration data.
  • the management process further performs the steps of: initiating one or more of the remote control process associated with parameters described in the configuration data; and supplying the initiated remote control process with the parameters described in the configuration data.
  • the management process performs the step of transferring the operation instruction specifying the operation including at least one of: a synchronization operation to synchronize a current state of said one remote control process with a current state of the corresponding external device controlled by said one remote control process; and a display operation to display a remote operation screen for use in remote control of the external device corresponding to said one remote control process.
  • the remote control process is plugged in the management process so that the application process indirectly manages the remote control process through the intermediate management process, or alternatively the remote control process may be plugged in the application process so that the application process directly manages the remote control process.
  • the management process performs a step of registering a remote control process managed by the management process based on a remote control program installed in the computer.
  • the third aspect of the invention includes an apparatus capable of performing these inventive methods of controlling external devices.
  • the third aspect of the invention also includes a program for use in an apparatus having a processor, the program being executable by the processor for causing the apparatus to perform these inventive methods of controlling external devices.
  • the management process detects a specified operation for any of icons, and outputs a screen open instruction to the corresponding remote control process.
  • a user can select an intended control screen using icons corresponding to various remote control processes.
  • the displayed icons correspond to parameters contained in the setup file. Accordingly, a user can easily determine the remote control process parameter to be edited.
  • the management process collects the first parameters from each remote control process and combines the collected first parameters with the second parameters for saving. According to this constitution, all of the associated parameters can be stored in one file for integrated management.
  • a plurality of remote control processes can be registered based on one remote control program. This construction can simultaneously and parallel control the same type of a plurality of external devices if connected.
  • the management process sends a specified synchronization instruction to each remote control process. Based on the supplied synchronization instruction, the remote control processes perform synchronization operations to concurrently synchronize the states of the parameter memory areas managed by the remote control processes with the states of the external devices corresponding to the remote control processes. According to this constitution, the management process can easily and fast perform synchronization operations for a plurality of external devices.
  • the third aspect of the invention in response to a specified operation on the application process screen, it is possible to issue an instruction to a management process so as to allow a remote control process managed by the management process to display the remote operation screen.
  • This constitution makes it possible to instruct the remote control process to be displayed on the monitor from the application process screen.
  • the management process secures the second group of resources out of the first group of resources so that the second group of resources is used for remote control processes managed by the management process.
  • the respective remote control processes are notified of information indicating a third group of resources which exclude resources already used for the remote control processes among the second group of resources.
  • each remote control process can select a resource to be used by the remote control process from the second group of resources collectively secured by the management process. It is possible to decrease a communication amount between the remote control process and the application program. In addition, the remote control process can improve a response to resource setup procedure.
  • the application process receives information indicating a group of resources from the management process.
  • An issuance request instruction is sent to the management process so as to issue a display instruction.
  • the application process can obtain, from the management process, the information about resources used by remote control processes managed by the management process.
  • the application process sends an issuance request instruction to the management process.
  • the management process issues an operation instruction to the remote control process.
  • the application process can allow the management process to perform a specified operation for a remote control process managed by that management process.
  • Each remote control process receives the same operation instruction as that received from the application process when the application process directly manages the remote control process.
  • the conventional remote control process can be used as it is.
  • the application process When detecting a save instruction operation, the application process sends a request instruction to the management process.
  • the application process can obtain the information about current states from the management processes managing a plurality of remote control processes in the same procedure when the application process directly manages a remote control process That is to say, with respect to acquisition of the information about current states of the external devices, the application process need not be aware that the management process manages the plurality of remote control processes.
  • the application process When detecting a load instruction operation, the application process reads one composite setup file containing setup data specifying states of the management process and the plurality of remote control processes. The application process then supplies the management process with the setup data. According to this constitution, the application process can supply the setup data to the management process managing a plurality of remote control processes in the same procedure when the application process directly manages a remote control processes. That is to say, with respect to the system configuration based on the setup data, the application process need not be aware that the management process manages the plurality of remote control processes.
  • the application process can directly manage each remote control process.
  • the remote control process managed by the management process is the same as the remote control process (remote control plug-in) managed by the ordinary application process. It is possible to effectively use already created program resources for plug-ins.
  • a plurality of plug-ins can be managed collectively, which would be troublesome according to the management using a conventional application process.
  • the management process can register a multiple of remote control processes managed by the management process based on a common remote control program installed in the computer. According to this constitution, it is possible to freely select remote control processes collectively managed by the management process based on the remote control program stored in the storage of the computer.
  • FIG. 1 is a line connection diagram of the music editing system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of a personal computer used in the embodiment of the invention.
  • FIGS. 3( a ) and 3 ( b ) are diagrams showing a music software window.
  • FIGS. 4( a ) through 4 ( d ) are diagrams showing a workspace management window.
  • FIGS. 5( a ) and 5 ( b ) are block diagrams showing a total configuration of software modules according to the embodiment.
  • FIG. 6 is a diagram showing a remote control plug-in panel window.
  • FIG. 7 is a diagram showing a workspace setup window.
  • FIG. 8 is a diagram showing a remote control plug-in setup window.
  • FIGS. 9( a ), 9 ( b ) and 9 ( c ) are diagrams showing various windows displayed during a synchronization operation.
  • FIGS. 10( a ), 10 ( b ) and 10 ( c ) are flowcharts of various routines executed by CPU.
  • FIGS. 11( a ) and 11 ( b ) are flowcharts of various routines executed by CPU.
  • the reference numeral 100 denotes a PC/AT compatible personal computer and is provided with a USB port 102 and an IEEE1394 port 104 .
  • the IEEE1394 port 104 of the personal computer 100 is serially connected with IEEE1394 ports of a controller 156 , a synthesizer 162 , and a mixer 168 .
  • These devices are compliant with the musical sound signal LAN (mLAN, registered trademark) proposed by the applicants.
  • the musical sound signal LAN uses connection lines based on the IEEE1394 standard to send and receive MIDI signals, waveform data (audio data), control signals, and the like.
  • a LAN patch bay 154 (to be described) controls logical line connection between the devices to transmit these signals.
  • musical sound signal LAN compatible devices can interchange all the necessary signals with each other via the musical sound signal LAN. If an incompatible device is included, another interface is used to connect the devices to each other.
  • the reference numeral 152 denotes a USB hub and is connected to USB ports of a synthesizer 160 , an effector 164 , and a mixer 166 and intermediates communication between these devices.
  • the USB port 102 and the EEE1394 port 104 each constitute a MIDI port comprising a plurality of channels.
  • the personal computer 100 interchanges MIDI signals with the other devices via these MIDI ports.
  • the controller 156 has: a LAN interface function to interchange MIDI signals and waveform data with the other devices via the musical sound signal LAN; a mixing function to mix waveform data; and a remote control function to remotely control the music software executed on the personal computer 100 .
  • the controller 156 is provided with a display unit, many operation devices, and a signal input/output section to input and/or output MIDI signals, analog waveforms, and digital waveforms.
  • the controller 156 can convert MIDI signals and the like received via the musical sound signal LAN into an ordinary MIDI interface (an interface to send and receive MIDI signals via a MIDI cable).
  • the synthesizer 158 is connected to the controller 156 via a MIDI cable. Accordingly, bidirectional communication is available between the personal computer 100 and the synthesizer 158 via the musical sound signal LAN.
  • the synthesizers 158 and 160 synthesize musical sound signals that are supplied to the mixer 166 via an analog cable.
  • the mixer 166 outputs audio signals for some channels to the effector 164 .
  • the effector 164 applies effects to the audio signals and outputs them to the mixer 166 .
  • An analog cable is used between the mixer 166 and the effector 164 to input and output audio signals.
  • the mixers 166 and 168 are cascade-connected via a cascade cable.
  • the cascading connection is a connection between mixers by interchanging audio signals and control signals with each other.
  • a plurality of mixers can operate as if they were a single mixer having many input/output channels.
  • the configuration of the personal computer 100 will be described with reference to FIG. 2 .
  • the reference numeral 2 denotes a communication interface and is provided with the USB port 102 and the IEEE1394 port 104 as well as MIDI terminals (not shown).
  • the reference numeral 4 denotes an input device comprising a keyboard for text entry, a mouse, and the like.
  • the reference numeral 6 denotes a performance operation device comprising a keyboard for musical performance and the like.
  • the reference numeral 8 denotes a display that displays various information for users.
  • the reference numeral 10 denotes a CPU that controls the other components via a bus 16 based on a program to be described later.
  • the reference numeral 12 denotes ROM that stores an initial program loader and the like.
  • the reference numeral 18 denotes a removable disk drive that reads or writes data on a removable disk 20 such as CD-ROM, MO, and the like.
  • the reference numeral 22 denotes a waveform sampling interface that converts analog signals supplied from the outside into digital signals.
  • the reference numeral 24 denotes a hard disk that stores an operating system, music software, performance information, waveform data, and the like.
  • the reference numeral 26 denotes a waveform output interface that is supplied with digital musical sound signals via the bus 16 and converts these signals into analog signals.
  • the reference numeral 28 denotes a sound system that generates the musical sound signals.
  • the reference numeral 30 denotes RAM used as work memory for the CPU 10 . In many cases, ordinary personal computers are not provided with the keyboard for musical performance.
  • the remote control software to control external devices is configured as a plug-in module (remote control plug-in) that is to be plugged in the other software.
  • the remote control plug-in is directly plugged in software such as the music software and controls the associated external devices.
  • FIGS. 5( a ) and 5 ( b ) the reference numerals 402 , 404 , and the like denote such types of remote control plug-ins.
  • program files for the plug-ins are generally stored in a specified folder of the personal computer 100 .
  • the other software to use the plug-ins checks the plug-in folder.
  • the plug-ins detected in the plug-in folder are plugged in the other software.
  • FIG. 5( a ) the remote control plug-ins 402 , 404 , and the like are plugged in the software indicated as a workspace plug-in 410 .
  • the workspace plug-in 410 is further plugged in music software 420 .
  • FIG. 5( b ) shows workspace software 430 that can be initiated standalone and control remote control plug-ins even when the music software 420 is inactive.
  • the workspace plug-in 410 and the standalone workspace software 430 are generically referred to as “workspace programs”. These workspace programs have functions to provide similar control for each of the remote control plug-ins. However, the workspace plug-in 410 has an additional function to communicate with the music software 420 as mentioned above.
  • the workspace plug-in 410 (management process module) intermediates communication between the music software (application process module) 420 and each of the remote control plug-ins (remote control process module) 404 , 404 , and the like.
  • the music software 420 transmits an instruction for synchronization to the workspace plug-in 410 .
  • the synchronization is to make correspondence between parameter memory contents for the remote control plug-ins 402 , 404 , and the like and those for the corresponding external devices.
  • the workspace plug-in 410 transmits the synchronization instruction to each of the remote control plug-ins 402 , 404 , and the like individually.
  • the music software 420 may transmit an inquiry about MIDI ports being used to the workspace plug-in 410 .
  • the workspace plug-in 410 checks MIDI ports used by the remote control plug-ins 402 , 404 , and the like, and returns the result to the music software 420 . Further, the music software 420 may transmit an instruction to the workspace plug-in 410 to open a panel window for any of the remote control plug-ins.
  • the panel window simulates an operation panel of the corresponding external device.
  • the workspace plug-in 410 transmits an instruction to the corresponding remote control plug-in to display the corresponding panel window. According to this instruction, the corresponding remote control plug-in opens the panel window.
  • the workspace program and the remote control plug-ins are initiated for different processes.
  • the memory space allocated to a given remote control plug-in is completely independent of the memory space allocated to the workspace program.
  • the workspace program and the remote control plug-ins are initiated for different processes and share the memory space. In this case, the software independence is impaired, increasing the possibility of causing bugs.
  • the remote control plug-in and the external device interchange the parameter memory contents and the other control signals with each other.
  • the remote control plug-in needs to always ensure an input port for control signals and an output port for control signals. Since control signals are sent and received in the form of MIDI signals, the input/output ports correspond to the MIDI ports. It is known that the “MIDI” originally signifies an interface for sending and receiving the musical performance information.
  • the embodiment uses the MIDI signal format to send and receive control signals.
  • the external device may be a synthesizer or an equivalent device that generates musical sound signals based on the musical performance information.
  • the remote control plug-in needs to transmit the musical performance information in its original meaning to the external device so as to generate the musical sound signals.
  • another MIDI output port is assigned for musical performance information output.
  • the external device may transmit the musical performance information in its original meaning to the remote control plug-in.
  • another MIDI input port is assigned for musical performance information input.
  • the remote control plug-in is assigned with at least “2” or up to “4” MIDI input/output ports for communication with the external device.
  • the display 8 displays a workspace management window 300 in FIG. 4( a ).
  • the reference numeral denotes a menu bar that displays a “File” button 302 , a “Synchronize” button 304 , and the like.
  • the reference numeral 310 denotes a field section that displays various icons 320 through 334 as shown in FIG. 4( a ). These icons are remote control plug-in icons registered in the workspace. None is displayed in the field section 310 when no remote control plug-in is available at an initial startup of the workspace software 430 , for example.
  • a “File” menu 352 is displayed as shown in FIG. 4( b ). Selecting “Open” displays a window to open files. The user can select a workspace setup file. Selecting an intended workspace setup file starts a workspace load routine as shown in FIG. 10( b ).
  • the “workspace setup file” here means a file that stores the workspace.
  • a “registered plug-in” means a remote control plug-in used for the workspace.
  • a “current workspace” means a workspace currently used for the active workspace software 430 .
  • the process reads the contents of the specified workspace from a hard disk 24 and the like.
  • the process displays a management window 300 that displays nothing in a field section 310 .
  • the field section 310 should display icons for “started registered plug-ins”. Since no registered plug-in is active at this time, the field section displays nothing.
  • the process confirms the MIDI port used for a registered plug-in included in the current workspace. It may be preferable to display a warning indication such as “necessary MIDI port unavailable” concerning the registered plug-in whose MIDI port cannot be confirmed.
  • the registered plug-ins becomes active to be “resident” as another process different from the workspace software 430 .
  • the field section 310 displays the icons 320 through 334 for external devices associated with the activated registered plug-ins.
  • Each registered plug-in has its specific memory space.
  • the workspace setup file may include the information whether or not to activate the panel window for the registered plug-ins and automatically activate the registered plug-in's panel window defined to be “activated” at this time.
  • the process supplies the setup state of each registered plug-in included in the current workspace as a parameter to be specified for each activated registered plug-in.
  • the supplied parameter is written to the parameter memory of the registered plug-in.
  • step SP 22 the process determines whether or not “automatic total recall synchronization” is turned on in the current workspace.
  • the “total recall synchronization” automatically synchronizes the content of the parameter memory in each external device with the content specified for the current workspace. If the determination result is “NO”, the routine process terminates immediately. If the determination result is “YES”, the process proceeds to step SP 24 .
  • a total recall synchronization process routine in FIG. 11( b ) is called.
  • the registered plug-in targeted to the total recall synchronization starts a process to transmit parameters to the corresponding external device. It is possible to configure each registered plug-in to be targeted to the total recall synchronization.
  • the configuration method will be described later in detail. In addition, the detail about the total recall synchronization process routine will be described later.
  • Selecting “Setup” in the “File” menu 352 displays a workspace setup window 600 on the display 8 .
  • the reference numeral 610 denotes a registrable plug-in display section that lists names of all remote control plug-ins installed in the personal computer.
  • the personal computer's plug-in folder contains corresponding program files.
  • the reference numeral 620 denotes a registered plug-in display section that lists names of registered plug-ins in the current workspace. Using the mouse, a user can click to select one or more plug-ins displayed in the display sections 610 and 620 .
  • the reference numeral 612 denotes an Add button. Using the mouse, clicking the Add button 612 adds a plug-in selected in the registrable plug-in display section 610 to the registered plug-in display section 620 . When a plug-in is already displayed in the registered plug-in display section 620 , selecting that plug-in and operating the Add button 612 also adds the plug-in to the registered plug-in display section 620 . At this time, the plug-in name is partially modified to be distinguished from the already registered plug-ins. When “mixer (A)” is already registered, for example, further adding “mixer (A)” renames it to “mixer (A)- 2 ”. It may be preferable to allow users to specify any names.
  • the reference numeral 614 denotes a Del button. Using the mouse, clicking the Del button deletes a plug-in selected in the registered plug-in display section 620 . These operations can be used to edit the registered plug-ins in the current workspace as needed.
  • the LAN patch bay 154 is line connection control software that establishes logical transmission lines for MIDI signals and waveform data between devices including the personal computer 100 connected to the musical sound signal LAN.
  • the LAN patch bay 154 is executed on the personal computer 100 .
  • Control from the LAN patch bay 154 controls musical sound signal LAN interfaces for the devices and establishes logical transmission lines on the musical sound signal LAN.
  • the LAN patch bay 154 has a function to create MIDI signal and waveform data ports for the other devices and needs to be configured prior to these devices. Accordingly, the LAN patch bay 154 is assigned the highest priority (1).
  • the controller is assigned the next highest priority (2) because it has a function to remotely control the music software executed on the personal computer.
  • the other devices are not assigned priorities.
  • Priority (3) will be assigned next.
  • the total recall synchronization may be executed with priorities assigned to at least some of the registered plug-ins.
  • the workspace program issues a synchronization instruction individually to the prioritized registered plug-ins according to the priorities.
  • the workspace program issues the synchronization instruction to another plug-in having the next priority.
  • the workspace program issues the synchronization instruction to the other registered plug-ins at a time.
  • the reference numeral 622 denotes a total recall synchronization check box. Using the mouse, clicking to check or uncheck this check box turns on or off the “automatic total recall synchronization” state (see step SP 22 of the workspace load routine ( FIG. 10( b )).
  • the reference numeral 624 denotes a Set Default button. Using the mouse, clicking this button registers a state of the current workspace to register the remote control plug-ins as a default workspace.
  • the default workspace is used by default when the workspace program starts, for example. With the default workspace specified, the field section 310 displays icons based on the default workspace when the workspace program starts without reading the workspace setup file or when the initiated workspace program creates a new workspace.
  • the reference numeral 626 denotes a MIDI input port list box that lists MIDI ports currently available in the workspace (those not used for the other software). These MIDI ports can be selected from the MIDI input ports implemented by the USB port 102 or the IEEE1394 port 104 and the MIDI input port corresponding to the above-mentioned MIDI terminal.
  • the reference numeral 628 denotes a MIDI output port list box that lists MIDI output ports implemented by the USB port 102 or the IEEE1394 port 104 . These list boxes 626 and 628 can allow one or more MIDI input/output ports to be selected and the selected MIDI input/output ports to be able to be allocated to the registered plug-ins.
  • the reference numeral 630 denotes an OK button. Using the mouse, clicking the OK button 630 updates the contents of the workspace as defined in the workspace setup window 600 and closes this window.
  • the reference numeral 632 denotes a Cancel button. Using the mouse, clicking the Cancel button 632 discards the edited contents and then closes the workspace setup window 600 .
  • step SP 2 in FIG. 10( a ) the process collects parameter memory contents from the registered plug-ins.
  • the registered plug-in is “online” as mentioned above, the parameter memory is updated based on ever-changing states of the external device. Accordingly, the parameter memory content collected by at step SP 2 corresponds to the current state of each external device.
  • the workspace program sends an inquiry to each registered plug-in about parameter memory contents stored in the memory area. In return, the workspace program receives the parameter memory contents from each of the registered plug-ins.
  • the process combines the collected data with the workspace program's parameter to generate data (workspace setup data) to be written to the setup file.
  • the “workspace program's parameter” is a parameter that is specified in the workspace setup window.
  • the generated data is overwritten to the setup file corresponding to the current workspace.
  • Selecting “Save As” from the “File” menu allows the display 8 to display a window to enter a filename of a new setup file for recording the current workspace.
  • the file corresponding to the specified filename is subject to a process similar to that when “Save” was selected.
  • Selecting “Close” from the “File” menu 352 closes the current workspace to assign the content of the default workspace to the current workspace.
  • Selecting “Quit” from the “File” menu 352 closes the workspace management window 300 to terminate the workspace software 430 .
  • the user may select “Close” or “Quit” when the current workspace content is not recorded in the setup file. In this case, the user is given a warning notifying the situation. The process takes place as needed similarly when “Save” or “Save As” is selected.
  • the user can move the cursor to any one of the icons 320 through 334 , and then double-click the left mouse button (left-double-clicking).
  • This operation outputs an instruction to display the panel window (e.g., a remote control plug-in panel window 500 in FIG. 6 ) for the remote control plug-in associated with the icon.
  • the corresponding remote control plug-in displays the panel window.
  • the panel window can be used to control parameters and the like for the corresponding external device. Processes for the panel window 500 will be describe later in more detail.
  • the user moves the cursor to the “Synchronize” button and then clicks the left mouse button (left-clicking) to display a “Synchronize” menu 354 .
  • selecting “Total Recall” starts a total recall synchronization routine in FIG. 11( b ).
  • the display 8 displays a total recall synchronization confirmation window 720 in FIG. 9( b ).
  • the reference numerals 722 and 724 denote radio buttons.
  • the user can either of these radio buttons as a total recall synchronization direction, i.e., “To Hardware” (from the registered plug-in to the external device) or “From Hardware” (from the external device to the registered plug-in).
  • the reference numeral 726 denotes a plug-in display section.
  • the plug-in display section 726 enumerates names of one or more registered plug-ins for which the total recall synchronization is permitted, i.e., registered plug-in names targeted for the total recall synchronization. Since the targeted plug-in names are displayed here, the user can determine at a glance whether or not the total recall synchronization is performed for the intended external device.
  • the reference numeral 728 denotes an OK button to start execution of the total recall synchronization.
  • the reference numeral 730 denotes a Cancel button to stop execution of the total recall synchronization.
  • step SP 74 the process waits until the user uses the mouse to click the OK button 728 or the Cancel button 730 . Clicking the Cancel button 730 stops the total recall synchronization and immediately terminates the routine. Clicking the OK button 728 advances the process to step SP 76 .
  • the process selects the first plug-in to be processed from the registered plug-ins listed in the workspace.
  • the process determines whether or not the total recall synchronization is permitted for the plug-in.
  • step SP 86 search for the next registered plug-in in the list and determine whether or not the relevant plug-in is found. If the result is “YES”, the process proceeds to step SP 88 .
  • the process specifies the retrieved plug-in to be the next process target and returns to step SP 78 .
  • step SP 80 determines whether or not the personal computer 100 can communicate with an external device associated with the registered plug-in. Specifically, a test signal is transmitted via the MIDI output port specified by the registered plug-in. If a response signal returns via the MIDI input port within a specified time, it is assumed to be “communicable”. If no response signal returns within the specified time, the result is assumed to be “NO” at step SP 80 . The process proceeds to step SP 84 .
  • the display 8 displays a warning window showing a message “No hardware for synchronization” and the registered plug-in name for processing. The user can close this warning window. According to the routine, however, the process proceeds to step SP 86 when the warning window is displayed.
  • step SP 80 If the result is “YES” (communicable) at step SP 80 , the process proceeds to step SP 82 .
  • the process then outputs an instruction to the registered plug-in for processing to perform the synchronization with the corresponding external device.
  • the instruction includes the total recall synchronization direction (“To Hardware” or “From Hardware”) specified by the radio button 722 or 724 .
  • the registered plug-in starts the data transfer in the specified total recall synchronization direction.
  • step SP 90 the display 8 displays a total recall synchronization progress display window 740 in FIG. 9( c ).
  • the reference numerals 741 , 743 , 745 , and 747 denote plug-in name display sections to display registered plug-in names targeted for the total recall synchronization.
  • the illustrated example shows that only “4” registered plug-ins are specified for the total recall synchronization.
  • the registered plug-in When the registered plug-in is targeted for the total recall synchronization, the registered plug-in allows the progress of the synchronization to be kept track of. That is to say, the registered plug-in calculates a ratio of the synchronized data amount to the entire data amount targeted for the synchronization. Calculation results are sequentially reported to the workspace software 430 .
  • the reference numerals 742 , 744 , 745 , and 748 denote histograms that display the ever-changing progress of the synchronization reported from the plug-ins.
  • the reference numerals 752 , 754 , 756 , and 758 denote Cancel buttons provided to the plug-ins targeted for the total recall synchronization. Mouse-clicking the Cancel button outputs an instruction to the corresponding registered plug-in to stop the synchronization. When identifying the instruction, the registered plug-in stops the synchronization.
  • the workspace software 430 is notified of this.
  • the corresponding registered plug-in changes to be “online”.
  • the “online” state signifies realtime synchronization between the registered plug-in and the corresponding external device. That is to say, an operation on the personal computer 100 or the external device modifies the parameter memory in the registered plug-in or the external device. The modified content is transmitted to the other to keep both the parameter memory contents corresponding to each other. No registered plug-in can change to be “online” until the synchronization is complete.
  • the routine process terminates when the synchronization is completed for all the registered plug-ins.
  • the total recall synchronization toggles between the enabled state (a check mark displayed) and the disabled state (no check mark displayed).
  • the state selected here determines the result at step SP 78 as mentioned above.
  • Selecting “TRecall Data” displays a synchronization item selection window 362 .
  • the window lists parameter group names stored in the parameter memory of the corresponding registered plug-in. The user can select groups to be synchronized.
  • Selecting “Remove” removes the icon from the field section 310 .
  • the corresponding remote control plug-in is excluded from the registered plug-ins.
  • Selecting “Synchronize” starts an individual synchronization routine as shown in FIG. 11( a ).
  • the display 8 displays an individual plug-in synchronization confirmation window 700 .
  • the reference numerals 702 and 704 denote radio buttons corresponding to “To Hardware” and “From Hardware” as synchronization directions one of which can be selected.
  • the reference numeral 706 denotes a plug-in name display section that displays one registered plug-in to be synchronized.
  • the reference numeral 708 denotes an OK button to start execution of the synchronization.
  • the reference numeral 710 denotes a Cancel button to stop execution of the synchronization.
  • step SP 54 the process waits until the user uses the mouse to click the OK button 708 or the Cancel button 710 . Clicking the Cancel button 710 stops the synchronization and immediately terminates the routine. Clicking the OK button 708 advances the process to step SP 56 . Like the process at step SP 80 , it is determined whether or not the personal computer 100 can communicate with an external device associated with the registered plug-in.
  • step SP 60 If the communication is impossible, the process proceeds to step SP 60 .
  • the display 8 displays a warning window similar to that displayed at step SP 84 above. If the result is “YES” (communicable) at step SP 56 , the process proceeds to step SP 58 .
  • the process outputs an instruction to the registered plug-in to perform the synchronization with the corresponding external device.
  • the instruction includes the synchronization direction specified by the radio button 702 or 704 . In this manner, the routine process terminates.
  • the registered plug-in changes to be “online”.
  • the reference numeral 510 denotes a menu bar that displays a “File” button 512 , a “Synchronize” button 516 , and the like.
  • the reference numeral 520 denotes a field section that displays images for level meters 522 and 524 , a channel name display section 526 , a rotary control 528 , switches 530 and 532 , and faders 534 and 536 as shown in FIG. 6 .
  • the images displayed in the field 520 simulate the configuration of an operation panel on the controller 156 as the corresponding external device or an equivalent configuration of functions implemented by the operation panel.
  • the controller 156 notifies the personal computer 100 of the contents to be displayed on the level meters 522 and 524 , and the like.
  • the registered plug-in updates the contents of its parameter memory.
  • the switches, rotary controls, faders, and the like are operated on the operation panel of the controller 156 , the operation contents are notified to the personal computer 100 .
  • the user can click or drag to operate the rotary control 528 , the switches 530 and 532 , the faders 534 and 536 , and the like in the field section 520 .
  • the operation contents are notified to the controller 156 .
  • the controller 156 updates the contents of its parameter memory. In this manner, the personal computer 100 or the controller 156 notifies the other of the operation contents that are immediately reflected in the parameter memory of the notified side.
  • the registered plug-in and the controller 156 always maintain the same contents in their parameter memories. Accordingly, the display contents of the field section 520 match the states of the operation panel on the controller 156 .
  • buttons 652 and 656 denote combo boxes for selecting MIDI input ports to input various control signals and the musical performance information. These combo boxes allow selection of MIDI input ports for control signals and the musical performance information from a plurality of candidates.
  • the reference numerals 654 and 658 denote combo boxes for selecting MIDI output ports to output various control signals and the musical performance information. These combo boxes allow selection of MIDI output ports for control signals and the musical performance information from a plurality of candidates.
  • the workspace program notifies the remote control plug-ins of MIDI input/output port candidates to be displayed in the combo boxes 652 through 658 .
  • the workspace program allows a plurality of MIDI input/output ports to be selected from a MIDI input port list box 626 and a MIDI output port list box 628 ( FIG. 7 ).
  • the selected MIDI input/output ports include those already allocated to the other remote control plug-ins.
  • the remaining MIDI input/output ports except the allocated ones are notified to the remote control plug-ins.
  • the combo boxes 652 through 658 allow selection of the MIDI input/output ports so as to avoid duplicates with the MIDI input/output ports for the other registered plug-ins.
  • the reference numeral 660 denotes an OK button. Mouse-clicking on the OK button 660 updates the MIDI input/output ports assigned to the remote control plug-in as specified in the setup window 650 , and then closes the setup window 650 .
  • the reference numeral 662 denotes a Cancel button. Mouse-clicking on the Cancel button 662 discards the edit contents, and then closes the setup window 650 .
  • the edit contents i.e., the MIDI input/output ports assigned to the remote control plug-in, are written to the remote control plug-in's parameter memory.
  • the workspace program issues an inquiry to each remote control plug-in to obtain the information about MIDI input/output ports assigned to the remote control plug-in.
  • the workspace program may be the workspace plug-in 410 . In such case, the workspace plug-in 410 responds to a request from the music software 420 and notifies it of correspondence between each remote control plug-in and the MIDI input/output ports.
  • Selecting “Open” from the “File” menu displays a window to open files.
  • the user can select the setup file for the registered plug-in.
  • the setup file for plug-in has a format specific to the registered plug-in. This format differs from that for the above-mentioned setup file for workspace.
  • the setup file for plug-in stores parameters only associated with the corresponding plug-in. When the setup file is selected, parameters defined in the setup file are overwritten to the parameter memory of the registered plug-in.
  • selecting “Save” or “Save As” from the “File” menu stores the contents of the plug-in's parameter memory in the setup file for plug-in. Selecting “Quit” from the “File” menu closes the panel window 500 .
  • the corresponding registered plug-in itself is “resident” and continues to be active.
  • the registered plug-in is “online”, the parameter memory content is always maintained to correspond to the external device's state.
  • the field section 520 and the like reflect the current state.
  • the remote control plug-in panel window 500 for the controller 156 provides the same configuration and operations for the menu bar 510 as those for the above-mentioned panel window 500 . It is to be distinctly understood that the contents of the field section 520 depend on the configuration of the operation panel for each external device.
  • the display 8 displays a music software window 200 as shown in FIG. 3( a ).
  • the reference numeral 210 denotes a menu bar that displays various menu buttons such as a “File” button 211 , a “Plugins” button 214 , and the like.
  • the reference numeral 220 denotes a track display section comprising a plurality of “rows” divided into tracks of sequence data played back by the music software 420 .
  • the reference numeral 222 denotes a start button section comprising start buttons provided for the corresponding tracks.
  • the start button is a kind of graphic control used to open the panel window of the external device (MIDI sound module, mixer, effector, and the like) or the software (software synthesizer, software effector, and the like) to be supplied with MIDI signals or waveform data played on each track.
  • the music software 402 plays back sequence data that can include the musical performance information (MIDI data) and waveform data for each of the tracks.
  • the reference numeral 224 denotes a track type display section to display whether data for each track is waveform data (W) or MIDI data (M).
  • the reference numeral 228 denotes a track name display section that displays a name (e.g., timbre name) assigned to each track.
  • the reference numeral 230 denotes an output port display section that displays an output port name assigned to each track.
  • the output ports are resources of the system, and allocateble to external devices corresponding to the tracks.
  • the reference numeral 240 denotes a block display section that displays a block for each track.
  • the block indicates a range of sequence data comprising a MIDI signal or waveform data along the abscissa as a time axis.
  • the reference numeral 250 denotes a recording/playback operation section comprising: buttons 254 through 262 to record, play, fast-forward, rewind, and stop sequence data; and a time code display section 252 to display a time code.
  • To start recording the user specifies one or more tracks ((M) and/or (W)) to be recorded.
  • the user moves a time axis cursor to a position to start recording, operates the recording button 262 to wait for recording, and then operates the start button 260 to start recording the specified track.
  • To start playback the user moves the time axis cursor to a position to start playback, and then operates the start button 260 to play back all the unmuted tracks.
  • Operating the stop button 258 can stop the recording or the playback in process.
  • the workspace plug-in 410 When the workspace plug-in 410 is configured to be resident (active), initiating the music software 420 initiates the workspace plug-in 40 in the “resident” state. Further, the registered plug-ins plugged in the workspace plug-in 410 are also initiated in the “resident” state. According to the embodiment, the music software 420 initiates the plugged-in workspace plug-in 410 .
  • the workspace setup window 600 is used to register any remote control plug-in. At this time, the workspace plug-in 410 is automatically made resident (active). That is to say, it is assumed that the workspace plug-in 410 has registered plug-ins. It may be preferable that the user can select whether the music software 420 should “use” or “not use” the workspace plug-in 410 .
  • the workspace plug-in 410 can be made resident when selected to be “used”. It is desirable that the selection is saved in a sequence data file to be described later. Alternatively, after the music software 420 initiates the workspace plug-in 410 , it may be preferable to allow the workspace plug-in to become “resident”.
  • Mouse-clicking the “Plugins” button 214 displays a plug-in menu 270 in FIG. 3( b ).
  • This menu lists names of various plug-in software (plug-ins corresponding to program files placed in the plug-in folder) plugged in the music software 420 .
  • the plug-in menu 270 also lists the plug-in software such as “XG editor” and “DX editor” for the above-mentioned remote control plug-in.
  • “WS manager” is the name of the above-mentioned workspace plug-in 410 .
  • the music software 420 is loaded with all the plug-in software corresponding to the program files in the plug-in folder.
  • the plug-in menu 270 lists names of these plug-in software.
  • the plug-in software are directly plugged in the music software 420 without mediation of the workspace plug-in 410 . Some of the plug-in software are registered to the workspace plug-in 410 and the others are not.
  • the workspace plug-in 410 displays the workspace management window 300 on the display 8 .
  • Operations in the management window 300 are the same as those for the above-mentioned standalone workspace software 430 . That is to say, various operations are available such as left-double-clicking on an icon displayed in the field section 310 , starting the panel window for the registered plug-in corresponding to the icon, and the like.
  • the workspace plug-in 410 may issue a request.
  • the music software 420 notifies the workspace plug-in 410 of available MIDI input/output ports.
  • the personal computer 100 provides available MIDI input/output ports some of which may be used independently of the workspace plug-in 410 .
  • the workspace plug-in 410 displays the setup window 600
  • the MIDI input port list box 626 and the MIDI output port list box 628 list only the MIDI input/output ports notified from the music software 420 .
  • the MIDI input/output ports are resources of the system allocateble to the external devices.
  • the music software initiates the corresponding plug-in.
  • the display 8 displays the panel window, allowing the user to modify various settings.
  • a start button belongs to the MIDI data (M) track in the start button section 222
  • mouse-clicking the start button initiates a start button operation event routine as shown in FIG. 10( c ).
  • the track plays back musical performance information that is output to a MIDI output port.
  • the process detects the external device (MIDI sound module) or the software (software synthesizer) that uses the output port as an input source for the musical performance information.
  • the music software 420 issues an inquiry to the remote control plug-in and can determine which MIDI output port is used to supply the musical performance information to the external device corresponding to the remote control plug-in.
  • the music software 420 uses the workspace plug-in 410
  • the music software 420 issues an inquiry to the workspace plug-in 410 and can determine which MIDI output port is used to supply the musical performance information to the external device corresponding to each registered plug-in in the workspace.
  • the workspace plug-in 410 can obtain the correspondence between each registered plug-in and the MIDI input/output port for musical performance information from the registered plug-ins.
  • the workspace plug-in 410 notifies the music software 420 of the obtained correspondence information.
  • each software synthesizer provides its special virtual MIDI port at startup. Therefore, the correspondence can be immediately determined according to the output port.
  • the process determines the remote control plug-in that controls the external device.
  • the process determines the corresponding software control plug-in.
  • a MIDI signal output from the MIDI output port may be supplied to MIDI devices that are not compliant with remote control. Obviously, in such case, there is no corresponding plug-in.
  • the process determines whether or not any remote control plug-in or software control plug-in is retrieved based on the detection result at step SP 32 . If the result is “NO”, the routine process terminates immediately.
  • step SP 34 the process proceeds to step SP 36 . It is determined whether or not the detected plug-in is a registered plug-in belonging to the workspace plug-in 410 . If the result is “YES”, the process proceeds to step SP 40 .
  • the music software 420 issues an instruction to the workspace plug-in 410 to output an instruction to the registered plug-in so as to display the panel window. Based on this process, the workspace plug-in 410 outputs an instruction to the registered plug-in so as to display the panel window.
  • the registered plug-in displays the panel window on the display 8 .
  • step SP 36 When the detected plug-in is directly plugged in the music software 420 , the result at step SP 36 is “NO”. The process proceeds to step SP 38 .
  • the music software 420 outputs an instruction to the plug-in to display the panel window.
  • the plug-in displays the panel window on the display 8 .
  • the sequence data file can contain “workspace setup data”.
  • the content of workspace setup data is similar to the above-mentioned “workspace setup file”.
  • the sequence data file contains the workspace setup data.
  • the workspace plug-in 410 is initiated.
  • the music software 426 supplies the workspace plug-in 410 with the workspace setup data.
  • the workspace plug-in 410 performs the process similar to the above-mentioned workspace load routine ( FIG. 10( b )).
  • the supplied workspace setup data is read.
  • the display 8 displays the management window 300 with the field section 310 nothing displayed in it.
  • the process then confirms the MIDI ports used for the remote control plug-ins contained in the workspace (SP 16 ).
  • the process initiates the registered plug-ins as being “resident” and displays the corresponding icons in the field section 310 (SP 18 ).
  • the process writes a parameter corresponding to the current workspace in the parameter memory of each registered plug-in (SP 20 ).
  • the process starts a parameter transmission process for the corresponding external device (SP 24 ).
  • the music software 420 is configured to allow the workspace plug-in 410 to be active (resident).
  • the music software 420 outputs an instruction to the workspace plug-in 410 to collect the workspace state.
  • the workspace plug-in 410 performs a process similar to the above-mentioned workspace save routine ( FIG. 10( a )). Issuing requests to the registered plug-ins to collect the parameter memory contents from the registered plug-ins (SP 2 ). The collected data is combined to the parameter of the workspace program itself to create the “workspace setup data” (SP 4 ).
  • the workspace setup data is generated based on the instruction from the music software 420 .
  • the workspace setup data can be supplied to the instruction-issuing software instead of performing the process at step SP 6 (writing data in the setup file).
  • the music software 420 When supplied with the workspace setup data from the workspace plug-in 410 , the music software 420 combines the workspace setup data with the sequence data at the time. Data as the combination result is stored as a sequence data file in the hard disk 24 .
  • the workspace plug-in 410 may be initiated from the music software 420 .
  • the setup file for the workspace plug-in 410 is capable of writing and reading independently of the sequence data file for the music software 420 . Accordingly, it is possible to move the setting of the workspace plug-in 410 corresponding to a given sequence data file for the music software 420 to another sequence data file.
  • the present invention is not limited to the above-mentioned embodiment but may be embodied in various modifications as follows.
  • the embodiment performs various processes using the workspace program, the application program, the remote control plug-in, and the like operating on the personal computer. It is also possible to distribute these programs by means of not only storing them on recording media such as CD-ROM and flexible disks, but also transmitting them via communication line.
  • the embodiment performs the start button operation event routine ( FIG. 10( c )) only in response to mouse-click on any start button belonging to the MIDI data (M) track in the start button section 222 .
  • the similar process may be performed in response to mouse-click on a start button belonging to the waveform data (W) track.
  • Icons may be designed as not only shapes representing the external devices associated with the registered plug-ins, but also logos, images, and the like.
  • the “icons” are not limited to bit-mapped graphics but may be simple boxes that contain product model numbers, trademarks, user-supplied names, and the like.
  • the workspace software 430 determines whether or not there is an external device to be synchronized during the total recall synchronization or the individual synchronization (SP 80 or SP 56 ).
  • the workspace software 430 may periodically check the availability of external devices and not check it during the synchronization process.
  • the workspace software 430 itself does not always need to check the availability.
  • the workspace software 430 may issue an instruction to each registered plug-in and allow the registered plug-in to check the availability of external devices under control.
  • the LAN dedicated to musical sound signals can be implemented on networks other than the IEEE1394 standard.
  • the musical sound signal LAN may be constructed on 100baseT Ethernet (registered trademark) according to a line connection as indicated by dotted lines in FIG. 1 .
  • a wireless LAN or a USB may be used to implement a similar musical sound signal LAN.

Abstract

A method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, and a management process for managing the remote control processes while communicating with the remote control processes. The management process is called to display icons corresponding to the remote control processes in a display field provided by the management process. Further, the management process acts when a specified operation is applied to one of the icons on the display field for sending a screen open instruction to one of the remote control processes corresponding to the icon to which the specified operation is applied. The remote control process which receives the screen open instruction is activated to display a control screen for use in remotely controlling the corresponding external device.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a division of U.S. patent application Ser. No. 11/030,830, filed Jan. 7, 2005, the entire disclosure of which is incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Technical Field
  • The present invention relates to a method, an apparatus, and a program for controlling external devices, more specifically and preferably, for remotely controlling mixers, sound modules, and the like.
  • 2. Related Art
  • The music software such as a sequencer can be installed in personal computers and the like, and can transmit a MIDI signal to external sound module apparatuses and the like. An external sound module apparatus synthesizes a musical sound signal based on the MIDI signal. The synthesized musical sound signal is mixed with other audio signals via a mixer and the like. A mixing result is recorded on a recording apparatus. According to this form of operations, it is convenient to enable the personal computer to remotely control various external devices such as the sound module, the mixer, and the like. Various external device manufacturers provide the remote control software to enable personal computers to control these external devices. Such a technology is disclosed for example in Instruction manual for Studio Manager for DM2000 V1.1, YAMAHA CORPORATION, January 2002.
  • The remote control software secures a separate memory area (called parameter memory) in the memory space of the personal computer. The secured memory area is treated as a memory devoted to an external device to be controlled. The remote control software has a setup window displaying images that simulate a monitor screen and an operation panel on the external device. Using a mouse and the like, a user can operate graphic controls displayed on the operation panel image. Based on the operation result, the software updates corresponding operation parameters in the parameter memory. Of the external device operations, the personal computer emulates operations related to editing of parameter values in the memory. The personal computer and the external device interchanges updated contents of the operation parameters to maintain the consistency of the operation parameters between the computer and the external device.
  • The remote control software can save the current operation parameters as a “setup file” in a recording medium such as a hard disk. The remote control software can load the previously stored “setup file” to reproduce the past state of the external device. When the above-mentioned music software has the plug-in function, the remote control software for controlling external devices can be installed as plug-ins of the music software. In this case, the music software's menu screen can be used to open a parameter edit screen for each remote control software.
  • In a first view of the prior art, the above-mentioned technology can allow a personal computer to install many pieces of remote control software that can be plugged in the music software. Consequently, the music software's menu screen lists many pieces of remote control software. In many cases, only a part of these software modules are actually needed for specific situations. If all the plugged-in remote control software modules are displayed for choices, it is inconvenient to select necessary ones. Further, if the same remote control software is used to control a plurality of external devices of the same type, the remote control setting must be changed for each of the devices. It has been impossible to concurrently control the same type of the external devices.
  • According to the above-mentioned technology, operation parameters need to be individually loaded or saved for each of the remote control software. It has been impossible to load or save operation parameters at once for a plurality of remote control software for the following reason. Let us consider that a particular software is activated to set necessary operation parameters for an external device, and then the remote control software's setup window is closed. Closing the setup window frees the parameter memory for the remote control software.
  • When a plurality of external devices are used simultaneously, they are provided with operation parameters whose setup states are often interrelated with each other. For example, an output signal of one device is often used as an input signal of another device. A plurality of devices often share resources such as a MIDI port. In these cases, a plurality of setup files applied to these devices must be used as “one set” at the same time. According to the above-mentioned technology, however, users must manage combinations of the setup files. The management has been very complicated.
  • In a second view of the prior art, when operation parameters are loaded from the setup file to the remote control software, a synchronization operation needs to be performed to secure the consistency between the content of the parameter memory in the personal computer and the content of the other parameter memory provided in the external device. The synchronization operation may be available in two modes. One is to “copy parameters from the external device to the personal computer”. The other is to “copy parameters from the personal computer to the external device”. For this reason, a user needs to initiate the synchronization operation by specifying the synchronization direction for each of remote control software, making user operations complicated.
  • When synchronization operations are performed for a plurality of remote control software, a certain amount of time is required until all the synchronization operations are complete. During this wait time, it has been difficult for a user to determine whether or not the synchronization operation is complete for each external device, and to grasp how fur the synchronization progresses with respect to an external device for which the synchronization operation is not yet completed. There is a demand that the synchronization operation should be canceled for some of the external devices depending on the synchronization progress. When the synchronization operation is performed for a plurality of external devices, the synchronization may need to be completed for some devices prior to others.
  • In a third view of the prior art, the personal computer can generally provides a capability of hieratical plug-ins of the software. For example, it is possible to plug a second software in a first software (music software) and further plug a third software in the second software. In such case, there is no direct plug-in relationship between the first and third software. It has been difficult to perform inter-process communication between the first and third software.
  • When the third software is the remote control software for external devices, for example, the first software such as music application software cannot instruct the third software to display the setup window, conventionally. The remote control software generally controls external devices via a MIDI port. The first software cannot assign a control MIDI port and the like to the remote control software, conventionally. Likewise, the first software cannot be notified of a MIDI port used by the remote control software, conventionally.
  • SUMMARY OF THE INVENTION
  • The present invention has been made in consideration of the foregoing. It is therefore a first object of the present invention to provide a method, an apparatus, and a program for controlling external devices so as to easily manage associated remote control software. It is a second object of the present invention to provide a method, an apparatus, and a program for controlling external devices capable of easily and fast performing processes for a plurality of external devices. It is a third object of the present invention to provide a method, an apparatus, and a program for controlling external devices capable of operating associated software in cooperation with each other.
  • To solve the above-mentioned problems and to achieve the above-noted objects of the invention, the present invention is characterized by having the following constitutions.
  • In a first aspect of the invention, a method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, and a management process for managing the remote control processes while communicating with the remote control processes. The method comprises the steps of: using the management process to display icons corresponding to the remote control processes in a display field provided by the management process; using the management process when a specified operation is applied to one of the icons on the display field, for sending a screen open instruction to one of the remote control processes corresponding to the icon to which the specified operation is applied; and using the remote control process which receives the screen open instruction to display a control screen for use in remotely controlling the corresponding external device.
  • Another inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, and a management process for managing the remote control processes while communicating with the remote control processes. The inventive method comprises the steps of: activating the management process to display icons corresponding to the remote control processes in a display field provided by the management process for remotely controlling the external devices; allowing the management process when a save instruction operation is detected, for collecting first parameters representing current states of the external devices from the respective remote control processes corresponding to the icons displayed on the display field; and combining second parameters representing a current state of the management process with the collected first parameters of the external devices to produce a setup file, and saving the setup file on a recording medium.
  • A still another inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, and a management process for managing the remote control processes while communicating with the remote control processes. The inventive method comprises the steps of: activating the management process when a load instruction operation is detected, for reading a setup file containing parameters defining states of the external devices; initiating the remote control processes corresponding to the external devices whose parameters are contained in the read setup file; supplying the initiated remote control processes with the parameters contained in the read setup file for controlling the corresponding external devices; and allowing the management process to display icons corresponding to the initiated remote control processes in a display field provided by the management process.
  • Preferably, these inventive methods further comprises the steps of: first allowing the management process to register a remote control process corresponding to an external device which should be managed by the management process, the remote control process being set up on the computer based on a remote control program installed in the computer; and second allowing the management process to display an icon corresponding to the registered remote control process in the display field provided by the management process.
  • Preferably, the step of first allowing can register two or more remote control processes for remotely controlling two or more external devices of the same type independently from each other, each of the two or more remote control processes being set up on the computer separately from each other based on the same remote control program installed in the computer.
  • The first aspect of the invention includes an apparatus capable of performing these inventive methods of controlling external devices.
  • The first aspect of the invention also includes a program for use in an apparatus having a processor, the program being executable by the processor for causing the apparatus to perform these inventive methods of controlling external devices.
  • In a second aspect of the invention, a method of remotely controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, and a management process for managing the remote control processes while communicating with the remote control processes, each remote control process being allocated with a parameter memory area for storing a configuration state of the corresponding external device. The inventive method comprises: a synchronization instruction step of allowing the management process to send a synchronization instruction simultaneously to the respective remote control processes; and a total recall synchronization step of allowing the respective remote control processes to perform a synchronization operation in parallel to each other based on the synchronization instruction so as to synchronize the configuration state stored in each parameter memory area allocated to each remote control process and an actual state of the corresponding external device.
  • Preferably, the inventive method further comprises a synchronization direction instruction step of selecting and specifying either a first synchronization direction of adjusting the actual state of the external device to the configuration state stored in the parameter memory area of the corresponding remote control process or a second synchronization direction of adjusting the configuration state stored in the parameter memory area of the remote control process to the actual state of the corresponding external device, so that the total recall synchronization step causes the respective remote control processes to perform the synchronization operation in the same synchronization direction as selected and specified by the synchronization direction instruction step.
  • Preferably, the inventive method further comprises a synchronization availability determination step of determining individually whether or not each of the remote control processes performs the synchronization operation in the total recall synchronization step.
  • Preferably in these inventive methods, each of the parameter memory areas of the remote control processes stores the configuration state of the corresponding external device in the form of various parameters which are divided into a number of groups. In such a case, these inventive methods further comprise a synchronization group setup step of allowing each remote control process to select and set one or more of the groups of the parameters subjected to the synchronization operation in the total recall synchronization step.
  • Preferably, the inventive methods further comprises a total recall synchronization confirmation step of displaying confirmation information before commencing the total recall synchronization step, the confirmation information indicating the remote control processes which have been determined by the synchronization availability determination step to perform the synchronization operation in the total recall synchronization step.
  • Preferably in the inventive method, the total recall synchronization step includes: a step of allowing the remote control processes to notify the management process of a progress of each synchronization operation performed by the respective remote control processes; and a list screen display step of allowing the management process to display a list screen showing the progresses of the synchronization operations performed by the respective remote control processes during the total recall synchronization step.
  • Preferably in the inventive method, the total recall synchronization step comprises the steps of: enabling the management process to detect a stop operation applied to a particular one of the remote control processes; sending a stop instruction to the particular remote control process in response to the detected stop operation; and causing the particular remote control process to receive the stop instruction and to stop the synchronization operation.
  • Further preferably, the inventive method comprises: a step of prioritizing at least one of the plurality of the remote control processes; and a prioritized synchronization step of enabling the prioritized remote control process to perform the synchronization operation prior to the total recall synchronization step, so that the total recall synchronization step is conducted for the remaining remote control processes after termination of the prioritized synchronization step.
  • The second aspect of the invention includes an apparatus capable of performing these inventive methods of controlling external devices.
  • The second aspect of the invention also includes a program for use in an apparatus having a processor, the program being executable by the processor for causing the apparatus to perform these inventive methods of controlling external devices.
  • In a third aspect of the invention, a method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work using the external devices while communicating with the management process. In the inventive method, the application process performs: a first display step of displaying a screen of the application work provided with a plurality of graphic controls corresponding to the plurality of the external devices; and a step of sending an issuance request instruction to the management process when an operation is applied to one of the graphic controls provided in the screen of the application work. The management process performs: a step of issuing a display instruction in response to the issuance request instruction from the application process; and a step of sending the issued display instruction to one of the remote control processes corresponding to the graphic control to which the operation is applied. Said one remote control process performs: a step of receiving the display instruction sent from the management process; and a second display step of displaying a remote operation screen in response to the display instruction for use in remote control of the corresponding external device.
  • Another inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work with allocating resources to the remote control processes while communicating with the management process. In the inventive method, the management process performs the steps of: receiving information indicating a first group of resources which are available for the application work from the application process; holding a second group of resources among the first group of the resources for use in the remote control processes managed by the management process; notifying the respective remote control processes of information indicating a third group of resource(s) which is included in the second group of the resources but which excludes resources already used by the respective remote control processes, hence the third group of the resource(s) includes one or more resources allocatable to the respective remote control processes; and receiving information indicating a fourth group of resource(s) containing one or more of allocated resources from the respective remote control processes.
  • Still another inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting at least a reproduction work of a music piece using resources while communicating with the management process. In the inventive method, the application process performs the steps of: allocating a resource to each of plural tracks of the music piece; outputting musical performance information reproduced from the plural tracks of the music piece in accordance with the respective resources allocated to the respective tracks; receiving resource information from the management process, the resource information indicating a group of resources used by the respective remote control processes; identifying an external device in response to a request for displaying a remote operation screen of one track based on the resource allocated to said one track and the resource information received from the management process, the identified external device being supplied with the musical performance information reproduced from said one track in accordance with the allocated resource; and sending an issuance request instruction to the management process for requesting an issuance of a display instruction to one remote control process corresponding to the identified external device. The management process performs the steps of: collecting the resource information from the respective remote control processes, the resource information indicating the group of the resources used by the respective remote control processes; and issuing the display instruction to said one remote control process in response to the issuance request instruction. Said one remote control process performs the step of: displaying a remote operation screen in response to the display instruction from the management process, so that the external device corresponding to said one track can be remotely controlled on the displayed remote operation screen.
  • A further inventive method of controlling a plurality of external devices is performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work using the external devices while communicating with the management process. In the inventive method, the application process performs a step of sending an issuance request instruction to the management process for requesting an issuance of an operation instruction to one of the remote control processes managed by the management process. The management process performs a step of issuing the operation instruction in response to the issuance request instruction from the application process, and transferring the operation instruction to said one remote control process, the operation instruction specifying an operation to be performed by said one remote control process. Said one remote control process performs the specified operation in response to the operation instruction sent from the management process.
  • Preferably in the inventive method, the application process further performs the steps of: sending a request instruction to the management process when a save operation is detected for requesting state information about a current state; combining data maintained in the application process with the information about the current state supplied from the management process in response to the request instruction; and saving a setup file containing combined results of the data of the application process and the information of the management process. The management process further performs the steps of: collecting first parameters representing current states of the remote control processes from the respective remote control processes in response to the request instruction from the application process; and combining the collected first parameters with second parameters representing a current state of the management process; and supplying the application process with combined results of the first and second parameters as the information about the current state.
  • Preferably in the inventive method, the application process further performs the steps of: reading a setup file when a load operation is detected, the read setup file containing configuration data specifying a state of the management process and states of the remote control processes; and supplying the management process with the configuration data. The management process further performs the steps of: initiating one or more of the remote control process associated with parameters described in the configuration data; and supplying the initiated remote control process with the parameters described in the configuration data.
  • Preferably, in the inventive method, the management process performs the step of transferring the operation instruction specifying the operation including at least one of: a synchronization operation to synchronize a current state of said one remote control process with a current state of the corresponding external device controlled by said one remote control process; and a display operation to display a remote operation screen for use in remote control of the external device corresponding to said one remote control process.
  • Preferably in these inventive methods, the remote control process is plugged in the management process so that the application process indirectly manages the remote control process through the intermediate management process, or alternatively the remote control process may be plugged in the application process so that the application process directly manages the remote control process.
  • Preferably in these inventive methods, the management process performs a step of registering a remote control process managed by the management process based on a remote control program installed in the computer.
  • The third aspect of the invention includes an apparatus capable of performing these inventive methods of controlling external devices.
  • The third aspect of the invention also includes a program for use in an apparatus having a processor, the program being executable by the processor for causing the apparatus to perform these inventive methods of controlling external devices.
  • In this manner, according to the first aspect of the invention, the management process detects a specified operation for any of icons, and outputs a screen open instruction to the corresponding remote control process. According to this constitution, a user can select an intended control screen using icons corresponding to various remote control processes. The displayed icons correspond to parameters contained in the setup file. Accordingly, a user can easily determine the remote control process parameter to be edited.
  • When detecting a specified save instruction operation, the management process collects the first parameters from each remote control process and combines the collected first parameters with the second parameters for saving. According to this constitution, all of the associated parameters can be stored in one file for integrated management.
  • A plurality of remote control processes can be registered based on one remote control program. This construction can simultaneously and parallel control the same type of a plurality of external devices if connected.
  • As mentioned above, according to the second aspect of the invention, the management process sends a specified synchronization instruction to each remote control process. Based on the supplied synchronization instruction, the remote control processes perform synchronization operations to concurrently synchronize the states of the parameter memory areas managed by the remote control processes with the states of the external devices corresponding to the remote control processes. According to this constitution, the management process can easily and fast perform synchronization operations for a plurality of external devices.
  • According to the third aspect of the invention, in response to a specified operation on the application process screen, it is possible to issue an instruction to a management process so as to allow a remote control process managed by the management process to display the remote operation screen. This constitution makes it possible to instruct the remote control process to be displayed on the monitor from the application process screen.
  • The management process secures the second group of resources out of the first group of resources so that the second group of resources is used for remote control processes managed by the management process. The respective remote control processes are notified of information indicating a third group of resources which exclude resources already used for the remote control processes among the second group of resources. According to this construction, each remote control process can select a resource to be used by the remote control process from the second group of resources collectively secured by the management process. It is possible to decrease a communication amount between the remote control process and the application program. In addition, the remote control process can improve a response to resource setup procedure.
  • The application process receives information indicating a group of resources from the management process. An issuance request instruction is sent to the management process so as to issue a display instruction. According to this construction, the application process can obtain, from the management process, the information about resources used by remote control processes managed by the management process.
  • The application process sends an issuance request instruction to the management process. In response to the issuance request instruction, the management process issues an operation instruction to the remote control process. According to this constitution, the application process can allow the management process to perform a specified operation for a remote control process managed by that management process. Each remote control process receives the same operation instruction as that received from the application process when the application process directly manages the remote control process. The conventional remote control process can be used as it is.
  • When detecting a save instruction operation, the application process sends a request instruction to the management process. According to this constitution, the application process can obtain the information about current states from the management processes managing a plurality of remote control processes in the same procedure when the application process directly manages a remote control process That is to say, with respect to acquisition of the information about current states of the external devices, the application process need not be aware that the management process manages the plurality of remote control processes.
  • When detecting a load instruction operation, the application process reads one composite setup file containing setup data specifying states of the management process and the plurality of remote control processes. The application process then supplies the management process with the setup data. According to this constitution, the application process can supply the setup data to the management process managing a plurality of remote control processes in the same procedure when the application process directly manages a remote control processes. That is to say, with respect to the system configuration based on the setup data, the application process need not be aware that the management process manages the plurality of remote control processes.
  • Further, the application process can directly manage each remote control process. According to this constitution, the remote control process managed by the management process is the same as the remote control process (remote control plug-in) managed by the ordinary application process. It is possible to effectively use already created program resources for plug-ins. In addition, a plurality of plug-ins can be managed collectively, which would be troublesome according to the management using a conventional application process.
  • Moreover, the management process can register a multiple of remote control processes managed by the management process based on a common remote control program installed in the computer. According to this constitution, it is possible to freely select remote control processes collectively managed by the management process based on the remote control program stored in the storage of the computer.
  • BRIEF DESCRIPTION OF THE INVENTION
  • FIG. 1 is a line connection diagram of the music editing system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of a personal computer used in the embodiment of the invention.
  • FIGS. 3( a) and 3(b) are diagrams showing a music software window.
  • FIGS. 4( a) through 4(d) are diagrams showing a workspace management window.
  • FIGS. 5( a) and 5(b) are block diagrams showing a total configuration of software modules according to the embodiment.
  • FIG. 6 is a diagram showing a remote control plug-in panel window.
  • FIG. 7 is a diagram showing a workspace setup window.
  • FIG. 8 is a diagram showing a remote control plug-in setup window.
  • FIGS. 9( a), 9(b) and 9(c) are diagrams showing various windows displayed during a synchronization operation.
  • FIGS. 10( a), 10(b) and 10(c) are flowcharts of various routines executed by CPU.
  • FIGS. 11( a) and 11(b) are flowcharts of various routines executed by CPU.
  • DETAILED DESCRIPTION OF THE INVENTION 1. Hardware Configuration of an Embodiment 1.1 Overall Configuration
  • The following describes the configuration of a music editing system as an embodiment of the present invention with reference to FIG. 1.
  • In FIG. 1, the reference numeral 100 denotes a PC/AT compatible personal computer and is provided with a USB port 102 and an IEEE1394 port 104. The IEEE1394 port 104 of the personal computer 100 is serially connected with IEEE1394 ports of a controller 156, a synthesizer 162, and a mixer 168. These devices are compliant with the musical sound signal LAN (mLAN, registered trademark) proposed by the applicants. The musical sound signal LAN uses connection lines based on the IEEE1394 standard to send and receive MIDI signals, waveform data (audio data), control signals, and the like. A LAN patch bay 154 (to be described) controls logical line connection between the devices to transmit these signals.
  • In this manner, musical sound signal LAN compatible devices can interchange all the necessary signals with each other via the musical sound signal LAN. If an incompatible device is included, another interface is used to connect the devices to each other. The reference numeral 152 denotes a USB hub and is connected to USB ports of a synthesizer 160, an effector 164, and a mixer 166 and intermediates communication between these devices. According to the embodiment, the USB port 102 and the EEE1394 port 104 each constitute a MIDI port comprising a plurality of channels. The personal computer 100 interchanges MIDI signals with the other devices via these MIDI ports.
  • The controller 156 has: a LAN interface function to interchange MIDI signals and waveform data with the other devices via the musical sound signal LAN; a mixing function to mix waveform data; and a remote control function to remotely control the music software executed on the personal computer 100. The controller 156 is provided with a display unit, many operation devices, and a signal input/output section to input and/or output MIDI signals, analog waveforms, and digital waveforms. The controller 156 can convert MIDI signals and the like received via the musical sound signal LAN into an ordinary MIDI interface (an interface to send and receive MIDI signals via a MIDI cable). In this manner, it is possible to mediate between the musical sound signal LAN and devices that are incompatible with the musical sound signal LAN or the USB connection. The synthesizer 158 is connected to the controller 156 via a MIDI cable. Accordingly, bidirectional communication is available between the personal computer 100 and the synthesizer 158 via the musical sound signal LAN.
  • The synthesizers 158 and 160 synthesize musical sound signals that are supplied to the mixer 166 via an analog cable. The mixer 166 outputs audio signals for some channels to the effector 164. The effector 164 applies effects to the audio signals and outputs them to the mixer 166. An analog cable is used between the mixer 166 and the effector 164 to input and output audio signals. The mixers 166 and 168 are cascade-connected via a cascade cable. The cascading connection is a connection between mixers by interchanging audio signals and control signals with each other. A plurality of mixers can operate as if they were a single mixer having many input/output channels.
  • 1.2 Configuration of the Personal Computer 100
  • The configuration of the personal computer 100 will be described with reference to FIG. 2. The reference numeral 2 denotes a communication interface and is provided with the USB port 102 and the IEEE1394 port 104 as well as MIDI terminals (not shown). The reference numeral 4 denotes an input device comprising a keyboard for text entry, a mouse, and the like. The reference numeral 6 denotes a performance operation device comprising a keyboard for musical performance and the like. The reference numeral 8 denotes a display that displays various information for users. The reference numeral 10 denotes a CPU that controls the other components via a bus 16 based on a program to be described later. The reference numeral 12 denotes ROM that stores an initial program loader and the like.
  • The reference numeral 18 denotes a removable disk drive that reads or writes data on a removable disk 20 such as CD-ROM, MO, and the like. The reference numeral 22 denotes a waveform sampling interface that converts analog signals supplied from the outside into digital signals. The reference numeral 24 denotes a hard disk that stores an operating system, music software, performance information, waveform data, and the like. The reference numeral 26 denotes a waveform output interface that is supplied with digital musical sound signals via the bus 16 and converts these signals into analog signals. The reference numeral 28 denotes a sound system that generates the musical sound signals. The reference numeral 30 denotes RAM used as work memory for the CPU 10. In many cases, ordinary personal computers are not provided with the keyboard for musical performance.
  • 2. Software Module Configuration of the Embodiment
  • The software module configuration of the embodiment will be described with reference to FIGS. 5( a) and 5(b).
  • The remote control software to control external devices is configured as a plug-in module (remote control plug-in) that is to be plugged in the other software. Conventionally, the remote control plug-in is directly plugged in software such as the music software and controls the associated external devices. In FIGS. 5( a) and 5(b), the reference numerals 402, 404, and the like denote such types of remote control plug-ins. When various plug-ins are used in the other software, program files for the plug-ins are generally stored in a specified folder of the personal computer 100. When activated, the other software to use the plug-ins checks the plug-in folder. The plug-ins detected in the plug-in folder are plugged in the other software.
  • In FIG. 5( a), the remote control plug- ins 402, 404, and the like are plugged in the software indicated as a workspace plug-in 410. The workspace plug-in 410 is further plugged in music software 420. These software are initiated for different processes. FIG. 5( b) shows workspace software 430 that can be initiated standalone and control remote control plug-ins even when the music software 420 is inactive.
  • In the following description, the workspace plug-in 410 and the standalone workspace software 430 are generically referred to as “workspace programs”. These workspace programs have functions to provide similar control for each of the remote control plug-ins. However, the workspace plug-in 410 has an additional function to communicate with the music software 420 as mentioned above. There are setup states for the workspace program and the other setup states for the remote control plug- ins 402, 404, and the like plugged in the workspace program. These setup states are generically referred to as “workspaces”.
  • In FIG. 5( a), the workspace plug-in 410 (management process module) intermediates communication between the music software (application process module) 420 and each of the remote control plug-ins (remote control process module) 404, 404, and the like. The music software 420 transmits an instruction for synchronization to the workspace plug-in 410. The synchronization is to make correspondence between parameter memory contents for the remote control plug- ins 402, 404, and the like and those for the corresponding external devices. At this time, the workspace plug-in 410 transmits the synchronization instruction to each of the remote control plug- ins 402, 404, and the like individually.
  • The music software 420 may transmit an inquiry about MIDI ports being used to the workspace plug-in 410. The workspace plug-in 410 checks MIDI ports used by the remote control plug- ins 402, 404, and the like, and returns the result to the music software 420. Further, the music software 420 may transmit an instruction to the workspace plug-in 410 to open a panel window for any of the remote control plug-ins. The panel window simulates an operation panel of the corresponding external device. The workspace plug-in 410 transmits an instruction to the corresponding remote control plug-in to display the corresponding panel window. According to this instruction, the corresponding remote control plug-in opens the panel window.
  • As mentioned above, the workspace program and the remote control plug-ins are initiated for different processes. The memory space allocated to a given remote control plug-in is completely independent of the memory space allocated to the workspace program. There may be a possibility where the workspace program and the remote control plug-ins are initiated for different processes and share the memory space. In this case, the software independence is impaired, increasing the possibility of causing bugs.
  • The following describes the interface between each of the remote control plug-ins and the corresponding external device. The remote control plug-in and the external device interchange the parameter memory contents and the other control signals with each other. For this purpose, the remote control plug-in needs to always ensure an input port for control signals and an output port for control signals. Since control signals are sent and received in the form of MIDI signals, the input/output ports correspond to the MIDI ports. It is known that the “MIDI” originally signifies an interface for sending and receiving the musical performance information. The embodiment uses the MIDI signal format to send and receive control signals.
  • The external device may be a synthesizer or an equivalent device that generates musical sound signals based on the musical performance information. The remote control plug-in needs to transmit the musical performance information in its original meaning to the external device so as to generate the musical sound signals. In such case, another MIDI output port is assigned for musical performance information output. Likewise, the external device may transmit the musical performance information in its original meaning to the remote control plug-in. In such case, another MIDI input port is assigned for musical performance information input. In this manner, the remote control plug-in is assigned with at least “2” or up to “4” MIDI input/output ports for communication with the external device.
  • 3. Operations of the Embodiment 3.1 Operations of the Standalone Workspace Software 430
  • When a specified operation is performed on the personal computer 100, the standalone workspace software 430 starts. The display 8 displays a workspace management window 300 in FIG. 4( a). In the management window 300, the reference numeral denotes a menu bar that displays a “File” button 302, a “Synchronize” button 304, and the like. The reference numeral 310 denotes a field section that displays various icons 320 through 334 as shown in FIG. 4( a). These icons are remote control plug-in icons registered in the workspace. Nothing is displayed in the field section 310 when no remote control plug-in is available at an initial startup of the workspace software 430, for example.
  • 3.1.1 Details of the “File” Menu
  • (1) Process when “Open” is Selected
  • When a user uses a mouse to left-click a “File” button 302, a “File” menu 352 is displayed as shown in FIG. 4( b). Selecting “Open” displays a window to open files. The user can select a workspace setup file. Selecting an intended workspace setup file starts a workspace load routine as shown in FIG. 10( b). The “workspace setup file” here means a file that stores the workspace. A “registered plug-in” means a remote control plug-in used for the workspace. A “current workspace” means a workspace currently used for the active workspace software 430.
  • At step SP12 in FIG. 10( b), the process reads the contents of the specified workspace from a hard disk 24 and the like. At step SP14, the process displays a management window 300 that displays nothing in a field section 310. The field section 310 should display icons for “started registered plug-ins”. Since no registered plug-in is active at this time, the field section displays nothing. At step SP16, the process confirms the MIDI port used for a registered plug-in included in the current workspace. It may be preferable to display a warning indication such as “necessary MIDI port unavailable” concerning the registered plug-in whose MIDI port cannot be confirmed.
  • When the process proceeds to step SP18, the registered plug-ins becomes active to be “resident” as another process different from the workspace software 430. The field section 310 displays the icons 320 through 334 for external devices associated with the activated registered plug-ins. Each registered plug-in has its specific memory space. When the workspace software 430 needs to reference the content of the parameter memory included in the initiated remote control plug-in, the workspace software 430 issues an instruction to the remote control plug-in to inquire about the content. In response to this, the remote control plug-in returns the content to the workspace software 430. It may be preferable to use the workspace setup file to include the information whether or not to activate the panel window for the registered plug-ins and automatically activate the registered plug-in's panel window defined to be “activated” at this time. At step SP20, the process supplies the setup state of each registered plug-in included in the current workspace as a parameter to be specified for each activated registered plug-in. In each registered plug-in, the supplied parameter is written to the parameter memory of the registered plug-in.
  • At step SP22, the process determines whether or not “automatic total recall synchronization” is turned on in the current workspace. The “total recall synchronization” automatically synchronizes the content of the parameter memory in each external device with the content specified for the current workspace. If the determination result is “NO”, the routine process terminates immediately. If the determination result is “YES”, the process proceeds to step SP24. At this step, a total recall synchronization process routine in FIG. 11( b) is called. The registered plug-in targeted to the total recall synchronization starts a process to transmit parameters to the corresponding external device. It is possible to configure each registered plug-in to be targeted to the total recall synchronization. The configuration method will be described later in detail. In addition, the detail about the total recall synchronization process routine will be described later.
  • (2) Process when “Setup” is Selected
  • Selecting “Setup” in the “File” menu 352 displays a workspace setup window 600 on the display 8. In FIG. 7, the reference numeral 610 denotes a registrable plug-in display section that lists names of all remote control plug-ins installed in the personal computer. The personal computer's plug-in folder contains corresponding program files. The reference numeral 620 denotes a registered plug-in display section that lists names of registered plug-ins in the current workspace. Using the mouse, a user can click to select one or more plug-ins displayed in the display sections 610 and 620.
  • The reference numeral 612 denotes an Add button. Using the mouse, clicking the Add button 612 adds a plug-in selected in the registrable plug-in display section 610 to the registered plug-in display section 620. When a plug-in is already displayed in the registered plug-in display section 620, selecting that plug-in and operating the Add button 612 also adds the plug-in to the registered plug-in display section 620. At this time, the plug-in name is partially modified to be distinguished from the already registered plug-ins. When “mixer (A)” is already registered, for example, further adding “mixer (A)” renames it to “mixer (A)-2”. It may be preferable to allow users to specify any names. The reference numeral 614 denotes a Del button. Using the mouse, clicking the Del button deletes a plug-in selected in the registered plug-in display section 620. These operations can be used to edit the registered plug-ins in the current workspace as needed.
  • The reference numerals 616 and 618 denote priority specification sections to specify registered plug-ins targeted to the total recall synchronization. According to the configuration in FIG. 1, the LAN patch bay 154 is line connection control software that establishes logical transmission lines for MIDI signals and waveform data between devices including the personal computer 100 connected to the musical sound signal LAN. The LAN patch bay 154 is executed on the personal computer 100. Control from the LAN patch bay 154 controls musical sound signal LAN interfaces for the devices and establishes logical transmission lines on the musical sound signal LAN. The LAN patch bay 154 has a function to create MIDI signal and waveform data ports for the other devices and needs to be configured prior to these devices. Accordingly, the LAN patch bay 154 is assigned the highest priority (1). The controller is assigned the next highest priority (2) because it has a function to remotely control the music software executed on the personal computer. The other devices are not assigned priorities. Priority (3) will be assigned next. The total recall synchronization may be executed with priorities assigned to at least some of the registered plug-ins. In this case, the workspace program issues a synchronization instruction individually to the prioritized registered plug-ins according to the priorities. When completing the synchronization of a registered plug-in specified for the synchronization, the workspace program issues the synchronization instruction to another plug-in having the next priority. When completing all the prioritized registered plug-ins, the workspace program issues the synchronization instruction to the other registered plug-ins at a time.
  • The reference numeral 622 denotes a total recall synchronization check box. Using the mouse, clicking to check or uncheck this check box turns on or off the “automatic total recall synchronization” state (see step SP22 of the workspace load routine (FIG. 10( b)). The reference numeral 624 denotes a Set Default button. Using the mouse, clicking this button registers a state of the current workspace to register the remote control plug-ins as a default workspace. The default workspace is used by default when the workspace program starts, for example. With the default workspace specified, the field section 310 displays icons based on the default workspace when the workspace program starts without reading the workspace setup file or when the initiated workspace program creates a new workspace.
  • The reference numeral 626 denotes a MIDI input port list box that lists MIDI ports currently available in the workspace (those not used for the other software). These MIDI ports can be selected from the MIDI input ports implemented by the USB port 102 or the IEEE1394 port 104 and the MIDI input port corresponding to the above-mentioned MIDI terminal. The reference numeral 628 denotes a MIDI output port list box that lists MIDI output ports implemented by the USB port 102 or the IEEE1394 port 104. These list boxes 626 and 628 can allow one or more MIDI input/output ports to be selected and the selected MIDI input/output ports to be able to be allocated to the registered plug-ins.
  • The reference numeral 630 denotes an OK button. Using the mouse, clicking the OK button 630 updates the contents of the workspace as defined in the workspace setup window 600 and closes this window. The reference numeral 632 denotes a Cancel button. Using the mouse, clicking the Cancel button 632 discards the edited contents and then closes the workspace setup window 600.
  • (3) Process when “Save” is Selected
  • Selecting “Save” from the “File” menu 352 starts a workspace save routine as shown in FIG. 10( a). At step SP2 in FIG. 10( a), the process collects parameter memory contents from the registered plug-ins. When the registered plug-in is “online” as mentioned above, the parameter memory is updated based on ever-changing states of the external device. Accordingly, the parameter memory content collected by at step SP2 corresponds to the current state of each external device. Specifically, at step SP2, the workspace program sends an inquiry to each registered plug-in about parameter memory contents stored in the memory area. In return, the workspace program receives the parameter memory contents from each of the registered plug-ins.
  • At step SP4, the process combines the collected data with the workspace program's parameter to generate data (workspace setup data) to be written to the setup file. The “workspace program's parameter” is a parameter that is specified in the workspace setup window. At step SP6, the generated data is overwritten to the setup file corresponding to the current workspace.
  • (4) Other Processes
  • Selecting “Save As” from the “File” menu allows the display 8 to display a window to enter a filename of a new setup file for recording the current workspace. When the user specifies a filename, the file corresponding to the specified filename is subject to a process similar to that when “Save” was selected. Selecting “Close” from the “File” menu 352 closes the current workspace to assign the content of the default workspace to the current workspace. Selecting “Quit” from the “File” menu 352 closes the workspace management window 300 to terminate the workspace software 430. The user may select “Close” or “Quit” when the current workspace content is not recorded in the setup file. In this case, the user is given a warning notifying the situation. The process takes place as needed similarly when “Save” or “Save As” is selected.
  • 3.1.2 Left-Double-Clicking on Icons
  • Using the mouse, the user can move the cursor to any one of the icons 320 through 334, and then double-click the left mouse button (left-double-clicking). This operation outputs an instruction to display the panel window (e.g., a remote control plug-in panel window 500 in FIG. 6) for the remote control plug-in associated with the icon. As a result, the corresponding remote control plug-in displays the panel window. The panel window can be used to control parameters and the like for the corresponding external device. Processes for the panel window 500 will be describe later in more detail.
  • 3.1.3 Detail of the “Synchronize” Menu
  • Using the mouse, the user moves the cursor to the “Synchronize” button and then clicks the left mouse button (left-clicking) to display a “Synchronize” menu 354. At this time, selecting “Total Recall” starts a total recall synchronization routine in FIG. 11( b). At step SP72 in FIG. 11( b), the display 8 displays a total recall synchronization confirmation window 720 in FIG. 9( b). In FIG. 9( b), the reference numerals 722 and 724 denote radio buttons. Using the mouse, the user can either of these radio buttons as a total recall synchronization direction, i.e., “To Hardware” (from the registered plug-in to the external device) or “From Hardware” (from the external device to the registered plug-in).
  • The reference numeral 726 denotes a plug-in display section. The plug-in display section 726 enumerates names of one or more registered plug-ins for which the total recall synchronization is permitted, i.e., registered plug-in names targeted for the total recall synchronization. Since the targeted plug-in names are displayed here, the user can determine at a glance whether or not the total recall synchronization is performed for the intended external device. The reference numeral 728 denotes an OK button to start execution of the total recall synchronization. The reference numeral 730 denotes a Cancel button to stop execution of the total recall synchronization.
  • Returning now to FIG. 11( b), at step SP74, the process waits until the user uses the mouse to click the OK button 728 or the Cancel button 730. Clicking the Cancel button 730 stops the total recall synchronization and immediately terminates the routine. Clicking the OK button 728 advances the process to step SP76. The process selects the first plug-in to be processed from the registered plug-ins listed in the workspace. At step SP78, the process determines whether or not the total recall synchronization is permitted for the plug-in.
  • If the result is “NO”, the process proceeds to step SP86 to search for the next registered plug-in in the list and determine whether or not the relevant plug-in is found. If the result is “YES”, the process proceeds to step SP88. The process specifies the retrieved plug-in to be the next process target and returns to step SP78.
  • If the result is “YES” at step SP78, the process proceeds to step SP80 to determine whether or not the personal computer 100 can communicate with an external device associated with the registered plug-in. Specifically, a test signal is transmitted via the MIDI output port specified by the registered plug-in. If a response signal returns via the MIDI input port within a specified time, it is assumed to be “communicable”. If no response signal returns within the specified time, the result is assumed to be “NO” at step SP80. The process proceeds to step SP84.
  • At this time, the display 8 displays a warning window showing a message “No hardware for synchronization” and the registered plug-in name for processing. The user can close this warning window. According to the routine, however, the process proceeds to step SP86 when the warning window is displayed.
  • If the result is “YES” (communicable) at step SP80, the process proceeds to step SP82. The process then outputs an instruction to the registered plug-in for processing to perform the synchronization with the corresponding external device. The instruction includes the total recall synchronization direction (“To Hardware” or “From Hardware”) specified by the radio button 722 or 724. The registered plug-in starts the data transfer in the specified total recall synchronization direction.
  • After a loop of steps SP78 through SP86 is repeated for all the registered plug-ins, the result is assumed to be “NO” at step SP86 and the process proceeds to step SP90. At this time, the display 8 displays a total recall synchronization progress display window 740 in FIG. 9( c). Inside the window 740, the reference numerals 741, 743, 745, and 747 denote plug-in name display sections to display registered plug-in names targeted for the total recall synchronization. The illustrated example shows that only “4” registered plug-ins are specified for the total recall synchronization.
  • When the registered plug-in is targeted for the total recall synchronization, the registered plug-in allows the progress of the synchronization to be kept track of. That is to say, the registered plug-in calculates a ratio of the synchronized data amount to the entire data amount targeted for the synchronization. Calculation results are sequentially reported to the workspace software 430. The reference numerals 742, 744, 745, and 748 denote histograms that display the ever-changing progress of the synchronization reported from the plug-ins. The reference numerals 752, 754, 756, and 758 denote Cancel buttons provided to the plug-ins targeted for the total recall synchronization. Mouse-clicking the Cancel button outputs an instruction to the corresponding registered plug-in to stop the synchronization. When identifying the instruction, the registered plug-in stops the synchronization.
  • When a given registered plug-in completes the total recall synchronization in progress, the workspace software 430 is notified of this. The corresponding registered plug-in changes to be “online”. The “online” state signifies realtime synchronization between the registered plug-in and the corresponding external device. That is to say, an operation on the personal computer 100 or the external device modifies the parameter memory in the registered plug-in or the external device. The modified content is transmitted to the other to keep both the parameter memory contents corresponding to each other. No registered plug-in can change to be “online” until the synchronization is complete. The routine process terminates when the synchronization is completed for all the registered plug-ins.
  • 3.1.4 Details of the Right-Click Menu on Icons
  • When the field section 310 displays icons, right-mouse clicking on any of the icons displays an icon menu 360 in FIG. 4( d). Selecting “Open” displays the panel window (e.g., FIG. 6) for the remote control plug-in associated with the corresponding icon as described in “Left-double-clicking on icons” above. Selecting “Close” from the icon menu 360 closes the panel window.
  • Each time “TRecall Enable” is selected, the total recall synchronization toggles between the enabled state (a check mark displayed) and the disabled state (no check mark displayed). The state selected here determines the result at step SP78 as mentioned above. Selecting “TRecall Data” displays a synchronization item selection window 362. The window lists parameter group names stored in the parameter memory of the corresponding registered plug-in. The user can select groups to be synchronized.
  • Selecting “Remove” removes the icon from the field section 310. The corresponding remote control plug-in is excluded from the registered plug-ins. Selecting “Synchronize” starts an individual synchronization routine as shown in FIG. 11( a). At step SP52 in FIG. 11( a), the display 8 displays an individual plug-in synchronization confirmation window 700. In FIG. 9( a), the reference numerals 702 and 704 denote radio buttons corresponding to “To Hardware” and “From Hardware” as synchronization directions one of which can be selected. The reference numeral 706 denotes a plug-in name display section that displays one registered plug-in to be synchronized. The reference numeral 708 denotes an OK button to start execution of the synchronization. The reference numeral 710 denotes a Cancel button to stop execution of the synchronization.
  • Returning now to FIG. 11( b), at step SP54, the process waits until the user uses the mouse to click the OK button 708 or the Cancel button 710. Clicking the Cancel button 710 stops the synchronization and immediately terminates the routine. Clicking the OK button 708 advances the process to step SP56. Like the process at step SP80, it is determined whether or not the personal computer 100 can communicate with an external device associated with the registered plug-in.
  • If the communication is impossible, the process proceeds to step SP60. The display 8 displays a warning window similar to that displayed at step SP84 above. If the result is “YES” (communicable) at step SP56, the process proceeds to step SP58. Like step SP82 above, the process outputs an instruction to the registered plug-in to perform the synchronization with the corresponding external device. The instruction includes the synchronization direction specified by the radio button 702 or 704. In this manner, the routine process terminates. When the synchronization is complete for the registered plug-in thereafter, the registered plug-in changes to be “online”.
  • 3.2 Operations of the Remote Control Plug-in Panel Window 500 (FIG. 6)
  • As mentioned above, left-double-clicking on any of the icons 320 through 334 displays the panel window of the remote control software for the corresponding device. Operations of the panel window will be described in detail according to an example of displaying the remote control plug-in panel window 500 (FIG. 6) for the controller 156 corresponding to the icon 320. In FIG. 6, the reference numeral 510 denotes a menu bar that displays a “File” button 512, a “Synchronize” button 516, and the like. The reference numeral 520 denotes a field section that displays images for level meters 522 and 524, a channel name display section 526, a rotary control 528, switches 530 and 532, and faders 534 and 536 as shown in FIG. 6.
  • The images displayed in the field 520 simulate the configuration of an operation panel on the controller 156 as the corresponding external device or an equivalent configuration of functions implemented by the operation panel. When the registered plug-in is “online”, the controller 156 notifies the personal computer 100 of the contents to be displayed on the level meters 522 and 524, and the like. Based on the received operation contents, the registered plug-in updates the contents of its parameter memory. When the switches, rotary controls, faders, and the like are operated on the operation panel of the controller 156, the operation contents are notified to the personal computer 100.
  • By contrast, using the mouse, the user can click or drag to operate the rotary control 528, the switches 530 and 532, the faders 534 and 536, and the like in the field section 520. The operation contents are notified to the controller 156. Based on the received operation contents, the controller 156 updates the contents of its parameter memory. In this manner, the personal computer 100 or the controller 156 notifies the other of the operation contents that are immediately reflected in the parameter memory of the notified side. The registered plug-in and the controller 156 always maintain the same contents in their parameter memories. Accordingly, the display contents of the field section 520 match the states of the operation panel on the controller 156.
  • 3.2.1 Process when “Setup” is Selected from the “File” Menu
  • In the menu bar 510, left mouse clicking on the “File” button 512 displays a “File” menu similar to the “File” menu 352 (FIG. 4( b)) in the workspace management window 300 as mentioned above. Selecting “Setup” from the “File” menu allows the display 8 to display a remote control plug-in setup window 650 as shown in FIG. 8. The reference numerals 652 and 656 denote combo boxes for selecting MIDI input ports to input various control signals and the musical performance information. These combo boxes allow selection of MIDI input ports for control signals and the musical performance information from a plurality of candidates.
  • Likewise, the reference numerals 654 and 658 denote combo boxes for selecting MIDI output ports to output various control signals and the musical performance information. These combo boxes allow selection of MIDI output ports for control signals and the musical performance information from a plurality of candidates. The workspace program notifies the remote control plug-ins of MIDI input/output port candidates to be displayed in the combo boxes 652 through 658.
  • As mentioned above, the workspace program allows a plurality of MIDI input/output ports to be selected from a MIDI input port list box 626 and a MIDI output port list box 628 (FIG. 7). The selected MIDI input/output ports include those already allocated to the other remote control plug-ins. The remaining MIDI input/output ports except the allocated ones are notified to the remote control plug-ins. In this manner, the combo boxes 652 through 658 allow selection of the MIDI input/output ports so as to avoid duplicates with the MIDI input/output ports for the other registered plug-ins.
  • The reference numeral 660 denotes an OK button. Mouse-clicking on the OK button 660 updates the MIDI input/output ports assigned to the remote control plug-in as specified in the setup window 650, and then closes the setup window 650. The reference numeral 662 denotes a Cancel button. Mouse-clicking on the Cancel button 662 discards the edit contents, and then closes the setup window 650. The edit contents, i.e., the MIDI input/output ports assigned to the remote control plug-in, are written to the remote control plug-in's parameter memory. The workspace program issues an inquiry to each remote control plug-in to obtain the information about MIDI input/output ports assigned to the remote control plug-in. The workspace program may be the workspace plug-in 410. In such case, the workspace plug-in 410 responds to a request from the music software 420 and notifies it of correspondence between each remote control plug-in and the MIDI input/output ports.
  • 3.2.2 Other Processes
  • Selecting “Open” from the “File” menu displays a window to open files. The user can select the setup file for the registered plug-in. The setup file for plug-in has a format specific to the registered plug-in. This format differs from that for the above-mentioned setup file for workspace. The setup file for plug-in stores parameters only associated with the corresponding plug-in. When the setup file is selected, parameters defined in the setup file are overwritten to the parameter memory of the registered plug-in.
  • Like the operations on the workspace management window 300 as mentioned above, selecting “Save” or “Save As” from the “File” menu stores the contents of the plug-in's parameter memory in the setup file for plug-in. Selecting “Quit” from the “File” menu closes the panel window 500. The corresponding registered plug-in itself is “resident” and continues to be active. When the registered plug-in is “online”, the parameter memory content is always maintained to correspond to the external device's state. When the panel window 500 is reopened thereafter, the field section 520 and the like reflect the current state.
  • There has been described the configuration and operations of the remote control plug-in panel window 500 for the controller 156. The remote control plug-in panel window for the other external devices provides the same configuration and operations for the menu bar 510 as those for the above-mentioned panel window 500. It is to be distinctly understood that the contents of the field section 520 depend on the configuration of the operation panel for each external device.
  • 3.3 Operations of the Music Software
  • Performing specified operations on the personal computer 100 initiates the music software 420 capable of recording, playing, and editing sequence data comprising waveform data, MIDI data, and the like on a plurality of tracks independently. The display 8 displays a music software window 200 as shown in FIG. 3( a). In FIG. 3( a), the reference numeral 210 denotes a menu bar that displays various menu buttons such as a “File” button 211, a “Plugins” button 214, and the like. The reference numeral 220 denotes a track display section comprising a plurality of “rows” divided into tracks of sequence data played back by the music software 420. The reference numeral 222 denotes a start button section comprising start buttons provided for the corresponding tracks. The start button is a kind of graphic control used to open the panel window of the external device (MIDI sound module, mixer, effector, and the like) or the software (software synthesizer, software effector, and the like) to be supplied with MIDI signals or waveform data played on each track.
  • The music software 402 plays back sequence data that can include the musical performance information (MIDI data) and waveform data for each of the tracks. The reference numeral 224 denotes a track type display section to display whether data for each track is waveform data (W) or MIDI data (M). The reference numeral 228 denotes a track name display section that displays a name (e.g., timbre name) assigned to each track. The reference numeral 230 denotes an output port display section that displays an output port name assigned to each track. The output ports are resources of the system, and allocateble to external devices corresponding to the tracks. The reference numeral 240 denotes a block display section that displays a block for each track. The block indicates a range of sequence data comprising a MIDI signal or waveform data along the abscissa as a time axis. The reference numeral 250 denotes a recording/playback operation section comprising: buttons 254 through 262 to record, play, fast-forward, rewind, and stop sequence data; and a time code display section 252 to display a time code. To start recording, the user specifies one or more tracks ((M) and/or (W)) to be recorded. The user moves a time axis cursor to a position to start recording, operates the recording button 262 to wait for recording, and then operates the start button 260 to start recording the specified track. To start playback, the user moves the time axis cursor to a position to start playback, and then operates the start button 260 to play back all the unmuted tracks. Operating the stop button 258 can stop the recording or the playback in process.
  • When the workspace plug-in 410 is configured to be resident (active), initiating the music software 420 initiates the workspace plug-in 40 in the “resident” state. Further, the registered plug-ins plugged in the workspace plug-in 410 are also initiated in the “resident” state. According to the embodiment, the music software 420 initiates the plugged-in workspace plug-in 410. The workspace setup window 600 is used to register any remote control plug-in. At this time, the workspace plug-in 410 is automatically made resident (active). That is to say, it is assumed that the workspace plug-in 410 has registered plug-ins. It may be preferable that the user can select whether the music software 420 should “use” or “not use” the workspace plug-in 410. In this case, the workspace plug-in 410 can be made resident when selected to be “used”. It is desirable that the selection is saved in a sequence data file to be described later. Alternatively, after the music software 420 initiates the workspace plug-in 410, it may be preferable to allow the workspace plug-in to become “resident”.
  • 3.3.1 Operations after Selecting the “Plugins” Button 214
  • Mouse-clicking the “Plugins” button 214 displays a plug-in menu 270 in FIG. 3( b). This menu lists names of various plug-in software (plug-ins corresponding to program files placed in the plug-in folder) plugged in the music software 420. The plug-in menu 270 also lists the plug-in software such as “XG editor” and “DX editor” for the above-mentioned remote control plug-in. “WS manager” is the name of the above-mentioned workspace plug-in 410.
  • The music software 420 is loaded with all the plug-in software corresponding to the program files in the plug-in folder. The plug-in menu 270 lists names of these plug-in software. The plug-in software are directly plugged in the music software 420 without mediation of the workspace plug-in 410. Some of the plug-in software are registered to the workspace plug-in 410 and the others are not.
  • When “WS manager” is selected from the plug-in menu 270, the selection is notified to the workspace plug-in 410. The workspace plug-in 410 displays the workspace management window 300 on the display 8. Operations in the management window 300 are the same as those for the above-mentioned standalone workspace software 430. That is to say, various operations are available such as left-double-clicking on an icon displayed in the field section 310, starting the panel window for the registered plug-in corresponding to the icon, and the like.
  • When the music software 420 initiates the workspace plug-in 410, the workspace plug-in 410 may issue a request. In response to the request, the music software 420 notifies the workspace plug-in 410 of available MIDI input/output ports. This is because the personal computer 100 provides available MIDI input/output ports some of which may be used independently of the workspace plug-in 410. For example, there may be available input/output ports used for the software directly plugged in the music software 420. Accordingly, when the workspace plug-in 410 displays the setup window 600, the MIDI input port list box 626 and the MIDI output port list box 628 list only the MIDI input/output ports notified from the music software 420. The MIDI input/output ports are resources of the system allocateble to the external devices.
  • When the user selects a remote control plug-in directly plugged in the music software from the plug-in menu 270, the music software initiates the corresponding plug-in. The display 8 displays the panel window, allowing the user to modify various settings.
  • 3.3.2 Start Button Operations and Effects
  • When a start button belongs to the MIDI data (M) track in the start button section 222, mouse-clicking the start button initiates a start button operation event routine as shown in FIG. 10( c). The track plays back musical performance information that is output to a MIDI output port. Based on this MIDI output port, at step SP32 in FIG. 10( c), the process detects the external device (MIDI sound module) or the software (software synthesizer) that uses the output port as an input source for the musical performance information. When the remote control plug-in to be used is directly plugged in the music software 420, the music software 420 issues an inquiry to the remote control plug-in and can determine which MIDI output port is used to supply the musical performance information to the external device corresponding to the remote control plug-in. When the music software 420 uses the workspace plug-in 410, the music software 420 issues an inquiry to the workspace plug-in 410 and can determine which MIDI output port is used to supply the musical performance information to the external device corresponding to each registered plug-in in the workspace. As mentioned above, the workspace plug-in 410 can obtain the correspondence between each registered plug-in and the MIDI input/output port for musical performance information from the registered plug-ins. The workspace plug-in 410 notifies the music software 420 of the obtained correspondence information. When the software synthesizer is used as the music software, each software synthesizer provides its special virtual MIDI port at startup. Therefore, the correspondence can be immediately determined according to the output port. When the external device is detected, the process determines the remote control plug-in that controls the external device. When the software is detected, the process determines the corresponding software control plug-in.
  • A MIDI signal output from the MIDI output port may be supplied to MIDI devices that are not compliant with remote control. Obviously, in such case, there is no corresponding plug-in. At step SP34, the process determines whether or not any remote control plug-in or software control plug-in is retrieved based on the detection result at step SP32. If the result is “NO”, the routine process terminates immediately.
  • If the result is “YES” at step SP34, the process proceeds to step SP36. It is determined whether or not the detected plug-in is a registered plug-in belonging to the workspace plug-in 410. If the result is “YES”, the process proceeds to step SP40. The music software 420 issues an instruction to the workspace plug-in 410 to output an instruction to the registered plug-in so as to display the panel window. Based on this process, the workspace plug-in 410 outputs an instruction to the registered plug-in so as to display the panel window. The registered plug-in displays the panel window on the display 8.
  • When the detected plug-in is directly plugged in the music software 420, the result at step SP36 is “NO”. The process proceeds to step SP38. The music software 420 outputs an instruction to the plug-in to display the panel window. The plug-in displays the panel window on the display 8.
  • 3.3.3 Details of the “File” Menu
  • (1) Process when “Open” is Selected
  • Left-mouse-clicking on the “File” button 211 displays the “File” menu similar to that shown in FIG. 4( b) above. Selecting “Open” displays the window to open files. The user can select sequence data files for musical performance information and the like. When a given sequence data file is selected, its content is read, enabling processes such as playback of the musical performance information on the recording/playback operation section 250.
  • According to the embodiment, the sequence data file can contain “workspace setup data”. The content of workspace setup data is similar to the above-mentioned “workspace setup file”. When the sequence data file is configured to allow the workspace plug-in to be active (resident), the sequence data file contains the workspace setup data. When the workspace setup data is contained, the workspace plug-in 410 is initiated. The music software 426 supplies the workspace plug-in 410 with the workspace setup data. When supplied with the workspace setup data, the workspace plug-in 410 performs the process similar to the above-mentioned workspace load routine (FIG. 10( b)).
  • That is to say, the supplied workspace setup data is read. The display 8 displays the management window 300 with the field section 310 nothing displayed in it. The process then confirms the MIDI ports used for the remote control plug-ins contained in the workspace (SP16). The process initiates the registered plug-ins as being “resident” and displays the corresponding icons in the field section 310 (SP18). The process writes a parameter corresponding to the current workspace in the parameter memory of each registered plug-in (SP20). When the “automatic total recall synchronization” is enabled, the process starts a parameter transmission process for the corresponding external device (SP24).
  • (2) Process when “Save” is Selected
  • Let us consider that the music software 420 is configured to allow the workspace plug-in 410 to be active (resident). When “Save” is selected from the “File” menu corresponding to the “File” button 211, the music software 420 outputs an instruction to the workspace plug-in 410 to collect the workspace state. As a result, the workspace plug-in 410 performs a process similar to the above-mentioned workspace save routine (FIG. 10( a)). Issuing requests to the registered plug-ins to collect the parameter memory contents from the registered plug-ins (SP2). The collected data is combined to the parameter of the workspace program itself to create the “workspace setup data” (SP4).
  • According to the example, the workspace setup data is generated based on the instruction from the music software 420. In such case, the workspace setup data can be supplied to the instruction-issuing software instead of performing the process at step SP6 (writing data in the setup file). When supplied with the workspace setup data from the workspace plug-in 410, the music software 420 combines the workspace setup data with the sequence data at the time. Data as the combination result is stored as a sequence data file in the hard disk 24. The workspace plug-in 410 may be initiated from the music software 420. Even in such case, the setup file for the workspace plug-in 410 is capable of writing and reading independently of the sequence data file for the music software 420. Accordingly, it is possible to move the setting of the workspace plug-in 410 corresponding to a given sequence data file for the music software 420 to another sequence data file.
  • 4. Modifications
  • The present invention is not limited to the above-mentioned embodiment but may be embodied in various modifications as follows.
  • (1) The embodiment performs various processes using the workspace program, the application program, the remote control plug-in, and the like operating on the personal computer. It is also possible to distribute these programs by means of not only storing them on recording media such as CD-ROM and flexible disks, but also transmitting them via communication line.
  • (2) The embodiment performs the start button operation event routine (FIG. 10( c)) only in response to mouse-click on any start button belonging to the MIDI data (M) track in the start button section 222. The similar process may be performed in response to mouse-click on a start button belonging to the waveform data (W) track.
  • (3) Different icons may be used for the external devices associated with the registered plug-ins displayed in the field section 310 of the workspace. Icons may be designed as not only shapes representing the external devices associated with the registered plug-ins, but also logos, images, and the like. The “icons” are not limited to bit-mapped graphics but may be simple boxes that contain product model numbers, trademarks, user-supplied names, and the like.
  • (4) According to the embodiment, the workspace software 430 determines whether or not there is an external device to be synchronized during the total recall synchronization or the individual synchronization (SP80 or SP56). The workspace software 430 may periodically check the availability of external devices and not check it during the synchronization process. The workspace software 430 itself does not always need to check the availability. The workspace software 430 may issue an instruction to each registered plug-in and allow the registered plug-in to check the availability of external devices under control.
  • (5) The LAN dedicated to musical sound signals can be implemented on networks other than the IEEE1394 standard. The musical sound signal LAN may be constructed on 100baseT Ethernet (registered trademark) according to a line connection as indicated by dotted lines in FIG. 1. Alternatively, a wireless LAN or a USB may be used to implement a similar musical sound signal LAN.

Claims (23)

1. A method of controlling a plurality of external devices, being performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work using the external devices while communicating with the management process,
wherein the application process performs a step of sending an issuance request instruction to the management process, for requesting an issuance of an operation instruction to one of the remote control processes managed by the management process,
wherein the management process performs a step of issuing the operation instruction in response to the issuance request instruction from the application process, and transferring the operation instruction to said one remote control process, the operation instruction specifying an operation to be performed by said one remote control process, and
wherein the said one remote control process performs the specified operation in response to the operation instruction sent from the management process.
2. The method according to claim 1, wherein the application process further performs the steps of: sending a request instruction to the management process when a save operation is detected for requesting state information about a current state; combining data maintained in the application process with the information about the current state supplied from the management process in response to the request instruction; and saving a setup file containing combined results of the data of the application process and the information of the management process,
wherein the management process further performs the steps of: collecting first parameters representing current states of the remote control processes from the respective remote control processes in response to the request instruction from the application process; and combining the collected first parameters with second parameters representing a current state of the management process; and supplying the application process with combined results of the first and second parameters as the information about the current state.
3. The method according to claim 1, wherein the application process further performs the steps of: reading a setup file when a load operation is detected, the read setup file containing configuration data specifying a state of the management process and states of the remote control processes; and supplying the management process with the configuration data, and
wherein the management process further performs the steps of: initiating one or more of the remote control process associated with parameters described in the configuration data; and supplying the initiated remote control process with the parameters described in the configuration data.
4. The method according to claim 1, wherein the management process performs the step of transferring the operation instruction specifying the operation including at least one of: a synchronization operation to synchronize a current state of said one remote control process with a current state of the corresponding external device controlled by said one remote control process; and a display operation to display a remote operation screen for use in remote control of the external device corresponding to said one remote control process.
5. The method according to claim 1, wherein the remote control process is plugged in the management process so that the application process indirectly manages the remote control process through an intermediate management process, or alternatively the remote control process may be plugged in the application process so that the application process directly manages the remote control process.
6. The method according to claim 1, wherein the management process performs a step of registering a remote control process managed by the management process based on a remote control program installed in the computer.
7. A method of controlling a plurality of external devices, being performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work using the external devices while communicating with the management process,
wherein the application process performs: a first display step of displaying a screen of the application work provided with a plurality of graphic controls corresponding to the plurality of the external devices; and a step of sending an issuance request instruction to the management process when an operation is applied to one of the graphic controls provided in the screen of the application work,
wherein the management process performs: a step of issuing a display instruction in response to the issuance request instruction from the application process; and a step of sending the issued display instruction to one of the remote control processes corresponding to the graphic control to which the operation is applied, and
wherein said one remote control process performs: a step of receiving the display instruction sent from the management process; and a second display step of displaying a remote operation screen in response to the display instruction for use in remote control of the corresponding external device.
8. The method according to claim 7, wherein the remote control process is plugged in the management process so that the application process indirectly manages the remote control process through an intermediate management process, or alternatively the remote control process may be plugged in the application process so that the application process directly manages the remote control process.
9. The method according to claim 7, wherein the management process performs a step of registering a remote control process managed by the management process based on a remote control program installed in the computer.
10. A method of controlling a plurality of external devices, being performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work with allocating resources to the remote control processes while communicating with the management process, wherein
the management process performs the steps of:
receiving first information indicating a first group of resources which are available for the application work from the application process;
reserving a second group of resources among the first group of the resources for use in the remote control processes managed by the management process;
notifying one of the remote control processes of second information indicating a third group of resource(s) which is included in the second group of the resources but not used by any of the remote control processes yet, the notified remote control process selecting one or more resources from among the third group of the resource(s) and reserving the one or more resources for use in the notified remote control process; and
receiving, from the notified remote control process, third information indicating a fourth group of resource(s) which is the rest of the third group of resource(s) after the notified remote control process reserves the one or more resources among the third group of resource(s) to update the second information.
11. The method according to claim 10, wherein the remote control process is plugged in the management process so that the application process indirectly manages the remote control process through an intermediate management process, or alternatively the remote control process may be plugged in the application process so that the application process directly manages the remote control process.
12. The method according to claim 10, wherein the management process performs a step of registering a remote control process managed by the management process based on a remote control program installed in the computer.
13. A method of controlling a plurality of external devices, being performed on a computer which is set up with a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting at least a reproduction work of a music piece using resources while communicating with the management process, the method comprising:
the application process allocating a resource to each of plural tracks of the music piece;
the application process outputting musical performance information reproduced from the plural tracks of the music piece utilizing the respective resources allocated to the respective tracks;
the management process collecting resource information from the respective remote control processes, the resource information indicating the group of the resources reserved by the respective remote control processes;
the application process receiving the resource information from the management process, the resource information indicating a group of resources used by the respective remote control processes;
the application process, in response to a display request of a remote operation screen regarding to one of the tracks, identifying an external device based on the resource allocated to the track and the resource information received from the management process, the identified external device being supplied with the musical performance information reproduced from the track utilizing the allocated resource; and
the application process sending an issuance request instruction to the management process as regards to one remote control process corresponding to the identified external device,
the management process issuing the display instruction to said one remote control process in response to the issuance request instruction, and
said one remote control process displaying a remote operation screen in response to the display instruction from the management process, so that the external device corresponding to said one track can be remotely controlled on the displayed remote operation screen.
14. The method according to claim 13, wherein the remote control process is plugged in the management process so that the application process indirectly manages the remote control process through an intermediate management process, or alternatively the remote control process may be plugged in the application process so that the application process directly manages the remote control process.
15. The method according to claim 13, wherein the management process performs a step of registering a remote control process managed by the management process based on a remote control program installed in the computer.
16. An apparatus for controlling a plurality of external devices, comprising:
a plurality of remote control modules corresponding to the plurality of the external devices;
a management module for managing the remote control modules while communicating with the remote control modules, and
an application module for conducting an application work using the external devices while communicating with the management module,
wherein the application module sends an issuance request instruction to the management module for requesting an issuance of an operation instruction to one of the remote control modules managed by the management module,
wherein the management module issues the operation instruction in response to the issuance request instruction from the application module, and transfers the operation instruction to said one remote control module, the operation instruction specifying an operation to be performed by said one remote control module, and
wherein said one remote control module performs the specified operation in response to the operation instruction sent from the management module.
17. An apparatus for controlling a plurality of external devices, comprising:
a plurality of remote control modules corresponding to the plurality of the external devices;
a management module for managing the remote control modules while communicating with the remote control modules; and
an application module for conducting an application work using the external devices while communicating with the management module,
wherein the application module displays a screen of the application work provided with a plurality of graphic controls corresponding to the plurality of the external devices, and sends an issuance request instruction to the management module when an operation is applied to one of the graphic controls provided in the screen of the application work,
wherein the management module issues a display instruction in response to the issuance request instruction from the application module, and sends the issued display instruction to one of the remote control modules corresponding to the graphic control to which the operation is applied, and
wherein said one remote control module receives the display instruction sent from the management module, and displays a remote operation screen in response to the display instruction for use in remote control of the corresponding external device.
18. An apparatus for controlling a plurality of external devices, comprising:
a plurality of remote control modules corresponding to the plurality of the external devices;
a management module for managing the remote control modules while communicating with the remote control modules; and
an application module for conducting an application work with allocating resources to the remote control modules while communicating with the management module,
wherein the management module receives first information indicating a first group of resources which are available for the application work from the application module, then reserves a second group of resources among the first group of the resources for use in the remote control modules managed by the management module, then notifies one of the remote control modules of second information indicating a third group of resource(s) which is included in the second group of the resources but not used by any of the remote control modules yet, the notified remote control module selects one or more resources from among the third group of the resource(s) and reserves the one or more resources for use in the notified remote control module, and thereafter receives, from the notified remote control module, third information indicating a fourth group of resource(s) which is the rest of the third group of resource(s) after the notified remote control module reserves the one or more resources among the third group of resource(s) to update the second information.
19. An apparatus for controlling a plurality of external devices, comprising:
a plurality of remote control modules corresponding to the plurality of the external devices;
a management module for managing the remote control modules while communicating with the remote control modules; and
an application module for conducting at least a reproduction work of a music piece using resources while communicating with the management module,
wherein the application module allocates a resource to each of plural tracks of the music piece, then outputs musical performance information reproduced from the plural tracks of the music piece utilizing the respective resources allocated to the respective tracks, then receives resource information from the management module, the resource information indicating a group of resources used by the respective remote control modules, then identifies an external device in response to a display request of a remote operation screen regarding to one of the tracks based on the resource allocated to the track and the resource information received from the management module, the identified external device being supplied with the musical performance information reproduced from the track utilizing the allocated resource, and sends an issuance request instruction to the management module as regards to one remote control module corresponding to the identified external device,
wherein the management module collects the resource information from the respective remote control modules, the resource information indicating the group of the resources used by the respective remote control modules, and issues the display instruction to said one remote control module in response to the issuance request instruction, and
wherein said one remote control module displays a remote operation screen in response to the display instruction from the management module, so that the external device corresponding to said one track can be remotely controlled on the displayed remote operation screen.
20. A program set for use in controlling a plurality of external devices, the program set being installable in a computer to set up therein a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work using the external devices while communicating with the management process,
wherein the application process performs a step of sending an issuance request instruction to the management process for requesting an issuance of an operation instruction to one of the remote control processes managed by the management process,
wherein the management process performs a step of issuing the operation instruction in response to the issuance request instruction from the application process, and transferring the operation instruction to said one remote control process, the operation instruction specifying an operation to be performed by said one remote control process, and
wherein the said one remote control process performs the specified operation in response to the operation instruction sent from the management process.
21. A program set for use in controlling a plurality of external devices, the program set being installable in a computer to set up therein a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work using the external devices while communicating with the management process,
wherein the application process performs: a first display step of displaying a screen of the application work provided with a plurality of graphic controls corresponding to the plurality of the external devices; and a step of sending an issuance request instruction to the management process when an operation is applied to one of the graphic controls provided in the screen of the application work,
wherein the management process performs: a step of issuing a display instruction in response to the issuance request instruction from the application process; and a step of sending the issued display instruction to one of the remote control processes corresponding to the graphic control to which the operation is applied, and
wherein said one remote control process performs: a step of receiving the display instruction sent from the management process; and a second display step of displaying a remote operation screen in response to the display instruction for use in remote control of the corresponding external device.
22. A program set for use in controlling a plurality of external devices, the program set being installable in a computer to set up therein a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting an application work with allocating resources to the remote control processes while communicating with the management process, wherein
the management process performs the steps of:
receiving first information indicating a first group of resources which are available for the application work from the application process;
reserving a second group of resources among the first group of the resources for use in the remote control processes managed by the management process;
notifying one of the remote control processes of second information indicating a third group of resource(s) which is included in the second group of the resources but not used by any of the remote control processes yet, the notified remote control process selecting one or more resources from among the third group of the resource(s) and reserving the one or more resources for use in the notified remote control process; and
receiving, from the notified remote control process, third information indicating a fourth group of resource(s) which is the rest of the third group of resource(s) after the notified remote control process reserves the one or more resources among the third group of resource(s) to update the second information.
23. A program set for use in controlling a plurality of external devices, the program set being installable in a computer to set up therein a plurality of remote control processes corresponding to the plurality of the external devices, a management process for managing the remote control processes while communicating with the remote control processes and an application process for conducting at least a reproduction work of a music piece using resources while communicating with the management process,
the application process allocating a resource to each of plural tracks of the music piece;
the application process outputting musical performance information reproduced from the plural tracks of the music piece utilizing the respective resources allocated to the respective tracks;
the management process collecting resource information from the respective remote control processes, the resource information indicating the group of the resources reserved by the respective remote control processes;
the application process receiving the resource information from the management process, the resource information indicating a group of resources used by the respective remote control processes;
the application process, in response to a display request of a remote operation screen regarding to one of the tracks, identifying an external device based on the resource allocated to the track and the resource information received from the management process, the identified external device being supplied with the musical performance information reproduced from the track utilizing the allocated resource; and
the application process sending an issuance request instruction to the management process as regards to one remote control process corresponding to the identified external device,
the management process issuing the display instruction to said one remote control process in response to the issuance request instruction, and
said one remote control process displaying a remote operation screen in response to the display instruction from the management process, so that the external device corresponding to said one track can be remotely controlled on the displayed remote operation screen.
US12/855,554 2004-01-15 2010-08-12 Remote control method of external devices Abandoned US20100306667A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/855,554 US20100306667A1 (en) 2004-01-15 2010-08-12 Remote control method of external devices

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2004-008107 2004-01-15
JP2004008107A JP4823483B2 (en) 2004-01-15 2004-01-15 External device control method, external device control device, and program
JP2004008103A JP4362768B2 (en) 2004-01-15 2004-01-15 External device control method, external device control device, and program
JP2004-008103 2004-01-15
JP2004008096A JP4823482B2 (en) 2004-01-15 2004-01-15 External device control method, external device control device, and program
JP2004-008096 2004-01-15
US11/030,830 US20050159832A1 (en) 2004-01-15 2005-01-07 Remote control method of external devices
US12/855,554 US20100306667A1 (en) 2004-01-15 2010-08-12 Remote control method of external devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/030,830 Division US20050159832A1 (en) 2004-01-15 2005-01-07 Remote control method of external devices

Publications (1)

Publication Number Publication Date
US20100306667A1 true US20100306667A1 (en) 2010-12-02

Family

ID=34623591

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/030,830 Abandoned US20050159832A1 (en) 2004-01-15 2005-01-07 Remote control method of external devices
US12/505,384 Expired - Fee Related US8935444B2 (en) 2004-01-15 2009-07-17 Remote control method of external devices
US12/855,554 Abandoned US20100306667A1 (en) 2004-01-15 2010-08-12 Remote control method of external devices

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US11/030,830 Abandoned US20050159832A1 (en) 2004-01-15 2005-01-07 Remote control method of external devices
US12/505,384 Expired - Fee Related US8935444B2 (en) 2004-01-15 2009-07-17 Remote control method of external devices

Country Status (3)

Country Link
US (3) US20050159832A1 (en)
EP (1) EP1555772A3 (en)
CN (1) CN100342341C (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050159832A1 (en) * 2004-01-15 2005-07-21 Yamaha Corporation Remote control method of external devices
US20090281676A1 (en) * 2008-04-16 2009-11-12 Beavis Russell H Systems, Apparatus, and Methods for the Management and Control of Remotely Controlled Devices
US20140118239A1 (en) * 2012-10-25 2014-05-01 PixiOnCloud, Inc. Visual-symbolic control of remote devices having display-based user interfaces
US20180247627A1 (en) * 2016-05-05 2018-08-30 Jose Mario Fernandez Collaborative synchronized audio interface
US20190147840A1 (en) * 2016-06-28 2019-05-16 Yamaha Corporation Tone Setting Device, Electronic Musical Instrument System, and Tone Setting Method
US11131747B2 (en) 2010-03-31 2021-09-28 United States Foundation For Inspiration And Recog Systems and methods for remotely controlled device position and orientation determination

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1708395A3 (en) 2005-03-31 2011-11-23 Yamaha Corporation Control apparatus for music system comprising a plurality of equipments connected together via network, and integrated software for controlling the music system
US7733858B1 (en) * 2005-04-12 2010-06-08 Avid Technology, Inc. Communication protocol between a host computer and a control surface in an audio editing/mixing system
EP1748630B1 (en) * 2005-07-30 2013-07-24 LG Electronics Inc. Mobile communication terminal and control method thereof
JP4899389B2 (en) * 2005-09-08 2012-03-21 ソニー株式会社 Display control apparatus and method, and program
WO2007061904A2 (en) * 2005-11-17 2007-05-31 Konami Gaming, Inc. System and method for controlling volume associated with gaming system
FI20051211L (en) * 2005-11-28 2007-05-29 Innohome Oy Remote control system
KR100667842B1 (en) 2005-12-05 2007-01-11 삼성전자주식회사 Method for controlling power supply of digital tv and digital tv therefor
EP1841108B1 (en) * 2006-03-28 2015-11-18 Yamaha Corporation Music processing apparatus and management method therefor
JP5151435B2 (en) * 2007-12-07 2013-02-27 ヤマハ株式会社 Electronic music system and program for realizing a control method for controlling an electronic music device included in the electronic music system
JP2009139715A (en) * 2007-12-07 2009-06-25 Yamaha Corp Electronic musical system and program for achieving method of controlling electronic musical apparatus included in electronic musical system
JP4544348B2 (en) * 2008-07-14 2010-09-15 ソニー株式会社 Remote controller, image signal processing apparatus and image signal processing method
US20110238731A1 (en) * 2010-03-23 2011-09-29 Sony Corporation Method to provide an unlimited number of customized user interfaces
JP5733289B2 (en) * 2012-11-02 2015-06-10 ヤマハ株式会社 Music system control method
JP5720656B2 (en) * 2012-11-02 2015-05-20 ヤマハ株式会社 Music system management method
JP5708616B2 (en) * 2012-11-08 2015-04-30 ヤマハ株式会社 Operating device and program
US9519490B2 (en) * 2013-03-07 2016-12-13 Microsoft Technology Licensing, Llc Adaptive data synchronization
WO2014189757A1 (en) * 2013-05-22 2014-11-27 Universal Electronics Inc. System and method for optimized appliance control
CN104217736A (en) * 2013-05-29 2014-12-17 鸿富锦精密工业(深圳)有限公司 Testing device and method
JP5979497B2 (en) * 2013-09-30 2016-08-24 ヤマハ株式会社 Digital mixer and digital mixer patch setting method
US11075996B2 (en) * 2013-10-15 2021-07-27 Red Hat Israel, Ltd. Remote dashboard console
JP6289095B2 (en) * 2013-12-27 2018-03-07 キヤノン株式会社 Management system, control method in management system, and program thereof
CN104168136B (en) * 2014-08-08 2018-04-06 小米科技有限责任公司 The Notification Method and device of connection between external equipment and router
US10140087B2 (en) * 2016-03-21 2018-11-27 Access Analog, Llc Remote streaming audio processing system
EP3420441A4 (en) * 2016-06-12 2019-04-24 Apple Inc. User interface for managing controllable external devices
DK179925B1 (en) 2016-06-12 2019-10-09 Apple Inc. User interface for managing controllable external devices
JP7126187B2 (en) * 2016-11-08 2022-08-26 パナソニックIpマネジメント株式会社 Information output system, equipment control system, information output method, and program
US11232774B2 (en) * 2017-04-13 2022-01-25 Roland Corporation Electronic musical instrument main body device and electronic musical instrument system
US10083245B1 (en) * 2018-02-14 2018-09-25 Capital One Services, Llc Providing secure storage of content and controlling content usage by social media applications
CN112088530A (en) 2018-05-07 2020-12-15 苹果公司 User interface for viewing live video feeds and recording videos
CN111752510B (en) * 2019-03-29 2023-03-28 杭州海康威视系统技术有限公司 Television wall playback method and device
US11363071B2 (en) 2019-05-31 2022-06-14 Apple Inc. User interfaces for managing a local network
US10904029B2 (en) 2019-05-31 2021-01-26 Apple Inc. User interfaces for managing controllable external devices
US11513667B2 (en) 2020-05-11 2022-11-29 Apple Inc. User interface for audio message
TWI737313B (en) * 2020-05-27 2021-08-21 緯創資通股份有限公司 Device detection system and device detection method

Citations (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5209560A (en) * 1986-07-17 1993-05-11 Vari-Lite, Inc. Computer controlled lighting system with intelligent data distribution network
US5457478A (en) * 1992-10-26 1995-10-10 Firstperson, Inc. Control device
US5616879A (en) * 1994-03-18 1997-04-01 Yamaha Corporation Electronic musical instrument system formed of dynamic network of processing units
US5805812A (en) * 1996-05-15 1998-09-08 Electronic Data Systems Corporation Communication system for the remote control of equipment
US5825336A (en) * 1995-07-05 1998-10-20 Matsushita Electric Industrial Co., Ltd Remote operation apparatus
US5892938A (en) * 1995-06-26 1999-04-06 Sony Corporation Interactive interface system
US5945986A (en) * 1997-05-19 1999-08-31 University Of Illinois At Urbana-Champaign Silent application state driven sound authoring system and method
US6023016A (en) * 1996-01-17 2000-02-08 Yamaha Corporation Tone generator system using computer software
US6103965A (en) * 1998-07-16 2000-08-15 Yamaha Corporation Musical tone synthesizing apparatus, musical tone synthesizing method and storage medium
EP1061708A2 (en) * 1999-06-18 2000-12-20 Sony Corporation An external device control apparatus and an external device control method
EP1061658A2 (en) * 1999-06-15 2000-12-20 Yamaha Corporation Audio system having graphical using interface
US6180863B1 (en) * 1998-05-15 2001-01-30 Yamaha Corporation Music apparatus integrating tone generators through sampling frequency conversion
US6272108B1 (en) * 1997-03-05 2001-08-07 Paradyne Corporation Apparatus and method to allow a frame check sequence to determine the updating of adaptive receiver parameters of a high speed communication device
US6281420B1 (en) * 1999-09-24 2001-08-28 Yamaha Corporation Method and apparatus for editing performance data with modifications of icons of musical symbols
US20010045819A1 (en) * 2000-03-15 2001-11-29 Harris Glen Mclean State-based remote control system
US20020023530A1 (en) * 2000-08-25 2002-02-28 Yamaha Corporation Tone generation apparatus to which plug-in board is removably attachable and tone generation method therefor
US20020078075A1 (en) * 2000-12-15 2002-06-20 Colson James C. System, method, and program product for prioritizing synchronizable data
US20020083098A1 (en) * 2000-11-02 2002-06-27 International Business Machines Corporatin Web collaboration through synchronization
US20020112070A1 (en) * 2000-12-08 2002-08-15 The Boeing Company Network controller for digitally controlling remote devices via a common bus
US6463390B1 (en) * 1998-07-01 2002-10-08 Yamaha Corporation Setting method and device for waveform generator with a plurality of waveform generating modules
US20020156547A1 (en) * 2001-04-23 2002-10-24 Yamaha Corporation Digital audio mixer with preview of configuration patterns
US20020193894A1 (en) * 2001-06-13 2002-12-19 Yamaha Corporation Configuration method of digital audio mixer
US20020189428A1 (en) * 1999-12-06 2002-12-19 Yamaha Corporation Automatic play apparatus and function expansion device
US20030018805A1 (en) * 2001-06-29 2003-01-23 International Business Machines Corporation Automated configuration enabled via interrogation over network
US6545587B1 (en) * 1998-03-06 2003-04-08 Matsushita Electric Industrial Co., Ltd. Bidirectional remote control system, bidirectional remote controller, and device controlled by bidirectional remote controller
US6556219B1 (en) * 1999-05-18 2003-04-29 Gateway, Inc. Method and system for peripheral device user interface construction
US6560655B1 (en) * 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
US20030147727A1 (en) * 2001-06-20 2003-08-07 Kazuo Fujishima Remote control system and remote setting system for construction machinery
US6651084B1 (en) * 1999-11-29 2003-11-18 International Business Machines Corporation System and method for adding plug-ins to a web browser
US20040054802A1 (en) * 2002-09-16 2004-03-18 Iteration Software, Inc. Apparatus and method for instant messaging collaboration
US6725262B1 (en) * 2000-04-27 2004-04-20 Microsoft Corporation Methods and systems for synchronizing multiple computing devices
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US20040124247A1 (en) * 2002-12-30 2004-07-01 Watters Scott W. Method and apparatus for maintaining coherency of shared state between local and remote
US20040215816A1 (en) * 2002-12-16 2004-10-28 Hayes Stephen T Apparatus and methods for communication among devices
US20050132256A1 (en) * 2003-11-20 2005-06-16 Yasuo Watanabe Storage system, and control method, job scheduling processing method, and failure handling method therefor, and program for each method
US20050144330A1 (en) * 2003-12-30 2005-06-30 Richardson John J. Multi-threaded synchronization adapter
US20050159832A1 (en) * 2004-01-15 2005-07-21 Yamaha Corporation Remote control method of external devices
US7315791B2 (en) * 2004-02-18 2008-01-01 National Instruments Corporation Application programming interface for synchronizing multiple instrumentation devices
US7327699B1 (en) * 1999-03-30 2008-02-05 Schaefer Wolfgang Method and device for synchronisation of distant clocks to a central clock via satellite
US20080034297A1 (en) * 2006-08-04 2008-02-07 Correll Jeffrey N Graphical Diagram Which Automatically Determines a Data Transport Mechanism For Wires Based On Configured Policies

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN88200348U (en) * 1988-01-30 1988-10-19 北京师范学院分院 Multiple external controller in common for microcomputer groups
JP2807406B2 (en) * 1993-12-15 1998-10-08 三菱電機株式会社 Remote I / O device
JP3550714B2 (en) 1994-02-24 2004-08-04 ヤマハ株式会社 Central control device for sound field adjuster
US5802291A (en) * 1995-03-30 1998-09-01 Sun Microsystems, Inc. System and method to control and administer distributed object servers using first class distributed objects
JP3572847B2 (en) 1996-01-17 2004-10-06 ヤマハ株式会社 Sound source system and method using computer software
JPH09237237A (en) * 1996-03-01 1997-09-09 Mitsubishi Electric Corp Remote input/output device
JP3525811B2 (en) 1998-07-01 2004-05-10 ヤマハ株式会社 Setting method for music processing means, setting method for waveform data generating means, musical sound generating method, and computer-readable recording medium on which program is recorded
US6324691B1 (en) * 1998-11-12 2001-11-27 Hewlett-Packard Company Manufacture of software distribution media packages from components resident on a remote server source
CN1427584A (en) * 2001-12-18 2003-07-02 乐金电子(天津)电器有限公司 Household network communication device and method using internet
JP3915587B2 (en) 2002-04-24 2007-05-16 ヤマハ株式会社 Communication control device and communication control program
AU2003230350A1 (en) * 2002-05-09 2003-11-11 Parkervision, Inc. Video production system for automating the execution of a video show
EP1841108B1 (en) * 2006-03-28 2015-11-18 Yamaha Corporation Music processing apparatus and management method therefor
US20080178202A1 (en) * 2007-01-18 2008-07-24 General Instrument Corporation Interface For Supporting an Element Management System

Patent Citations (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5209560A (en) * 1986-07-17 1993-05-11 Vari-Lite, Inc. Computer controlled lighting system with intelligent data distribution network
US5457478A (en) * 1992-10-26 1995-10-10 Firstperson, Inc. Control device
US5616879A (en) * 1994-03-18 1997-04-01 Yamaha Corporation Electronic musical instrument system formed of dynamic network of processing units
US5892938A (en) * 1995-06-26 1999-04-06 Sony Corporation Interactive interface system
US5825336A (en) * 1995-07-05 1998-10-20 Matsushita Electric Industrial Co., Ltd Remote operation apparatus
US6023016A (en) * 1996-01-17 2000-02-08 Yamaha Corporation Tone generator system using computer software
US5805812A (en) * 1996-05-15 1998-09-08 Electronic Data Systems Corporation Communication system for the remote control of equipment
US6272108B1 (en) * 1997-03-05 2001-08-07 Paradyne Corporation Apparatus and method to allow a frame check sequence to determine the updating of adaptive receiver parameters of a high speed communication device
US5945986A (en) * 1997-05-19 1999-08-31 University Of Illinois At Urbana-Champaign Silent application state driven sound authoring system and method
US6545587B1 (en) * 1998-03-06 2003-04-08 Matsushita Electric Industrial Co., Ltd. Bidirectional remote control system, bidirectional remote controller, and device controlled by bidirectional remote controller
US6180863B1 (en) * 1998-05-15 2001-01-30 Yamaha Corporation Music apparatus integrating tone generators through sampling frequency conversion
US6463390B1 (en) * 1998-07-01 2002-10-08 Yamaha Corporation Setting method and device for waveform generator with a plurality of waveform generating modules
US6103965A (en) * 1998-07-16 2000-08-15 Yamaha Corporation Musical tone synthesizing apparatus, musical tone synthesizing method and storage medium
US7327699B1 (en) * 1999-03-30 2008-02-05 Schaefer Wolfgang Method and device for synchronisation of distant clocks to a central clock via satellite
US6556219B1 (en) * 1999-05-18 2003-04-29 Gateway, Inc. Method and system for peripheral device user interface construction
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
EP1061658A2 (en) * 1999-06-15 2000-12-20 Yamaha Corporation Audio system having graphical using interface
EP1061708A2 (en) * 1999-06-18 2000-12-20 Sony Corporation An external device control apparatus and an external device control method
US6560655B1 (en) * 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
US6281420B1 (en) * 1999-09-24 2001-08-28 Yamaha Corporation Method and apparatus for editing performance data with modifications of icons of musical symbols
US6651084B1 (en) * 1999-11-29 2003-11-18 International Business Machines Corporation System and method for adding plug-ins to a web browser
US20020189428A1 (en) * 1999-12-06 2002-12-19 Yamaha Corporation Automatic play apparatus and function expansion device
US20010045819A1 (en) * 2000-03-15 2001-11-29 Harris Glen Mclean State-based remote control system
US6725262B1 (en) * 2000-04-27 2004-04-20 Microsoft Corporation Methods and systems for synchronizing multiple computing devices
US20020023530A1 (en) * 2000-08-25 2002-02-28 Yamaha Corporation Tone generation apparatus to which plug-in board is removably attachable and tone generation method therefor
US20020083098A1 (en) * 2000-11-02 2002-06-27 International Business Machines Corporatin Web collaboration through synchronization
US20020112070A1 (en) * 2000-12-08 2002-08-15 The Boeing Company Network controller for digitally controlling remote devices via a common bus
US20020078075A1 (en) * 2000-12-15 2002-06-20 Colson James C. System, method, and program product for prioritizing synchronizable data
US20020156547A1 (en) * 2001-04-23 2002-10-24 Yamaha Corporation Digital audio mixer with preview of configuration patterns
US20020193894A1 (en) * 2001-06-13 2002-12-19 Yamaha Corporation Configuration method of digital audio mixer
US20030147727A1 (en) * 2001-06-20 2003-08-07 Kazuo Fujishima Remote control system and remote setting system for construction machinery
US20030018805A1 (en) * 2001-06-29 2003-01-23 International Business Machines Corporation Automated configuration enabled via interrogation over network
US20040054802A1 (en) * 2002-09-16 2004-03-18 Iteration Software, Inc. Apparatus and method for instant messaging collaboration
US20040215816A1 (en) * 2002-12-16 2004-10-28 Hayes Stephen T Apparatus and methods for communication among devices
US20040124247A1 (en) * 2002-12-30 2004-07-01 Watters Scott W. Method and apparatus for maintaining coherency of shared state between local and remote
US6994259B2 (en) * 2002-12-30 2006-02-07 Intel Corporation Method and apparatus for maintaining coherency of shared state between local and remote
US20050132256A1 (en) * 2003-11-20 2005-06-16 Yasuo Watanabe Storage system, and control method, job scheduling processing method, and failure handling method therefor, and program for each method
US20050144330A1 (en) * 2003-12-30 2005-06-30 Richardson John J. Multi-threaded synchronization adapter
US20050159832A1 (en) * 2004-01-15 2005-07-21 Yamaha Corporation Remote control method of external devices
US20090307395A1 (en) * 2004-01-15 2009-12-10 Yamaha Corporation Remote Control Method of External Devices
US7315791B2 (en) * 2004-02-18 2008-01-01 National Instruments Corporation Application programming interface for synchronizing multiple instrumentation devices
US20080034297A1 (en) * 2006-08-04 2008-02-07 Correll Jeffrey N Graphical Diagram Which Automatically Determines a Data Transport Mechanism For Wires Based On Configured Policies

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050159832A1 (en) * 2004-01-15 2005-07-21 Yamaha Corporation Remote control method of external devices
US20090307395A1 (en) * 2004-01-15 2009-12-10 Yamaha Corporation Remote Control Method of External Devices
US8935444B2 (en) 2004-01-15 2015-01-13 Yamaha Corporation Remote control method of external devices
US20090281676A1 (en) * 2008-04-16 2009-11-12 Beavis Russell H Systems, Apparatus, and Methods for the Management and Control of Remotely Controlled Devices
US10895898B2 (en) * 2008-04-16 2021-01-19 Deka Products Limited Partnership Management of remotely controlled devices
US11131747B2 (en) 2010-03-31 2021-09-28 United States Foundation For Inspiration And Recog Systems and methods for remotely controlled device position and orientation determination
US20140118239A1 (en) * 2012-10-25 2014-05-01 PixiOnCloud, Inc. Visual-symbolic control of remote devices having display-based user interfaces
US9274742B2 (en) * 2012-10-25 2016-03-01 PixiOnCloud, Inc. Visual-symbolic control of remote devices having display-based user interfaces
US20180247627A1 (en) * 2016-05-05 2018-08-30 Jose Mario Fernandez Collaborative synchronized audio interface
US10607586B2 (en) * 2016-05-05 2020-03-31 Jose Mario Fernandez Collaborative synchronized audio interface
US20190147840A1 (en) * 2016-06-28 2019-05-16 Yamaha Corporation Tone Setting Device, Electronic Musical Instrument System, and Tone Setting Method
US10672372B2 (en) * 2016-06-28 2020-06-02 Yamaha Corporation Tone setting device, electronic musical instrument system, and tone setting method

Also Published As

Publication number Publication date
US20090307395A1 (en) 2009-12-10
CN1641589A (en) 2005-07-20
US8935444B2 (en) 2015-01-13
EP1555772A3 (en) 2013-07-17
CN100342341C (en) 2007-10-10
US20050159832A1 (en) 2005-07-21
EP1555772A2 (en) 2005-07-20

Similar Documents

Publication Publication Date Title
US8935444B2 (en) Remote control method of external devices
US7009942B2 (en) Connection setting apparatus
CN101046953B (en) Music processing apparatus and management method therefor
CN101212265B (en) Audio signal processing system
US7390954B2 (en) Electronic musical apparatus system, server-side electronic musical apparatus and client-side electronic musical apparatus
US8301280B2 (en) Audio signal processing system
US7502657B2 (en) Information processing apparatus, information processing method, and storage medium
US7888580B2 (en) Electronic musical system and control method for controlling an electronic musical apparatus of the system
US7939741B2 (en) Electronic musical system and control method for controlling an electronic musical apparatus of the system
US8055362B2 (en) Recording-and-reproducing apparatus, information transfer-and-management method, and recording medium
JP2007293312A (en) Music processing apparatus
JP4362768B2 (en) External device control method, external device control device, and program
US7414634B2 (en) Audio signal processing system
CN101212264B (en) Audio signal processing system
JP4823483B2 (en) External device control method, external device control device, and program
US8761914B2 (en) Audio apparatus
JP4823482B2 (en) External device control method, external device control device, and program
JP4161962B2 (en) Acoustic signal processing system and program
JP5152152B2 (en) Remote control system and remote control method
JP2009244344A (en) Port assignment device
JP5152151B2 (en) Remote control system and remote control method
JP4957324B2 (en) Music processor
WO1999037032A1 (en) Digital signal mixing architecture
Rothstein X-oR Editor/Librarian Software for IBM PCs, Apple Macintoshes, Atari STs, and Commodore Amigas
Foss A Networking Approach to Sharing Music Studio Resources

Legal Events

Date Code Title Description
AS Assignment

Owner name: YAMAHA CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:UMEO, TATSUYA;YAMAMOTO, TAKAO;OKABAYASHI, MASAAKI;AND OTHERS;REEL/FRAME:024911/0118

Effective date: 20041224

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION