外部设备的远程控制方法

文档序号:6687583阅读:507来源:国知局
专利名称:外部设备的远程控制方法
技术领域
本发明涉及一种用于控制外部设备的方法、装置和程序,更具体和优选地,涉及一种用于远程控制混音器、声音模块等的方法、装置和程序。
背景技术
音乐软件比如音序器可被安装于个人计算机等中,并且可传送MIDI信号到外部声音模块装置等。外部声音模块装置基于MIDI信号来合成音乐声音信号。合成的音乐声音信号经由混音器等,与其他音频信号一起混合。混音结果被记录于记录装置上。按照这种形式的操作,便利地使得个人计算机远程控制各种外部设备,比如声音模块、混音器等。各种外部设备制造商提供远程控制软件,以使得个人计算机控制这些外部设备。这样的技术例如公开于“DM2000 V1.1音乐室管理员指令手册,雅马哈公司,2002年1月”中。
该远程控制软件在个人计算机的存储空间中确保一块单独的存储区域(称为参数存储器)。该确保的存储区域被视作专用于待控制的外部设备的存储器。该远程控制软件具有显示图像的配置窗口,这些图像模拟在外部设备上的监视器屏幕和操作面板。利用鼠标等,用户能够操作该操作面板图像上所显示的图形控制。基于操作结果,该软件更新参数存储器中的对应操作参数。在这些外部设备操作中,个人计算机仿真与该存储器中的参数值编辑有关的操作。个人计算机和外部设备交换这些操作参数的更新内容,以保持计算机和外部设备之间的操作参数的一致性。
该远程控制软件能够将当前操作参数作为“配置(setup)文件”保存于记录介质比如硬盘上。该远程控制软件能够加载先前存储的“配置文件”,以再现外部设备的以往状态。当上述音乐软件具有插件程序(plug-in)功能时,用于控制外部设备的远程控制软件能够作为音乐软件的插件程序被安装。在这种情况下,音乐软件的菜单屏幕能够用来为每个远程控制软件打开参数编辑屏幕。
在现有技术的第一方面中,上述技术允许个人计算机安装能够被插入于音乐软件中的多个远程控制软件。结果,音乐软件的菜单屏幕列出许多个远程控制软件。在许多情况下,仅一部分的这些软件模块是具体情形下所实际需要的。如果所有插入的远程控制软件模块被显示用于选择,则不便于选择必需的模块。此外,如果相同的远程控制软件被用来控制相同类型的多个外部设备,则远程控制设置必需为这些设备的每一个而改变。同时控制相同类型的外部设备已经变得不可能。
按照上述技术,需要为每个远程控制软件而单独地加载或保存操作参数。一次为多个远程控制软件加载或保存操作参数已经变得不可能,其原因如下。让我们考虑激活特定软件,以为外部设备设置必需的操作参数,然后远程控制软件的配置窗口被关闭。关闭配置窗口为远程控制软件释放了参数存储器。
当多个外部设备被同时使用时,它们被提供有其配置状态常常相互关连的操作参数。例如,某一个设备的输出信号常常被用作另一设备的输入信号。多个设备常常共享资源,比如MIDI端口。在这些情况下,应用于这些设备的多个配置文件必须被同时用作“一个集合”。然而,按照上述技术,用户必须管理这些配置文件的组合。该管理很复杂。
在现有技术的第二方面中,当操作参数从配置文件加载到远程控制软件时,需要进行同步操作,以确保个人计算机中参数存储器的内容和外部设备中所提供的其他参数存储器的内容之间的一致性。该同步操作可具有两种模式。一种模式是“从外部设备拷贝参数到个人计算机”。另一种模式是“从个人计算机拷贝参数到外部设备”。为此,用户需要通过为每个远程控制软件指定同步方向来启动同步操作,使得用户操作复杂。
当为多个远程控制软件进行同步操作时,需要一定的时间量,直至完成所有同步操作为止。在该等待时间中,用户难以确定是否已为每个外部设备完成了同步操作,以及难以掌握关于同步操作尚未完成的外部设备的同步进度。存在的需求是依据同步进度,对于某些外部设备,应当取消该同步操作。当为多个外部设备进行同步操作时,对于某些设备,该同步需要在其他设备之前完成。
在现有技术的第三方面中,个人计算机一般能够提供软件的分级插件程序能力。例如,可将第二软件插入第一软件(音乐软件)中,进而将第三软件插入第二软件中。在这种情况下,第一和第三软件之间没有直接的插接关系。在第一和第三软件之间已经难以进行进程间通信(interprocesscommunication)。
例如当第三软件是用于外部设备的远程控制软件时,常规地,第一软件比如音乐应用程序软件无法指示第三软件显示配置窗口。远程控制软件一般经由MIDI端口,控制外部设备。常规地,第一软件无法将控制MIDI端口等分配给远程控制软件。类似常规地,第一软件无法被通报远程控制软件所用的MIDI端口。

发明内容
考虑到上述问题,已经做出本发明。因此,本发明的第一目的是提供一种用于控制外部设备的方法、装置和程序,以便容易地管理关联的远程控制软件。本发明的第二目的是提供一种用于控制外部设备的方法、装置和程序,其能够容易和快速地进行多个外部设备的处理。本发明的第三目的是提供一种用于控制外部设备的方法、装置和程序,其能够相互协作地运行关联软件。
为了解决上述问题和实现本发明的上述目的,本发明的特征在于具有如下构造。
在本发明的第一方案中,一种控制多个外部设备的方法是在计算机上进行的,该计算机配置有对应于所述多个外部设备的多个远程控制进程;以及管理进程,用于在与所述远程控制进程通信时管理所述远程控制进程。该方法包括步骤利用该管理进程,以在该管理进程所提供的显示域中,显示对应于所述远程控制进程的图标;当指定操作被应用到该显示域中的所述图标之一时,利用该管理进程,以将屏幕打开指令发送到与该指定操作所应用到的图标相对应的所述远程控制进程之一;以及利用接收该屏幕打开指令的远程控制进程,以显示用于远程控制该对应外部设备的控制屏幕。
另一种控制多个外部设备的发明方法是在计算机上进行的,该计算机配置有对应于所述多个外部设备的多个远程控制进程;以及管理进程,用于在与所述远程控制进程通信时管理所述远程控制进程。该发明方法包括步骤激活该管理进程,以在该管理进程所提供的显示域中,显示对应于所述远程控制进程的图标,用于远程控制所述外部设备;当检测到保存指令操作时,允许该管理进程从与该显示域上所显示的所述图标相对应的各所述远程控制进程中收集表示所述外部设备的当前状态的第一参数;以及将表示该管理进程的当前状态的第二参数与收集的所述外部设备的第一参数组合,以产生配置文件,并且将该配置文件保存于记录介质上。
又一种控制多个外部设备的发明方法是在计算机上进行的,该计算机配置有对应于所述多个外部设备的多个远程控制进程;以及管理进程,用于在与所述远程控制进程通信时管理所述远程控制进程。该发明方法包括步骤当检测到加载指令操作时,激活该管理进程,用于读取含有参数的配置文件,所述参数定义所述外部设备的状态;启动与所述外部设备相对应的所述远程控制进程,其中在该读取的配置文件中含有所述外部设备的参数;向所启动的远程控制进程提供该读取的配置文件中所含的参数,用于控制所对应的外部设备;以及允许该管理进程在该管理进程所提供的显示域中,显示与所启动的远程控制进程相对应的图标。
优选地,这些发明方法还包括步骤第一允许步骤,允许该管理进程注册与应当由该管理进程管理的外部设备相对应的远程控制进程,该远程控制进程基于该计算机中所安装的远程控制程序而配置于该计算机上;以及第二允许步骤,允许该管理进程在该管理进程所提供的显示域中,显示与该注册的远程控制进程相对应的图标。
优选地,该第一允许步骤能够注册两个或更多远程控制进程,用于相互独立地远程控制相同类型的两个或更多外部设备,所述两个或更多远程控制进程的每一个基于该计算机上所安装的相同远程控制程序而相互分离地配置于该计算机上。
本发明的第一方案包括一种装置,该装置能够执行控制外部设备的这些发明方法。
本发明的第一方案也包括一种用于具有处理器的装置中的程序,该程序可由该处理器执行,用于使该装置执行控制外部设备的这些发明方法。
在本发明的第二方案中,一种控制多个外部设备的方法是在计算机上进行的,该计算机配置有对应于所述多个外部设备的多个远程控制进程;以及管理进程,用于在与所述远程控制进程通信时管理所述远程控制进程,每个远程控制进程被分配有用于存储对应外部设备的配置状态的参数存储器区域。该发明方法包括同步指令步骤,允许该管理进程同时发送同步指令到各所述远程控制进程;以及全部调用(recall)同步步骤,允许各所述远程控制进程基于该同步指令相互并行地进行同步操作,以使分配给每个远程控制进程的每个参数存储器区域中所存储的配置状态与对应外部设备的实际状态同步。
优选地,该发明方法还包括同步方向指令步骤,选择和指定第一同步方向或第二同步方向,该第一同步方向将该外部设备的实际状态调整为对应远程控制进程的参数存储器区域中所存储的配置状态,该第二同步方向将该远程控制进程的参数存储器区域中所存储的配置状态调整为对应外部设备的实际状态,从而该全部调用同步步骤使各所述远程控制进程在该同步方向指令步骤所选择和指定的相同同步方向上进行该同步操作。
优选地,该发明方法还包括同步可用性确定步骤,单独确定每个所述远程控制进程是否在该全部调用同步步骤中进行该同步操作。
优选地,在这些发明方法中,所述远程控制进程的每个参数存储器区域以划分为许多组的各种参数的形式,存储对应外部设备的配置状态。在这种情况下,这些发明方法还包括同步组(group)配置步骤,允许每个远程控制进程选择和设置一个或多个在该全部调用同步步骤中经受同步操作的参数组。
优选地,这些发明方法还包括全部调用同步确认步骤,在开始该全部调用同步步骤之前显示确认信息,该确认信息表示该同步可用性确定步骤所确定的远程控制进程,以进行该全部调用同步步骤中的同步操作。
优选地,在该发明方法中,该全部调用同步步骤包括允许所述远程控制进程向该管理进程通报各所述远程控制进程所进行的每个同步操作的进度的步骤;以及列表屏幕显示步骤,允许该管理进程显示列表屏幕,该列表屏幕示出各所述远程控制进程在该全部调用同步步骤期间所进行的同步操作的进度。
优选地,在该发明方法中,该全部调用同步步骤包括步骤使该管理进程检测被应用到所述远程控制进程中特定一个的停止操作;响应于该检测到的停止操作,将停止指令发送到该特定远程控制进程;以及使该特定远程控制进程接收该停止指令和停止该同步操作。
更优选地,该发明方法包括使至少一个所述多个远程控制进程优先的步骤;以及优先同步步骤,使优先的远程控制进程在该全部调用同步步骤之前进行该同步操作,从而在该优先同步步骤终止之后为剩余的远程控制进程进行该全部调用同步步骤。
本发明的第二方案包括一种装置,该装置能够执行控制外部设备的这些发明方法。
本发明的第二方案还包括一种用于具有处理器的装置中的程序,该程序可由该处理器执行,用于使该装置执行控制外部设备的这些发明方法。
在本发明的第三方案中,一种控制多个外部设备的方法是在计算机上进行的,该计算机配置有对应于所述多个外部设备的多个远程控制进程;管理进程,用于在与所述远程控制进程进行通信的同时,管理所述远程控制进程;以及应用程序进程,用于在与该管理进程通信的同时,利用所述外部设备,进行应用程序工作。在该发明方法中,该应用程序进程进行第一显示步骤,显示该应用程序工作的屏幕,该屏幕被提供有对应于所述多个外部设备的多个图形控制;以及发送步骤,当一操作被应用到该应用程序工作的屏幕中所提供的所述图形控制之一时,将发布(issuance)请求指令发送到该管理进程。该管理进程执行发布步骤,响应于来自该应用程序进程的发布请求指令,发布显示指令;发送步骤,将发布的显示指令发送到与被施加该操作的该图形控制相对应的所述远程控制进程之一。所述一个远程控制进程执行接收步骤,接收从该管理进程所发送的显示指令;以及第二显示步骤,响应于该显示指令,显示远程操作屏幕,用于远程控制对应的外部设备。
另一种控制多个外部设备的发明方法是在计算上进行的,该计算机配置有对应于多个所述外部设备的多个远程控制进程;管理进程,用于在与所述远程控制进程通信的同时,管理所述远程控制进程;以及应用程序进程,用于在与该管理进程通信的同时,利用分配资源给所述远程控制进程,来进行应用程序工作。在该发明方法中,该管理进程执行步骤从该应用程序进程接收表示可用于该应用程序工作的第一组资源的信息;保持该第一组资源之中的第二组资源,用于该管理进程所管理的所述远程控制进程;向各所述远程控制进程通报表示第三组资源的信息,所述第三组资源包含于该第二组资源中,但是排除各所述远程控制进程已经使用的资源,因此所述第三组资源包含可分配给各所述远程控制进程的一个或多个资源;以及从各所述远程控制进程接收信息,该信息表示含有一个或多个分配资源的第四组资源。
又一种控制多个外部设备的方法是在计算机上进行的,该计算机配置有对应于多个所述外部设备的多个远程控制进程;管理进程,用于在与所述远程控制进程通信的同时,管理所述远程控制进程;以及应用程序进程,在与该管理进程通信的同时,利用资源来至少进行乐曲的再现工作。在该发明方法中,该应用程序进程执行步骤分配资源给该乐曲的多个轨道(track)的每个轨道;按照分配给各轨道的各所述资源,输出从该乐曲的所述多个轨道中再现的音乐演奏信息;从该管理进程接收资源信息,该资源信息表示各所述远程控制进程所使用的一组资源;基于分配给一个轨道的资源和从该管理进程接收的该资源信息,响应于显示所述一个轨道的远程操作屏幕的请求,识别外部设备,所识别的外部设备按照所分配的资源,被提供有从所述一个轨道再现的音乐演奏信息;以及将发布请求指令发送到该管理进程,用于请求将显示指令发布到与所识别的外部设备相对应的一个远程控制进程。该管理进程执行步骤从各远程控制进程收集该资源信息,该资源信息表示各所述远程控制进程所使用的所述资源组;响应于该发布请求指令,将该显示指令发布到所述一个远程控制进程。所述一个远程控制进程执行步骤响应于来自该管理进程的显示指令,显示远程操作屏幕,从而对应于所述一个轨道的外部设备能够在显示的远程操作屏幕上被远程控制。
又一种控制多个外部设备的发明方法是在计算机上进行的,该计算机配置有对应于所述多个外部设备的多个远程控制进程;管理进程,用于在与所述远程控制进程通信的同时,管理所述远程控制进程;以及应用程序进程,用于在与该管理进程通信的同时,利用所述外部设备,来进行应用程序工作。在该发明方法中,该应用程序进程执行发送步骤,将发布请求指令发送到该管理进程,用于请求将操作指令发布到该管理进程所管理的所述远程控制进程之一。该管理进程执行步骤响应于来自该应用程序进程的发布请求指令,发布该操作指令;以及将该操作指令传送到所述一个远程控制进程,该操作指令指定将由所述一个远程控制进程进行的操作。所述一个远程控制进程响应于从该管理进程发送的操作指令,进行所指定的操作。
优选地,在该发明方法中,该应用程序进程还执行步骤当检测到保存操作时,将请求指令发送到该管理进程,用于请求关于当前状态的状态信息;响应于该请求指令,将该应用程序进程中保持的数据与从该管理进程提供的关于当前状态的信息组合;以及保存配置文件,该配置文件含有该应用程序进程的数据和该管理进程的信息的组合结果。该管理进程还执行步骤响应于来自该应用程序进程的请求指令,从各所述远程控制进程收集表示所述远程控制进程的当前状态的第一参数;以及将收集的第一参数与表示该管理进程的当前状态的第二参数组合;以及向该应用程序进程提供该第一和第二参数的组合结果,作为关于当前状态的信息。
优选地,在该发明方法中,该应用程序进程还执行步骤当检测到加载(load)操作时,读取配置文件,该读取的配置文件含有指明该管理进程的状态和所述远程控制进程的状态的配置数据;以及向该管理进程提供该配置数据。该管理进程还执行步骤启动与该配置数据中所描述的参数相关联的一个或多个所述远程控制进程;以及向所启动的远程控制进程提供该配置数据中所描述的参数。
优选地,在该发明方法中,该管理进程执行传送该操作指令的步骤,该操作指令指定含有同步操作和显示操作中至少一个的操作,该同步操作使所述一个远程控制进程的当前状态与所述一个远程控制进程所控制的对应外部设备的当前状态同步;该显示操作显示远程操作屏幕,用于远程控制对应于所述一个远程控制进程的外部设备。
优选地,在这些发明方法中,该远程控制进程被插入于该管理进程中,从而该应用程序进程经过该中间的管理进程,间接管理该远程控制进程,或者可选地,该远程控制进程可被插入于该应用程序进程中,从而该应用程序进程直接管理该远程控制进程。
优选地,在这些发明方法中,该管理进程执行注册步骤,基于该计算机中安装的远程控制程序,注册该管理进程所管理的远程控制进程。
本发明的第三方案包括一种装置,该装置能够执行控制外部设备的这些发明方法。
本发明的第三方案也包括一种用于具有处理器的装置中的程序,该程序可由该处理器执行,用于使该装置执行控制外部设备的这些发明方法。
在这种方式下,按照本发明的第一方案,该管理进程检测用于任一图标的指定操作,以及将屏幕打开指令输出到对应的远程控制进程。按照该构造,用户能够利用对应于各种远程控制进程的图标,选择想要的控制屏幕。这些显示的图标对应于配置文件中所含的参数。因此,用户能够容易地确定将被编辑的远程控制进程参数。
当检测到指定的保存指令操作时,该管理进程从每个远程控制进程收集第一参数,并且将收集的第一参数与第二参数组合用于保存。按照该构造,所有关联参数能够存储于一个文件中用于综合管理。
多个远程控制进程能够基于一个远程控制程序来注册。该结构能够同时和并行控制相同类型的多个外部设备(如果连接的话)。
如上所述,按照本发明的第二方案,该管理进程将指定的同步指令发送到每个远程控制进程。基于所提供的同步指令,这些远程控制进程进行同步操作,以同时使远程控制进程所管理的参数存储器区域的状态与对应于远程控制进程的外部设备的状态同步。按照该构造,该管理进程能够对多个外部设备容易和快速进行同步操作。
按照本发明的第三方案,响应于应用程序进程屏幕上的指定操作,能够发布指令到该管理进程,以允许该管理进程所管理的远程控制进程显示远程操作屏幕。该构造使得能够指示远程控制进程被显示于来自应用程序进程屏幕的监视器上。
该管理进程确保第一组资源之中的第二组资源,从而使第二组资源用于该管理进程所管理的远程控制进程。向各远程控制进程通报表示第三组资源的信息,该第三组资源排除第二组资源中已经用于远程控制进程的资源。按照该构造,每个远程控制进程能够从该管理进程所共同确保(secured)的第二组资源中,选择将被远程控制进程使用的资源。能够减少远程控制进程和应用程序之间的通信量。此外,该远程控制进程能够改善对资源配置程序的响应。
该应用程序进程从该管理进程接收表示资源组的信息。发布请求指令被发送到该管理进程,以发布显示指令。按照该构造,该应用程序进程能够从该管理进程获得信息,该信息是关于该管理进程所管理的远程控制进程所用的资源。
该应用程序进程将发布请求指令发送到该管理进程。响应于该发布请求指令,该管理进程将操作指令发布到该远程控制进程。按照该构造,该应用程序进程能够允许该管理进程对该管理进程所管理的远程控制进程进行指定的操作。当该应用程序进程直接管理该远程控制进程时,每个远程控制进程接收与从该应用程序进程接收的操作指令相同的操作指令。能够一如既往地使用常规的远程控制进程。
当检测到保存指令操作时,该应用程序进程将请求指令发送到该管理进程。按照该构造,当该应用程序进程直接管理远程控制进程时,该应用程序进程能够以相同的程序从管理多个远程控制进程的管理进程中获得关于当前状态的信息。也就是说,关于获取与外部设备当前状态有关的信息,该应用程序进程无需知道,该管理进程管理多个远程控制进程。
当检测到加载指令操作时,该应用程序进程读取一个含有配置数据的合成配置文件,这些配置数据指明该管理进程和多个远程控制进程的状态。该应用程序进程然后向该管理进程提供配置数据。按照该构造,当该应用程序进程直接管理远程控制进程时,该应用程序进程能够以相同的程序将配置数据提供给管理多个远程控制进程的管理进程。也就是说,关于以该配置数据为基础的系统配置,该应用程序进程无需知道,该管理进程管理多个远程控制进程。
此外,该应用程序进程能够直接管理每个远程控制进程。按照该构造,该管理进程所管理的远程控制进程与普通应用程序进程所管理的远程控制进程(远程控制插件程序)相同。能够有效使用为插件程序而已经建立的程序资源。此外,能够共同管理多个插件程序,而按照利用常规应用程序进程的管理,这一点将很麻烦。
而且,该管理进程能够基于计算机中安装的公共远程控制程序,注册该管理进程所管理的多个远程控制进程。按照该构造,能够基于计算机的存储器中所存储的远程控制程序,自由选择该管理进程所共同管理的远程控制进程。


图1是按照本发明实施例的音乐编辑系统的线路连接图。
图2是本发明实施例中所用的个人计算机的方框图。
图3(a)和3(b)是示出音乐软件窗口的图。
图4(a)至4(d)是示出工作空间(workspace)管理窗口的图。
图5(a)和5(b)是示出按照实施例的软件模块总配置的方框图。
图6是示出远程控制插件程序面板窗口的图。
图7是示出工作空间配置窗口的图。
图8是示出远程控制插件程序配置窗口的图。
图9(a)、9(b)和9(c)是示出同步操作期间所显示的各种窗口的图。
图10(a)、10(b)和10(c)是CPU所执行的各种程序(routine)的流程图。
图11(a)和11(b)是CPU所执行的各种程序的流程图。
具体实施例方式
1.实施例的硬件配置1.1总体配置下文参照图1,描述作为本发明实施例的音乐编辑系统的配置。
在图1中,标号100表示PC/AT兼容个人计算机,并且具有USB端口102和IEEE1394端口104。个人计算机100的IEEE1394端口104与控制器156、合成器162和混音器168的IEEE1394端口串联连接。这些设备符合申请人所提出的音乐声音信号LAN(mLAN,注册商标)。音乐声音信号LAN使用基于IEEE1394标准的连接线路,以发送和接收MIDI信号、波形数据(音频数据)、控制信号等。LAN插线架154(随后将描述)控制这些设备之间的逻辑线路连接,以传送这些信号。
在这种方式下,音乐声音信号LAN兼容设备能够经由音乐声音信号LAN,相互交换所有必需的信号。如果包含非兼容设备,则另一接口被用来相互连接这些设备。标号152表示USB集线器,并连接于合成器160、效果器164和混音器166的USB端口,以及在这些设备之间进行中间通信。按照该实施例,USB端口102和IEEE1394端口104均构成了包含多个通道的MIDI端口。个人计算机100经由这些MIDI端口,与其他设备交换MIDI信号。
控制器156具有LAN接口功能,用以经由音乐声音信号LAN,与其他设备交换MIDI信号和波形数据;混合功能,用于混合波形数据;以及远程控制功能,用以远程控制个人计算机100上所执行的音乐软件。控制器156具有显示单元、许多操作设备、以及输入和/或输出MIDI信号、模拟波形和数字波形的信号输入/输出部分。控制器156能够将经由音乐声音信号LAN所接收的MIDI信号等转换成普通的MIDI接口(用以经由MIDI线缆发送和接收MIDI信号的接口)。在这种方式下,能够在音乐声音信号LAN和与音乐声音信号LAN或USB连接不兼容的设备之间进行协调(mediate)。合成器158经由MIDI线缆,连接于控制器156。因此,经由音乐声音信号LAN,在个人计算机100和合成器158之间可获得双向通信。
合成器158和160对于经由模拟线缆而提供给混音器166的音乐声音信号进行合成。混音器166将用于某些通道的音频信号输出到效果器164。效果器164将效果(effect)应用于这些音频信号,并且将其输出到混音器166。模拟线缆被用于混音器166和效果器164之间,以输入和输出音频信号。混音器166和168经由级联线缆而级联连接。该级联连接是相互交换音频信号和控制信号的混音器之间的连接。多个混音器能够运作得好像它们是具有许多输入/输出通道的单个混音器。
1.2个人计算机100的配置将参照图2,描述个人计算机100的配置。标号2表示通信接口,其具有USB端口102和IEEE1394端口104以及MIDI端子(未示出)。标号4表示包括文本输入键盘、鼠标等的输入设备。标号6表示包括音乐演奏键盘等的演奏操作设备。标号8表示为用户显示各种信息的显示器。标号10表示CPU,该CPU基于随后将描述的程序,经由总线16,控制其他部件。标号12表示存储初始程序加载程序(loader)等的ROM。
标号18表示可移动盘驱动器,该驱动器读取或写入可移动盘20比如CD-ROM、MO等上的数据。标号22表示波形采样接口,该接口将从外部提供的模拟信号转换成数字信号。标号24表示存储操作系统、音乐软件、演奏信息、波形数据等的硬盘。标号26表示波形输出接口,经由总线16向该接口提供数字音乐声音信号,并且该接口将这些信号转换成模拟信号。标号28表示产生音乐声音信号的声音系统。标号30表示用作CPU10的工作存储器的RAM。在许多情况下,普通的个人计算机不具有音乐演奏键盘。
2.实施例的软件模块配置将参照图5(a)和5(b),描述该实施例的软件模块配置。
用以控制外部设备的远程控制软件被配置为将被插入到其他软件中的插件程序模块(远程控制插件程序)。常规地,远程控制插件程序被直接插入到比如音乐软件的软件中,并控制关联的外部设备。在图5(a)和5(b)中,标号402、404等表示此类远程控制插件程序。当各种插件程序被用于其他软件中时,用于这些插件程序的程序文件一般被存储于个人计算机100的指定文件夹中。当被激活时,使用这些插件程序的其他软件检查该插件程序文件夹。该插件程序文件夹中检测到的插件程序被插入于其他软件中。
在图5(a)中,远程控制插件程序402、404等被插入于表示为工作空间插件程序410的软件中。工作空间插件程序410进而被插入于音乐软件420中。为不同进程激活这些软件。图5(b)示出工作空间软件430,该软件能够被独立激活,并且即使在音乐软件420处于非活动状态时仍然控制远程控制插件程序。
在下面的描述中,工作空间插件程序410和独立工作空间软件430统称为“工作空间程序”。这些工作空间程序具有为每个远程控制插件程序提供相似控制的功能。然而,工作空间插件程序410具有与上述音乐软件420通信的附加功能。存在工作空间程序所用的配置状态,以及工作空间程序中所插入的远程控制插件程序402、404等所用的其他配置状态。这些配置状态统称为“工作空间”。
在图5(a)中,工作空间插件程序410(管理进程模块)在音乐软件(应用程序进程模块)420和每个远程控制插件程序(远程控制进程模块)402、404等之间进行中间通信。音乐软件420将同步指令传送到工作空间插件程序410。该同步旨在实现远程控制插件程序402、404等的参数存储器内容和对应外部设备的参数存储器内容之间的一致性。这时,工作空间插件程序410将同步指令分别传送到每个远程控制插件程序402、404等。
音乐软件420可将关于正在使用的MIDI端口的查询传送到工作空间插件程序410。工作空间插件程序410检查远程控制插件程序402、404等所用的MIDI端口,并且将结果返回给音乐软件420。此外,音乐软件420可发送指令到工作空间插件程序410,以为任一远程控制插件程序开启面板窗口。该面板窗口模拟对应外部设备的操作面板。工作空间插件程序410传送指令到对应的远程控制插件程序,以显示对应的面板窗口。按照该指令,对应的远程控制插件程序开启该面板窗口。
如上所述,工作空间程序和远程控制插件程序为不同的进程而被启动。分配给给定(given)远程控制插件程序的存储器空间完全独立于分配给工作空间程序的存储器空间。存在的可能是,工作空间程序和远程控制插件程序被启动用于不同的进程,并且共享该存储器空间。在这种情况下,软件独立性被破坏,增大了造成故障(bug)的可能性。
下面描述每个远程控制插件程序和对应外部设备之间的接口。远程控制插件程序和外部设备相互交换参数存储器内容和其他控制信号。为此,远程控制插件程序需要总是确保用于控制信号的输入端口和用于控制信号的输出端口。由于控制信号以MIDI信号的形式来发送和接收,所以输入/输出端口对应于MIDI端口。公知地,“MIDI”原指用于发送和接收音乐演奏信息的接口。该实施例使用MIDI信号格式发送和接收控制信号。
外部设备可以是基于音乐演奏信息来产生音乐声音信号的合成器或等效设备。远程控制插件程序需要将原始含义下的音乐演奏信息传送到外部设备,以便产生音乐声音信号。在这种情况下,为音乐演奏信息的输出分配另一MIDI输出端口。类似地,外部设备可将音乐演奏信息以其原始含义传送到远程控制插件程序。在这种情况下,为音乐演奏信息的输入分配另一MIDI输入端口。在这种方式下,为与外部设备的通信,向远程控制插件程序分配至少“2个”或多至“4个”MIDI输入/输出端口。
3.实施例的操作3.1独立工作空间软件430的操作当在个人计算机100上进行指定操作时,独立工作空间软件430启动。显示器8显示图4(a)中的工作空间管理窗口300。在管理窗口300中,标号305表示显示有“文件”按钮302、“同步”按钮304等的菜单栏。标号310表示显示有如图4(a)所示各种图标320至334的域部分。这些图标是工作空间中所注册的远程控制插件程序图标。例如,当在工作空间软件430的初始启动下没有远程控制插件程序可用时,在域部分310中显示为空。
3.1.1“文件”菜单的细节
(1)选择“打开”时的进程当用户使用鼠标左击“文件”按钮302时,如图4(b)所示显示“文件”菜单352。选择“打开”,显示打开文件的窗口。用户可选择工作空间配置文件。选择想要的工作空间配置文件,启动如图10(b)所示的工作空间加载程序。这里“工作空间配置文件”是指存储该工作空间的文件。“注册的插件程序”是指用于该工作空间的远程控制插件程序。“当前工作空间”是指当前用于激活的工作空间软件340的工作空间。
在图10(b)的步骤SP12中,该进程从硬盘24等读取指定工作空间的内容。在步骤SP14中,该进程显示管理窗口300,该窗口在域部分310中显示为空。域部分310应当显示“启动的注册插件程序”图标。由于此时没有注册插件程序处于激活状态,所以域部分显示为空。在步骤SP16中,该进程确定用于当前工作空间中所含注册插件程序的MIDI端口。可优选地显示与其MIDI端口无法被确定的注册插件程序有关的警告指示,比如“必需的MIDI端口不可用”。
当该进程继续到步骤SP18时,注册插件程序变为激活,作为不同于工作空间软件430的另一进程而“常驻”。域部分310为与激活的注册插件程序相关联的外部设备显示图标320至334。每个注册的插件程序具有其特定的存储空间。当工作空间软件430需要参考所启动的远程控制插件程序中所含的参数存储器内容时,工作空间软件430发布指令到远程控制插件程序,以查询该内容。响应于此,远程控制插件程序返回该内容到工作空间软件430。可优选地使用工作空间配置文件,以包含是否激活注册插件程序的面板窗口的信息,并且自动地激活此时被定义为“激活”的注册插件程序面板窗口。在步骤SP20中,该进程提供当前工作空间中所含的每个注册插件程序的配置状态,作为将为每个激活的注册插件程序而指定的参数。在每个注册插件程序中,所提供的参数被写到注册插件程序的参数存储器。
在步骤SP22中,该进程确定是否在当前工作空间中开启“自动全部调用同步”。“全部调用同步”使每个外部设备中的参数存储器内容与当前工作空间所指定的内容自动同步。如果确定结果是“否”,则该程序进程立即终止。如果确定结果是“是”,则该进程继续到步骤SP24。在该步骤中,调入图11(b)中的全部调用同步进程程序。被作为该全部调用同步目标的注册插件程序启动一进程,以传送参数到对应的外部设备。能够将每个注册插件程序配置为该全部调用同步的目标。随后将具体地描述该配置方法。此外,随后将描述关于全部调用同步进程程序的细节。
(2)选择“配置”时的进程选择“文件”菜单352中的“配置”,在显示器8上显示工作空间配置窗口600。在图7中,标号610表示可注册插件程序显示部分,该部分列出个人计算机中安装的所有远程控制插件程序的名称。个人计算机的插件程序文件夹含有对应的程序文件。标号620表示已注册插件程序显示部分,该部分列出当前工作空间中的已注册插件程序的名称。利用鼠标,用户能够点击选择这些显示部分610和620中所显示的一个或多个插件程序。
标号612表示添加按钮。利用鼠标,点击添加按钮612,将可注册插件程序显示部分610中所选的插件程序添加到已注册插件程序显示部分620。当插件程序已经显示于已注册插件程序显示部分620中时,选择该插件程序并且操作添加(Add)按钮612,也将该插件程序添加到已注册插件程序显示部分620。这时,插件程序名被局部修改,以区别于已注册的插件程序。例如,当“混音器(A)”已被注册时,再添加“混音器(A)”,将其重新命名为“混音器(A)-2”。可优选地允许用户指定任何名称。标号614表示删除(Del)按钮。利用鼠标,点击删除按钮,删除已注册插件程序显示部分620中所选的插件程序。这些操作可用来根据需要编辑当前操作空间中的注册插件程序。
标号616和618表示优先级规格部分,以指明作为该全部调用同步目标的注册插件程序。按照图1中的配置,LAN插线架154是线路连接控制软件,该软件在设备(包括连接于音乐声音信号LAN的个人计算机100)之间建立MIDI信号和波形数据的逻辑传送线路。LAN插线架154在个人计算机100上完成。来自LAN插线架154的控制对用于这些设备的音乐声音信号LAN接口进行控制,以及在音乐声音信号LAN上建立逻辑传送线路。LAN插线架154具有为其他设备建立MIDI信号和波形数据端口的功能,并且需要在这些设备之前加以配置。因此,LAN接线架154分配有最高的优先级(1)。该控制器分配有第二高的优先级(2),因为它具有远程控制个人计算机上所执行的音乐软件的功能。其他设备未分配有优先级。将随后分配优先级(3)。可利用将优先级分配给至少一些注册插件程序,来执行该全部调用同步。在这种情况下,工作空间程序按照优先级,将同步指令单独发布到被优先考虑的注册插件程序。当完成为该同步而指定的注册插件程序的同步时,工作空间程序将同步指令发布到具有下一优先级的另一插件程序。当完成所有被优先考虑的注册插件程序时,工作空间程序将同步指令一次发到其他注册插件程序。
标号622表示全部调用同步复选框。利用鼠标,点击选择或不选择该复选框,以打开或关闭“自动全部调用同步”状态(见工作空间加载程序的步骤SP22(图10(b)))。标号624表示缺省设置按钮。利用鼠标,点击该按钮,注册当前工作空间的状态,以将远程控制插件程序注册为缺省工作空间。例如,当工作空间程序启动时,缺省地使用该缺省工作空间。利用所指定的缺省工作空间,当工作空间程序在不读取工作空间配置文件的条件下启动时,或者当启动的工作空间程序建立新的工作空间时,域部分310基于该缺省工作空间来显示图标。
标号626表示MIDI输入端口列表框,该列表框列出工作空间中当前可用的MIDI端口(未用于其他软件的MIDI端口)。这些MIDI端口可选自于USB端口102或IEEE1394端口104所实现的MIDI输入端口和对应于上述MIDI端子的MIDI输入端口。标号628表示MIDI输出端口列表框,该列表框列出USB端口102或IEEE1394端口104所实现的MIDI输出端口。这些列表框626和628能够允许选择一个或多个MIDI输入/输出端口,以及允许所选MIDI输入/输出端口能够被分配给注册插件程序。
标号630表示OK按钮。利用鼠标,选择OK按钮630,以更新如工作空间配置窗口600中所定义的工作空间内容,并且关闭该窗口。标号632表示取消按钮。利用鼠标,点击取消按钮632,丢弃所编辑的内容,然后关闭工作空间配置窗口600。
(3)选择“保存”时的进程从“文件”菜单352中选择“保存”,启动如图10(a)所示的工作空间保存程序。在图10(a)的步骤SP2中,该进程从注册插件程序中收集参数存储器内容。当注册插件程序如上所述“在线”时,基于外部设备经常变化的状态来更新参数存储器。因此,在步骤SP2中收集的参数存储器内容对应于每个外部设备的当前状态。具体地,在步骤SP2中,工作空间程序向每个注册插件程序发送关于存储器区域中所存储的参数存储器内容的查询。作为反馈,工作空间程序从每个注册插件程序接收参数存储器内容。
在步骤SP4中,该进程将收集的数据与工作空间程序的参数组合,以产生将被写到配置文件的数据(工作空间配置数据)。“工作空间程序的参数”是工作空间配置窗口中指定的参数。在步骤SP6中,产生的数据被写覆盖到对应于当前工作空间的配置文件。
(4)其他进程从“文件”菜单中选择“另存为”,允许显示器8显示窗口,以输入新配置文件的文件名,用于记录当前工作空间。当用户指定文件名时,对应于指定文件名的文件受到与选择“保存”时相似的进程。从“文件”菜单352中选择“关闭”,关闭当前工作空间,以将缺省工作空间的内容分配给当前工作空间。从“文件”菜单352中选择“退出”,关闭工作空间管理窗口300,以终止工作空间软件430。在当前工作空间内容未记录于配置文件中时,用户可选择“关闭”或“退出”。在这种情况下,给用户一个通报此情形的报警。当选择“保存”或“另存为”时,该进程根据需要类似地发生。
3.1.2左双击图标利用鼠标,用户能够将光标移动到图标320至334的任一个,然后双击左鼠标按钮(左双击)。该操作输出一指令,以显示与该图标相关联的远程控制插件程序的面板窗口(例如,图6中的远程控制插件程序面板窗口500)。作为结果,对应的远程控制插件程序显示该面板窗口。该面板窗口可用来控制对应外部设备的参数等。随后将更具体地描述用于面板窗口500的进程。
3.1.3“同步”菜单的细节利用鼠标,用户将光标移动到“同步”按钮,然后点击左鼠标按钮(左击)以显示“同步”菜单354。此时,选择“全部调用”,启动图11(b)中的全部调用同步程序。在图11(b)的步骤SP72中,显示器8显示图9(b)中的全部调用同步确认窗口720。在图9(b)中,标号722和724表示单选按钮。利用鼠标,用户可选择任一这些单选鼠标,作为全部调用同步方向,即“到硬件”(从注册插件程序到外部设备)或“从硬件”(从外部设备到注册插件程序)。
标号726表示插件程序显示部分。插件程序显示部分726列举出对其允许全部调用同步的一个或多个注册插件程序的名称,即,作为该全部调用同步目标的注册插件程序名。由于作为目标的插件程序名在这里被显示,所以用户看一眼就能够确定是否为想要的外部设备进行全部调用同步。标号728表示用以启动执行全部调用同步的OK按钮。标号730表示用以停止执行全部调用同步的取消按钮。
现在返回到图11(b),在步骤SP74中,该进程一直等待到用户使用鼠标点击OK按钮728或取消按钮730为止。点击取消按钮730会停止全部调用同步,并立即终止程序。点击OK按钮728使进程前进到步骤SP76。该进程从工作空间中列出的注册插件程序中选择将被处理的第一插件程序。在步骤SP78中,该进程确定对于是否对该插件程序允许全部调用同步。
如果结果是“否”,则该进程继续到步骤SP86,以在列表中搜寻下一注册插件程序,并且确定是否发现相关插件程序。如果结果是“是”,则该进程继续到步骤SP88。该进程将找回的插件程序指定为下一进程目标,并且返回到步骤SP78。
如果在步骤SP78中结果是“是”,则该进程继续到步骤SP80,以确定个人计算机100是否能够与关联于注册插件程序的外部设备通信。具体地,经由注册插件程序所指定的MIDI输出端口,传送测试信号。如果响应信号在指定时间之内经由该MIDI输入端口返回,则假定为“可通信”。如果在指定时间之内无响应信号返回,则在步骤SP80中假定结果是“否”。该进程继续到步骤SP84。
这时,显示器8显示报警窗口,该窗口显示出消息“无硬件用于同步”和用于处理的注册插件程序名。用户能够关闭该报警窗口。然而按照该程序,在显示报警窗口时,该进程继续到步骤SP86。
如果在步骤SP80中结果是“是”(可通信),该进程继续到步骤SP82。然后,该进程输出指令到用于处理的注册插件程序,以进行与对应外部设备的同步。该指令包括单选按钮722或724所指定的全部调用同步方向(“到硬件”或“从硬件”)。该注册插件程序在指定的全部调用同步方向上开始数据传送。
在为所有注册插件程序重复步骤SP78至SP86的循环之后,其结果在步骤SP86中假定为“否”,并且该进程继续到步骤SP90。此时,显示器8显示图9(c)中的全部调用同步进程显示窗口740。在窗口740内部,标号741、743、745和747表示插件程序名显示部分,以显示作为全部调用同步目标的注册插件程序名。所示实例示出仅“4个”注册插件程序被指定用于该全部调用同步。
当注册插件程序作为全部调用同步的目标时,该注册插件程序允许同步进度被跟踪。也就是说,注册插件程序计算同步数据量与作为同步目标的全部数据量之比。计算结果被连续报告给工作空间软件430。标号742、744、745和748表示直方图,这些直方图显示从这些插件程序所报告的经常变化的同步进度。标号752、754、756和758表示取消按钮,这些按钮被提供给作为全部调用同步目标的插件程序。鼠标点击取消按钮,输出指令到对应的注册插件程序,以停止该同步。当识别到该指令时,注册插件程序会停止该同步。
当给定的注册插件程序在进度上完成全部调用同步时,将此通报给工作空间软件430。对应的注册插件程序变为“在线”。“在线”状态意味着注册插件程序和对应外部设备之间的实时同步。也就是说,个人计算机100或外部设备上的操作会修改注册插件程序或外部设备中的参数存储器。修改的内容被传送给对方,以保持二者的参数存储器内容彼此对应。没有注册插件程序能够变为“在线”,直到完成同步。该程序进程在对于所有注册插件程序完成该同步时终止。
3.1.4右击图标菜单的细节当域部分310显示图标时,鼠标右击任一图标,显示图4(d)中的图标菜单360。与上面的“左双击图标”中所述一样,选择“打开”,显示关联于对应图标的远程控制插件程序的面板窗口(例如图6)。从图标菜单360中选择“关闭”,关闭面板窗口。
每当选择“全部调用(Trecall)启动”时,该全部调用同步在启动状态(显示有选择标记)和无效状态(未显示选择标记)之间切换(toggle)。这里所选的状态确定了如上所述步骤SP78的结果。选择“全部调用数据”,显示同步项选择窗口362。该窗口列出对应注册插件程序的参数存储器中所存储的参数组名。用户可选择待同步的组。
选择“去除”,从域部分310中去除图标。对应的远程控制插件程序从注册插件程序中排除。选择“同步”,启动如图11(a)所示的单独同步程序。在图11(a)的步骤SP52中,显示器8显示单独插件程序同步确认窗口700。在图9(a)中,标号702和704表示对应于“到硬件”和“从硬件”的单选按钮,作为可选择其中之一的同步方向。标号706表示插件程序名显示部分,该部分显示将被同步的某一注册插件程序。标号708表示用以开始执行同步的OK按钮。标号710表示用以停止执行同步的取消按钮。
现在返回到图11(b),在步骤SP54中,该进程一直等待到用户使用鼠标点击OK按钮708或取消按钮710为止。点击取消按钮710会停止该同步,并且立即终止该程序。点击OK按钮708会使该进程前进到步骤SP56。与步骤SP80的进程相似,确定个人计算机100是否能够与关联于注册插件程序的外部设备通信。
如果通信不可能,则该进程继续到步骤SP60。显示器8显示与上面的步骤SP84所显示的报警窗口相似的报警窗口。如果在步骤SP56中结果是“是”(可通信),则该进程继续到步骤SP58。与上面的步骤SP82相似,该进程输出指令到注册插件程序,以进行与对应外部设备的同步。该指令包括单选按钮702或704所指定的同步方向。在这种方式下,该程序进程终止。当随后对注册插件程序完成该同步时,该注册插件程序变为“在线”。
3.2远程控制插件程序面板窗口500的操作(图6)如上所述,左双击任一图标320至334,显示对应设备的远程控制软件的面板窗口。按照对于控制器156(对应于图标320)显示远程控制插件程序面板窗口500(图6)的实例,将具体描述面板窗口的操作。在图6中,标号510表示菜单栏,该菜单栏显示“文件”按钮512、“同步”按钮516等。标号520表示域部分,该部分显示如图6所示的电平计522和524、通道名显示部分526、旋转控制528、开关530和532、衰减器534和536的图像。
域520中显示的图像模拟控制器156上的操作面板配置,作为该操作面板所实现的功能的对应外部设备或等效配置。当该注册插件程序“在线”时,控制器156向个人计算机100通报将要显示于电平计522和524等上的内容。基于收到的操作内容,该注册插件程序更新其参数存储器的内容。当开关、旋转控制、衰减器等在控制器156的操作表面上被操作时,这些操作内容被通报给个人计算机100。
相对照地,使用鼠标,用户能够点击或拖拉操作域部分520中的旋转控制528、开关530和532、衰减器534和536等。这些操作内容被通报给控制器156。基于收到的操作内容,控制器156更新其参数存储器的内容。在这种方式下,个人计算机100或控制器156向对方通报操作内容,这些操作内容被立即反映在被通报方的参数存储器中。注册插件程序和控制器156在它们的参数存储器中一直保持相同内容。因此,域部分520的显示内容与控制器156上的操作面板的状态匹配。
3.2.1从“文件”菜单中选择“配置”时的进程在菜单栏510中,鼠标左击“文件”按钮512,显示与上述工作空间管理窗口300中的“文件”菜单352(图4(b))相似的“文件”菜单。从“文件”菜单中选择“配置”,允许显示器8显示如图8所示的远程控制插件程序配置窗口650。标号652和656表示组合框,用于选择MIDI输入端口,以输入各种控制信号和音乐演奏信息。这些组合框允许从多个候选中为控制信号和音乐演奏信息选择MIDI输入端口。
类似地,标号654和658表示组合框,用于选择MIDI输出端口,以输出各种控制信号和音乐演奏信息。这些组合框允许从多个候选中为控制信号和音乐演奏信息选择MIDI输出端口。工作空间程序向远程控制插件程序通报将要显示于组合框652至658中的MIDI输入/输出端口候选(candidate)。
如上所述,工作空间程序允许从MIDI输入端口列表框626和MIDI输出端口列表框628中选择多个MIDI输入/输出端口(图7)。所选的MIDI输入/输出端口包括已经分配给其他远程控制插件程序的MIDI输入/输出端口。除了已分配的之外,剩余的MIDI输入/输出端口被通报给远程控制插件程序。在这种方式下,组合框652至658允许选择MIDI输入/输出端口,以避免与用于其他注册插件程序的MIDI输入/输出端口重复。
标号660表示OK按钮。鼠标点击OK按钮660,对于如配置窗口650中所指定的分配给远程控制插件程序的MIDI输入/输出端口进行更新,然后关闭配置窗口650。标号662表示取消按钮。鼠标点击取消按钮662,丢弃这些编辑内容,然后关闭配置窗口650。这些编辑内容,即分配给远程控制插件程序的MIDI输入/输出端口,被写到远程控制插件程序的参数存储器中。该工作空间程序发布一查询到每个远程控制插件程序,以获得关于分配给远程控制插件程序的MIDI输入/输出端口的信息。该工作空间程序可以是工作空间插件程序410。在这种情况下,工作空间插件程序410响应于来自音乐软件420的请求,并且向它通报每个远程控制插件程序和MIDI输入/输出端口之间的一致性。
3.2.2其他进程从“文件”菜单中选择“打开”,显示一用以打开文件的窗口。用户能够为注册插件程序选择配置文件。用于插件程序的配置文件具有专用于注册插件程序的格式。该格式不同于用于工作空间的上述配置文件的格式。用于插件程序的配置文件仅关联于对应的插件程序。当选择该配置文件时,该配置文件中所定义的参数被写覆盖到注册插件程序的参数存储器。
与上述工作空间管理窗口300上的操作相似,从“文件”菜单中选择“保存”或“另存为”,将插件程序参数存储器的内容存储于用于插件程序的配置文件中。从“文件”菜单中选择“退出”,关闭面板窗口500。对应的注册插件程序本身是“常驻”的,并且继续为有效。当注册插件程序“在线”时,参数存储器内容被一直保持为对应于外部设备的状态。当面板窗口500随后被再次打开时,域部分520等反映当前状态。
已经描述了用于控制器156的远程控制插件程序面板窗口500的配置和操作。用于其他外部设备的远程控制插件程序面板窗口为菜单栏510提供与上述面板窗口500相同的配置和操作。可明显地理解,域部分520的内容取决于用于每个外部设备的操作面板的配置。
3.3音乐软件的操作在个人计算机100上进行指定操作,启动音乐软件420,该软件能够独立地在多个轨道上记录、播放和编辑含有波形数据、MIDI数据等的序列数据。显示器8显示如图3(a)所示的音乐软件窗口200。在图3(a)中,标号210表示菜单栏,该菜单栏显示各种菜单按钮,比如“文件”按钮211、“插件程序”按钮214等。标号220表示含有多“行(row)”的轨道显示部分,其被划分成音乐软件420所回放的序列数据轨道。标号222表示启动按钮部分,该部分包括为对应轨道设置的启动按钮。该启动按钮是一种图形控制,用于打开将被提供有在每个轨道上播放的MIDI信号或波形数据的外部设备(MIDI声音模块、混音器、效果器等)或软件(软件合成器、软件效果器等)的面板窗口。
音乐软件402回放序列数据,该数据可包括用于每个轨道的音乐演奏信息(MIDI数据)和波形数据。标号224表示轨道类型显示部分,以显示用于每个轨道的数据是波形数据(W)还是MIDI数据(M)。标号228表示轨道名显示部分,该部分显示分配给每个轨道的名称(例如音质名)。标号230表示输出端口显示部分,该部分显示分配给每个轨道的输出端口名。这些输出端口是该系统的资源,可分配给对应于这些轨道的外部设备。标号240表示块(block)显示部分,该部分显示用于每个轨道的块。该块表示序列数据的范围,该范围沿着作为时间轴的横坐标,包含MIDI信号或波形数据。标号250表示记录/回放操作部分,包括按钮254至262,用以记录、播放、快进、倒退和停止序列数据;以及时间码显示部分252,用以显示时间码。为了启动记录,用户指定将被记录的一个或多个轨道((M)和或(W))。用户将时间轴光标移动到启动记录的位置,操作该记录按钮262以等待记录,然后操作该启动按钮260以启动记录所指定的轨道。为了启动回放,用户将时间轴光标移动到启动回放的位置,然后操作该启动按钮260,以回放所有未静音的轨道。操作该停止按钮258能够停止进行中的记录或回放。
当工作空间插件程序410被配置为常驻(有效)时,启动音乐软件420,以启动“常驻”状态下的工作空间插件程序410。此外,工作空间插件程序410中插入的注册插件程序也在“常驻”状态下被启动。按照该实施例,音乐软件420启动插入的工作空间插件程序410。工作空间配置窗口600被用来注册任何远程控制插件程序。此时,工作空间插件程序410被自动变得常驻(有效)。也就是说,假定工作空间插件程序410具有已注册的插件程序。优选地,用户能够选择音乐软件420是否应当“使用”或“不使用”工作空间插件程序410。在这种情况下,工作空间插件程序410在被选择为“使用”时能够变得常驻。期望该选择被保存于随后将描述的序列数据文件中。可选地,在音乐软件420启动工作空间插件程序410之后,优选地允许工作空间插件程序变得“常驻”。
3.3.1选择“插件程序”按钮214之后的操作鼠标点击“插件程序”按钮214,显示图3(b)中的插件程序菜单270。该菜单列出音乐软件420中插入的各种插件程序软件(与置于插件程序文件夹中的程序文件相对应的插件程序)的名称。插件程序菜单270还为上述远程控制插件程序列出插件程序软件,比如“XG编辑器”和“DX编辑器”。“WS管理器”是上述工作空间插件程序410的名称。
音乐软件420被加载与插件程序文件夹中的程序文件相对应的所有插件程序软件。插件程序菜单270列出这些插件程序软件的名称。这些插件程序软件被直接插入于音乐软件420中,而无需工作空间插件程序410的协调。一些插件程序被注册到工作空间插件程序410,另一些插件程序则不注册到工作空间插件程序410。
当“WS管理器”选自于插件程序菜单270时,该选择被通报给工作空间插件程序410。工作空间插件程序410在显示器8上显示工作空间管理窗口300。管理窗口300中的操作与上述独立工作空间软件430的操作相同。也就是说,各种操作是可用的,比如左双击域部分310中所显示的图标、启动对应于该图标的注册插件程序的面板窗口等。
当音乐软件420启动工作空间插件程序410时,工作空间插件程序410可发布请求。响应于该请求,音乐软件420向工作空间插件程序410通报可用的MIDI输入/输出端口。这是因为个人计算机100提供可用的MIDI输入/输出端口,某些所述MIDI输入/输出端口可独立于工作空间插件程序410来使用。例如,存在可用的输入/输出端口,被用于直接插入于音乐软件420中的软件。因此,当工作空间插件程序410显示配置窗口600时,MIDI输入端口列表框626和MIDI输出端口列表框628仅列出从音乐软件420通报的MIDI输入/输出端口。这些MIDI输入/输出端口是可分配给外部设备的系统资源。
当用户从插件程序菜单270中选择直接插入于音乐软件中的远程控制插件程序时,音乐软件启动对应的插件程序。显示器8显示面板窗口,允许用户修改各种设置。
3.3.2启动按钮操作和效果当启动按钮属于启动按钮部分222中的MIDI数据(M)轨道时,鼠标点击该启动按钮,以启动如图10(c)所示的启动按钮操作事件程序。该轨道回放被输出到MIDI输出端口的音乐演奏信息。基于该MIDI输出端口,在图10(c)的步骤SP32中,该进程检测使用该输出端口的外部设备(MIDI声音模块)或软件(软件合成器),作为用于音乐演奏信息的输入源。当将被使用的远程控制插件程序被直接插入于音乐软件420中时,音乐软件420发布一查询到远程控制插件程序,并且能够确定使用哪个MIDI输出端口,以提供音乐演奏信息到对应于远程控制插件程序的外部设备。当音乐软件420使用工作空间插件程序410时,音乐软件420发布一查询到工作空间插件程序410,并且能够确定使用哪个MIDI输出端口,以提供音乐演奏信息到对应于工作空间中每个注册插件程序的外部设备。如上所述,工作空间插件程序410能够对来自于注册插件程序的音乐演奏信息获得每个注册插件程序和MIDI输入/输出端口之间的一致性。工作空间插件程序410向音乐软件420通报所得的一致性信息。当软件合成器被用作音乐软件时,每个软件合成器在启动时提供它的专用虚拟MIDI端口。因此,该一致性能够按照该输出端口而立即被确定。当检测到外部设备时,该进程确定控制该外部设备的远程控制插件程序。当检测到软件时,该进程确定对应的软件控制插件程序。
从MIDI输出端口输出的MIDI信号可被提供到不遵循远程控制的MIDI设备。显然在这种情况下,没有对应的插件程序。在步骤SP34中,该进程基于步骤SP32的检测结果,确定是否有任何远程控制插件程序或软件控制插件程序被找回。如果该结果是“否”,则该程序进程立即终止。
如果在步骤SP34中该结果是“是”,则该进程继续到步骤SP36。确定所检测的插件程序是否是属于工作空间插件程序410的注册插件程序。如果该结果是“是”,则该进程继续到步骤SP40。音乐软件420发布指令到工作空间插件程序410,以输出指令到注册插件程序,从而显示面板窗口。基于该进程,工作空间插件程序410输出指令到注册插件程序,以便显示面板窗口。该注册插件程序在显示器8上显示面板窗口。
当检测到的插件程序被直接插入于音乐软件420中时,该结果在步骤SP36中是“否”。该进程继续到步骤SP38。音乐软件420输出指令到该插件程序,以显示面板窗口。该插件程序在显示器8上显示面板窗口。
3.3.3“文件”菜单的细节(1)选择“打开”时的进程鼠标左击“文件”按钮211,显示与上面图4(b)中所示相似的“文件”菜单。选择“打开”,显示用以打开文件的窗口。用户可选择用于音乐演奏信息等的序列数据文件。当给定的序列数据文件被选定时,它的内容被读取,以启动进程,比如回放记录/回放操作部分250上的音乐演奏信息。
按照该实施例,该序列数据文件可包含“工作空间配置数据”。工作空间配置数据的内容与上述“工作空间配置文件”相似。当该序列数据文件被配置为允许工作空间插件为有效(常驻)时,该序列数据文件包含工作空间配置数据。当含有工作空间配置数据时,工作空间插件程序410被启动。音乐软件426向工作空间插件程序410提供工作空间配置数据。当被提供有工作空间配置数据时,工作空间插件程序410进行与上述工作空间加载程序相似的进程(图10(b))。
也就是说,读取所提供的工作空间配置数据。显示器8显示管理窗口300,该窗口具有显示为空的域部分310。该进程然后确认该工作空间中所含远程控制插件程序所使用的MIDI端口(SP16)。该进程将注册插件程序启动为“常驻”,并且在域部分310中显示对应图标(SP18)。该进程将对应于当前工作空间的参数写入每个注册插件程序的参数存储器中(SP20)。当“自动全部调用同步”被启动时,该进程为对应的外部设备启动参数传送进程(SP24)。
(2)选择“保存”时的进程考虑音乐软件420被配置为允许工作空间插件程序410为有效(常驻)。当从对应于“文件”按钮211的“文件”菜单中选择“保存”时,音乐软件420输出指令到工作空间插件程序410,以收集工作空间状态。结果,工作空间插件程序410进行与上述工作空间保存程序相似的进程(图10(a))。发布请求到注册插件程序,以从注册插件程序收集参数存储器内容(SP2)。收集的数据被组合到工作空间程序本身的参数,以建立“工作空间配置数据”(SP4)。
按照该实例,工作空间配置数据基于来自音乐软件420的指令来产生。在这种情况下,工作空间配置数据能够被提供给指令发布软件,而不进行步骤SP6的进程(将数据写入配置文件中)。当被提供有来自工作空间插件程序410的工作空间配置数据时,音乐软件420将工作空间配置数据与此时的序列数据组合。作为组合结果的数据被作为序列数据文件存储于硬盘24中。工作空间插件程序410可从音乐软件420启动。即使在这种情况下,用于工作空间插件程序410的配置文件能够独立于音乐软件420的序列数据文件进行读写。因此,能够将与音乐软件420的给定序列数据文件相对应的工作空间插件程序410的设置移动到另一序列数据文件。
4.改型本发明不限于上述实施例,而是可如下所述地具体实施为各种改型。
(1)该实施例利用运行于个人计算机上的工作空间程序、应用程序、远程控制插件程序等来进行各种进程。不仅可通过将这些程序存储于记录介质比如CD-ROM和软盘上,而且可通过经由通信线路传送它们,来分发这些程序。
(2)该实施例仅响应于鼠标点击该启动按钮部分222中的、属于MIDI数据(M)轨道的任一启动按钮,来执行该启动按钮操作事件程序(图10(c))。相似的进程可响应于鼠标点击属于波形数据(W)轨道的启动按钮()来进行。
(3)不同的图标可用于与工作空间的域部分310中所显示的注册插件程序相关联的外部设备。图标不仅可被设计为表示与注册插件程序相关联的外部设备的形状,而且可被设计为标志(logo)、图像等。这些“图标”不限于位形,而且可以是含有产品型号、商标、用户定义名等的简单方框。
(4)按照该实施例,工作空间软件430在全部调用同步或单独同步期间确定是否有外部设备将被同步(SP80或SP56)。工作空间软件430可周期性检查外部设备的可用性,但是在同步进程期间则不检查。工作空间软件430本身并不总是需要检测可用性。工作空间软件430可发布指令到每个注册插件程序,并且允许该注册插件程序检查受控外部设备的可用性。
(5)专用于音乐声音信号的LAN能够在IEEE1394标准之外的网络上实施。音乐声音信号LAN可按照图1中的虚线所示的线路连接而构造于100baseTEthernet(注册商标)上。可选地,无线LAN或USB可用来实施相似的音乐声音信号LAN。
权利要求
1.一种在计算机上执行的控制多个外部设备的方法,该计算机被配置有对应于所述多个外部设备的多个远程控制进程;以及管理进程,用于在与所述远程控制进程通信的同时,管理所述远程控制进程,该方法包括如下步骤利用该管理进程,以在该管理进程所提供的显示域中,显示对应于所述远程控制进程的图标;当指定操作被应用到该显示域中的所述图标之一时,利用该管理进程,以将屏幕打开指令发送到与该指定操作所应用到的图标相对应的所述远程控制进程之一;以及利用接收该屏幕打开指令的远程控制进程,显示用于远程控制对应的外部设备的控制屏幕。
2.一种在计算机上执行的控制多个外部设备的方法,该计算机被配置有对应于所述多个外部设备的多个远程控制进程;以及管理进程,用于在与所述远程控制进程通信时,管理所述远程控制进程,该方法包括如下步骤激活该管理进程,以在该管理进程所提供的显示域中,显示对应于所述远程控制进程的图标,用于远程控制所述外部设备;当检测到保存指令操作时,允许该管理进程从与该显示域上所显示的所述图标相对应的各所述远程控制进程中收集表示所述外部设备的当前状态的第一参数;以及将表示该管理进程的当前状态的第二参数与收集的所述外部设备的第一参数组合,以产生配置文件,并且将该配置文件保存于记录介质上。
3.一种在计算机上执行的控制多个外部设备的方法,该计算机被配置有对应于所述多个外部设备的多个远程控制进程;以及管理进程,用于在与所述远程控制进程通信时管理所述远程控制进程,该方法包括如下步骤当检测到加载指令操作时,激活该管理进程,用于读取含有参数的配置文件,所述参数定义所述外部设备的状态;启动与外部设备相对应的所述远程控制进程,所述外部设备的参数包含在读取的配置文件中;向所启动的远程控制进程提供所读取的配置文件中所含的参数,用于控制对应的外部设备;以及允许该管理进程在该管理进程所提供的显示域中,显示与所启动的远程控制进程相对应的图标。
4.如权利要求1至3中任一项所述的方法,还包括如下步骤第一允许步骤,允许该管理进程注册与应当由该管理进程管理的外部设备相对应的远程控制进程,该远程控制进程基于该计算机中所安装的远程控制程序而被配置于该计算机上;以及第二允许步骤,允许该管理进程在该管理进程所提供的显示域中,显示与所注册的远程控制进程相对应的图标。
5.如权利要求4所述的方法,其中该第一允许步骤能够注册两个或更多远程控制进程,用于相互独立地远程控制相同类型的两个或更多外部设备,所述两个或更多远程控制进程的每一个基于该计算机中所安装的相同远程控制程序而相互分离地配置于该计算机上。
6.一种装置,能够执行如权利要求1至5中任一项所述的控制外部设备的方法。
7.一种用于具有处理器的装置中的程序,该程序可由该处理器执行,用于使该装置执行如权利要求1至5中任一项所述的控制外部设备的方法。
8.一种在计算机上执行的控制多个外部设备的方法,该计算机被配置有对应于所述多个外部设备的多个远程控制进程;以及管理进程,用于在与所述远程控制进程通信时管理所述远程控制进程,每个远程控制进程被分配有用于存储对应外部设备的配置状态的参数存储器区域,该方法包括同步指令步骤,允许该管理进程同时发送同步指令到各所述远程控制进程;以及全部调用同步步骤,允许各所述远程控制进程基于该同步指令相互并行地进行同步操作,以使分配给每个远程控制进程的每个参数存储器区域中所存储的配置状态与对应外部设备的实际状态同步。
9.如权利要求8所述的方法,还包括同步方向指令步骤,选择和指定第一同步方向或第二同步方向,该第一同步方向将该外部设备的实际状态调整为对应远程控制进程的参数存储器区域中所存储的配置状态,该第二同步方向将该远程控制进程的参数存储器区域中所存储的配置状态调整为对应外部设备的实际状态,从而该全部调用同步步骤使各所述远程控制进程在该同步方向指令步骤所选择和指定的相同同步方向上进行该同步操作。
10.如权利要求8所述的方法,还包括同步可用性确定步骤,单独确定每个所述远程控制进程是否在该全部调用同步步骤中进行该同步操作。
11.如权利要求10所述的方法,还包括全部调用同步确认步骤,在开始该全部调用同步步骤之前显示确认信息,该确认信息表示已被该同步可用性确定步骤确定为在该全调用同步步骤中进行该同步操作的所述远程控制进程。
12.如权利要求8所述的方法,其中所述远程控制进程的每个参数存储器区域以划分为许多组的各种参数的形式,存储对应外部设备的配置状态,该方法还包括同步组配置步骤,允许每个远程控制进程选择和设置一个或多个受到该全部调用同步步骤中的同步操作的参数组。
13.如权利要求8所述的方法,其中该全部调用同步步骤包括允许所述远程控制进程向该管理进程通报各所述远程控制进程所进行的每个同步操作的进度的步骤;以及列表屏幕显示步骤,允许该管理进程显示列表屏幕,该列表屏幕示出各所述远程控制进程在该全部调用同步步骤期间所进行的同步操作的进度。
14.如权利要求8所述的方法,其中该全部调用同步步骤包括如下步骤使该管理进程检测被应用到所述远程控制进程中特定一个的停止操作;响应于所检测到的停止操作,将停止指令发送到该特定远程控制进程;以及使该特定远程控制进程接收该停止指令和停止该同步操作。
15.如权利要求8所述的方法,还包括使至少一个所述多个远程控制进程优先的步骤;以及优先同步步骤,使优先的远程控制进程在该全部调用同步步骤之前进行该同步操作,从而在该优先同步步骤终止之后对剩余的远程控制进程进行该全部调用同步步骤。
16.一种装置,能够执行如权利要求8至15中任一项所述的远程控制外部设备的方法。
17.一种用于具有处理器的装置中的程序,该程序可由该处理器执行,用于使该装置执行如权利要求8至15中任一项所述的远程控制外部设备的方法。
18.一种在计算机上执行的控制多个外部设备的方法,该计算机被配置有对应于所述多个外部设备的多个远程控制进程;管理进程,用于在与所述远程控制进程进行通信的同时,管理所述远程控制进程;以及应用程序进程,用于在与该管理进程通信的同时,利用所述外部设备来进行应用程序工作,其中该应用程序进程执行第一显示步骤,显示该应用程序工作的屏幕,该屏幕被提供有对应于所述多个外部设备的多个图形控制;以及发送步骤,当一操作被应用到该应用程序工作的屏幕中所提供的所述图形控制之一时,将发布请求指令发送到该管理进程,其中该管理进程执行发布步骤,响应于来自该应用程序进程的发布请求指令,发布显示指令;以及发送步骤,将发布的显示指令发送到与被施加该操作的图形控制相对应的所述远程控制进程之一,以及其中所述一个远程控制进程执行接收步骤,接收从该管理进程发送的该显示指令;以及第二显示步骤,响应于该显示指令,显示远程操作屏幕,用于远程控制对应的外部设备。
19.一种在计算机上执行的控制多个外部设备的方法,该计算机被配置有对应于所述多个外部设备的多个远程控制进程;管理进程,用于在与所述远程控制进程通信的同时,管理所述远程控制进程;以及应用程序进程,用于在与该管理进程通信的同时,通过分配资源给所述远程控制进程来进行应用程序工作,其中该管理进程执行如下步骤从该应用程序进程接收表示可用于该应用程序工作的第一组资源的信息;保持该第一组资源之中的第二组资源,用于该管理进程所管理的所述远程控制进程;向各所述远程控制进程通报表示第三组资源的信息,该第三组资源包含于该第二组资源中,但是排除各所述远程控制进程已经使用的资源,由此该第三组资源包含可分配给各所述远程控制进程的一个或多个资源;以及从各所述远程控制进程接收信息,该信息表示含有一个或多个已分配资源的第四组资源。
20.一种在计算机上执行的控制多个外部设备的方法,该计算机被配置有对应于所述多个外部设备的多个远程控制进程;管理进程,用于在与所述远程控制进程通信的同时,管理所述远程控制进程;以及应用程序进程,用于在与该管理进程通信的同时,利用资源来至少进行乐曲的再现工作,其中该应用程序进程执行如下步骤分配资源给该乐曲的多个轨道的每个轨道;按照分配给各轨道的各所述资源,输出从该乐曲的所述多个轨道中再现的音乐演奏信息;从该管理进程接收资源信息,该资源信息表示各所述远程控制进程所使用的一组资源;基于分配给一个轨道的资源和从该管理进程接收的该资源信息,响应于显示所述一个轨道的远程操作屏幕的请求,识别外部设备,所识别的外部设备被提供有按照所分配的资源从所述一个轨道再现的音乐演奏信息;以及将发布请求指令发送到该管理进程,用于请求将显示指令发布到与所识别的外部设备相对应的一个远程控制进程,其中该管理进程执行如下步骤从各远程控制进程收集该资源信息,该资源信息表示各所述远程控制进程所使用的所述资源组;响应于该发布请求指令,将该显示指令发布到所述一个远程控制进程,以及其中所述一个远程控制进程执行如下步骤响应于来自该管理进程的显示指令,显示远程操作屏幕,从而对应于所述一个轨道的外部设备能够在显示的远程操作屏幕上被远程控制。
21.一种在计算机上执行的控制多个外部设备的方法,该计算机被配置有对应于所述多个外部设备的多个远程控制进程;管理进程,用于在与所述远程控制进程通信的同时,管理所述远程控制进程;以及应用程序进程,用于在与该管理进程通信的同时,利用所述外部设备来进行应用程序工作,其中该应用程序进程执行发送步骤,将发布请求指令发送到该管理进程,用于请求将操作指令发布到该管理进程所管理的所述远程控制进程之一,其中该管理进程执行如下步骤响应于来自该应用程序进程的发布请求指令,发布该操作指令;以及将该操作指令传送到所述一个远程控制进程,该操作指令指定将由所述一个远程控制进程进行的操作;以及其中所述一个远程控制进程响应于从该管理进程发送的操作指令,进行所指定的操作。
22.如权利要求21所述的方法,其中该应用程序进程还执行如下步骤当检测到保存操作时,将请求指令发送到该管理进程,用于请求关于当前状态的状态信息;响应于该请求指令,将该应用程序进程中保持的数据与从该管理进程提供的关于当前状态的信息组合;以及保存配置文件,该配置文件含有该应用程序进程的数据和该管理进程的信息的组合结果;其中该管理进程还执行如下步骤响应于来自该应用程序进程的请求指令,从各所述远程控制进程收集表示所述远程控制进程的当前状态的第一参数;以及将收集的第一参数与表示该管理进程的当前状态的第二参数组合;以及向该应用程序进程提供该第一和第二参数的组合结果,作为关于当前状态的信息。
23.如权利要求21所述的方法,其中该应用程序进程还执行如下步骤当检测到加载操作时,读取配置文件,所读取的配置文件含有指明该管理进程的状态和所述远程控制进程的状态的配置数据;以及向该管理进程提供该配置数据;以及其中该管理进程还执行如下步骤启动与该配置数据中所描述的参数相关联的一个或多个所述远程控制进程;以及向所启动的远程控制进程提供该配置数据中所描述的参数。
24.如权利要求21所述的方法,其中该管理进程执行传送该操作指令的步骤,该操作指令指定含有同步操作和显示操作中至少一个的操作,该同步操作使所述一个远程控制进程的当前状态与所述一个远程控制进程所控制的对应外部设备的当前状态同步,该显示操作显示远程操作屏幕,用于远程控制对应于所述一个远程控制进程的外部设备。
25.如权利要求18至24任一项所述的方法,其中该远程控制进程被插入于该管理进程中,从而该应用程序进程经过该中间的管理进程,间接管理该远程控制进程,或者可选地,该远程控制进程可被插入于该应用程序进程中,从而该应用程序进程直接管理该远程控制进程。
26.如权利要求18至24任一项所述的方法,其中该管理进程执行注册步骤,基于该计算机中安装的远程控制程序,注册该管理进程所管理的远程控制进程。
27.一种装置,能够执行如权利要求18至26任一项所述的控制外部设备的方法。
28.一种用于具有处理器的装置中的程序,该程序可由该处理器执行,用于使该装置执行如权利要求18至26任一项所述的控制外部设备的方法。
全文摘要
一种外部设备的远程控制方法,在计算机上进行,该计算机配置有多个远程控制进程,对应于多个外部设备;以及管理进程,用于在与远程控制进程通信的同时,管理远程控制进程。该管理进程被调入,以在管理进程所提供的显示域中,显示对应于远程控制进程的图标。此外,当指定操作被应用到显示域上的图标之一时,该管理进程进行运作,用于将屏幕打开指令发送到与该指定操作所应用到的图标相对应的远程控制进程之一。接收该屏幕打开指令的远程控制进程被激活以显示控制屏幕,用于远程控制对应外部设备。
文档编号G08C19/00GK1641589SQ20051000431
公开日2005年7月20日 申请日期2005年1月14日 优先权日2004年1月15日
发明者梅尾达也, 山本孝郎, 冈林昌明, 宫森秀生 申请人:雅马哈株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1