Method and device for adapting vst plug-in, and network live broadcast system
By creating a main window and a plugin window on the host and synchronizing them, the problem of VST plugins adapting to different systems is solved, achieving self-adaptation and efficient use, and improving the user experience.
Patent Information
- Application Number
- CN202310181116.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-01
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2043-03-01
AI Technical Summary
Due to version differences in VST plugins, different host software versions need to be adapted for different systems, which increases the user's cost and complexity and affects efficiency.
After the host starts up, it scans the version information of VST plugins, creates a main window and plugin windows, and performs operations synchronously when the user interacts with them. It adapts to different versions of VST plugins by using parent-child window mode or independent window mode, and uses inter-process communication and screen detection program to handle exceptions and switch modes.
It achieves self-adaptation of VST plugins on different systems, improves efficiency, reduces the complexity of audio processing for users, and enhances the application experience.
Smart Images

Figure CN116126425B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of network live broadcast, in particular, the present application relates to a kind of VST plug-in adaptation method, device, network live broadcast system, computer equipment and computer readable storage medium. BACKGROUND
[0002] With the increasing popularity of network live broadcast, anchors not only use beauty effects to improve image quality, but also use various external sound cards and sound optimization software to improve sound quality effect;Various sound optimization tools are widely used, and the core of these sound optimization tools is to use various VST (Virtual Studio Technology) plug-in effects to optimize sound quality and achieve various sound effects.
[0003] Since VST host software is generally divided into multiple versions, VST plug-in versions are divided into multiple versions according to the system, for example, in the Windows system, it is generally divided into 32 and 64 bit versions, so that some VST plug-ins must be adapted to two versions to adapt to different host software, which increases the user's use cost and affects the use efficiency of VST plug-ins.
[0004] Therefore, it is necessary to provide a VST plug-in adaptation scheme to solve the technical defects that multiple versions of VST plug-ins cannot automatically adapt to various VST plug-ins. SUMMARY
[0005] Therefore, it is necessary to provide a VST plug-in adaptation method, device, network live broadcast system, computer equipment and computer readable storage medium to solve the above at least one technical defect, so that the host software can adapt to various VST plug-ins and improve the use efficiency of VST plug-ins.
[0006] In a first aspect, the present application provides a VST plug-in adaptation method, comprising the following steps:
[0007] After starting the host, scan the file information of the VST plug-in to identify the corresponding version information;
[0008] When the user opens the VST plug-in, create a main window on the host interface according to the version information, create a first window within the main window, and create a second window of the VST plug-in on the first window;
[0009] When the user performs a first operation on the main window, the first window and the second window are called to perform the first operation;
[0010] When the user performs a second operation on the second window, the main window is called to perform the second operation.
[0011] In one embodiment, the method of creating a main window on a host interface according to the version information, creating a first window within the range of the main window, and creating a second window of the VST plug-in on the first window, comprises:
[0012] When the version information of the VST plug-in is the same as the version information of the host, a main process under the version information is created on the host, and a main window is established on the main process;
[0013] A first window is created within the range of the main window according to a set offset on the main process, and a second window provided by the VST standard is created on the first window.
[0014] In one embodiment, the method of adapting the VST plug-in further comprises:
[0015] When the version information of the VST plug-in is different from the version information of the host, a main process under the version information is created on the host; after the main process is established, the parameters required to open the second window are sent to the main process through inter-process communication, and a main window is established on the main process according to the parameters.
[0016] In one embodiment, the method of calling the first window and the second window to execute the first operation comprises:
[0017] Sending a message to the first process where the first window is located, and calling the first process to synchronously execute the first operation on the first window and the second window;
[0018] The method of calling the main window to execute the second operation comprises:
[0019] Sending a message to the main process where the main window is located, and calling the main process to synchronously execute the second operation on the main window.
[0020] In one embodiment, the method of creating a first window within the range of the main window on the main process according to a set offset comprises:
[0021] First window mode: creating a child window within the range of the main window on the main process according to a set offset, taking the main window as the parent window, to obtain the first window;
[0022] Or
[0023] Second window mode: creating a child window on the main process with an offset of the range of the window itself plus a screen offset as the first window.
[0024] In one embodiment, the adaptation method of the VST plug-in further comprises:
[0025] When the user opens the VST plug-in, the first window mode is used by default;
[0026] A screen detection program is started to detect the window interface, and when the second window appears the VST plug-in interface or the window cannot be normally displayed, an availability detection program is started to detect the availability of the VST plug-in;
[0027] If the VST plug-in is normal and cannot be normally displayed, the second window mode is enabled to create the first window, and the VST plug-in is added to the blacklist of the first window mode;
[0028] When the VST plug-in is opened subsequently, the host reads the blacklist, and if the VST plug-in is recorded in the blacklist, the second window mode is used to create the first window.
[0029] In one embodiment, the adaptation method of the VST plug-in further comprises:
[0030] The screen scaling ratio of the host device is obtained, and the offset is dynamically adjusted according to the scaling ratio when the offset is set.
[0031] In one embodiment, the version information of the VST plug-in includes 32-bit version and 64-bit version;
[0032] The version information of the host includes 32-bit version and 64-bit version;
[0033] The first operation or the second operation includes dragging, resizing or zooming.
[0034] In a second aspect, the embodiments of the present application provide an adaptation device of a VST plug-in, comprising:
[0035] A version identification module is configured to scan the file information of the VST plug-in to identify the corresponding version information after the host is started;
[0036] A window creation module is configured to create a main window on the host interface according to the version information when the user opens the VST plug-in, create a first window in the range of the main window, and create a second window of the VST plug-in on the first window;
[0037] A first operation synchronization module is configured to call the first window and the second window to execute the first operation when the user performs the first operation on the main window;
[0038] A second operation synchronization module is configured to call the main window to execute the second operation when the user performs the second operation on the second window.
[0039] In a third aspect, the embodiments of the present application provide a network live broadcast system, comprising: a host end, a viewer end and a live broadcast server; wherein the host end and the viewer end are connected to the live broadcast server through a network respectively;
[0040] The live broadcast server is configured to forward live audio and video between the host end and the viewer end.
[0041] The host end is configured to access a host in a live broadcast room, collect audio and video streams of the host live broadcast and upload the audio and video streams to the live broadcast server; and when processing audio, perform the steps of the adaptation method of the VST plug-in according to any one of claims 1-7.
[0042] The viewer end is configured to access a viewer user in the live broadcast room and play the audio and video.
[0043] In a fourth aspect, the embodiments of the present application provide a computer device, comprising:
[0044] one or more processors;
[0045] a memory;
[0046] one or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to perform the adaptation method of the VST plug-in.
[0047] In a fifth aspect, the embodiments of the present application provide a computer readable storage medium, having a computer program stored thereon, wherein the computer program is executed by a processor to implement the adaptation method of the VST plug-in.
[0048] The technical solution of the present application first identifies version information by scanning the VST plug-in through host software, creates a main window and a VST plug-in window according to the version information when a user opens the VST plug-in, calls the VST plug-in window to perform the same operation when the user performs an operation on the main window, calls the main window to perform the same operation when the user performs an operation on the VST plug-in window, and synchronizes the protocol between the main window and the VST plug-in window. The technical solution can adapt various versions of the VST plug-in autonomously, improve the use efficiency of the VST plug-in, and reduce the complexity of the user in the audio processing process when the user uses the VST plug-in to process audio, thereby improving the user application experience.
[0049] Further, according to different version information, two window modes can be created, using parent-child windows under the same process, which has high synchronization and coordination efficiency, and using independent windows under different processes, which has a wider range of applications and is convenient to use on different types of versions.
[0050] Further, through real-time monitoring of the screen detection program and judgment of available detection programs, the VST plug-in can be autonomously identified and prompted for abnormal reasons when an abnormality occurs. In addition, through the blacklist, the rack software can automatically switch from the first window mode to the second window mode when the VST plug-in is opened again in the future, thereby further improving the adaptation effect and use efficiency.
[0051] Further, by using the adaptive dynamic support scaling ratio of the terminal device, when the user sets the screen to different DPI parameters, the adaptive dynamic support scaling ratio effect can be adapted, thereby adapting the display and use of VST plug-ins on various different DPI screens and improving the use effect of VST plug-ins.
[0052] Additional aspects and advantages of the application will be set forth in part in the description which follows, and will be apparent from the description, or can be learned by practice of the application. BRIEF DESCRIPTION OF DRAWINGS
[0053] The above and / or additional aspects and advantages of the application will become apparent and be readily understood by considering the following detailed description, including the accompanying drawings, in which:
[0054] Figure 1 FIG. 1 is a schematic diagram of a framework of an example live streaming system;
[0055] Figure 2 FIG. 5 is a flowchart of an adaptation method of a VST plug-in according to an embodiment;
[0056] Figure 3 FIG. 7 is a schematic diagram of a parent-child window according to an example;
[0057] Figure 4 FIG. 8 is a schematic diagram of a non-parent-child window according to an example;
[0058] Figure 5 FIG. 9 is a schematic diagram of window mode switching according to an example;
[0059] Figure 6 FIG. 10 is a schematic diagram of DPI parameter setting according to an example;
[0060] Figure 7 FIG. 11 is a schematic diagram of creating a window through a process according to an example;
[0061] Figure 8 FIG. 13 is a schematic diagram of an adaptation device of a VST plug-in according to an embodiment;
[0062] Figure 9 Fig. 1 is a schematic diagram of an example network live streaming system;
[0063] Figure 10 Fig. 4 is a block diagram of a computer device of an embodiment. DETAILED DESCRIPTION
[0064] For the purposes of the present application, the technical solutions and advantages thereof are more clearly apparent, the following further describes the present application with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely intended to explain the present application and are not intended to limit the present application.
[0065] In the embodiments of the present application, the terms "first", "second", and the like are used to distinguish between items that have substantially the same function and action, "at least one" means one or more, "a plurality of" means two or more, for example, a plurality of objects means two or more objects. The terms "comprise", "include", and the like mean that the information appearing before the "comprise" or "include" covers the information listed after the "comprise" or "include" and its equivalents, and does not exclude other information. In the embodiments of the present application, "and / or" means that there can be three relationships, and the character " / " generally means that the associated objects before and after are in an "or" relationship.
[0066] Those skilled in the art can understand that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as generally understood by those skilled in the art to which the present application belongs. It should also be understood that terms such as those defined in a general dictionary should be understood to have meanings consistent with those in the context of the prior art, and should not be interpreted to have idealized or overly formal meanings unless specifically defined as such herein.
[0067] Virtual Studio Technology (VST) is a software interface that integrates software audio synthesizers and effects plugins with audio editing and recording systems; VST is usually in the form of a plugin software effecter technology that can run on most professional music software today; VST effects cover most of the effects used in music production, and music software that uses VST plugins is called VST host.
[0068] In the network live broadcast, the host often uses VST plug-ins to improve the sound quality and optimize the sound effect during the live broadcast. The VST plug-ins run on the host software. Due to different system version information, such as the 32-bit version and the 64-bit version of Windows, the version of the host software is different from the type of the VST plug-in. On the one hand, the VST plug-in must be adapted to different host software in two versions. On the other hand, the corresponding version information of the host software must be selected to match the VST plug-in during use, which affects the use efficiency.
[0069] Therefore, in order to solve the above technical defects and improve the use efficiency of the VST plug-in, the application provides an adaptation method and device of a VST plug-in, a network live broadcast system, a computer device and a computer readable storage medium.
[0070] The technical solutions of the application and how the technical solutions solve the above technical problems will be described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0071] Before explaining the embodiments of the application in detail, the application scenarios of the embodiments of the application are introduced. The method provided by the embodiments of the application can be applied to a scenario in which a VST plug-in is used to optimize live audio in a network live broadcast environment.
[0072] Please refer to Figure 1 , Figure 1 Fig. 1 is a schematic diagram of a frame of an example network live broadcast system. The system frame can include a host end, a live broadcast server and a viewer end. The host end and the viewer end are respectively connected with the live broadcast server through a wired network or a wireless network. The viewer end and the host end can enter the live broadcast platform through a terminal device. The host user performs live broadcast through the host end, such as performing a real talent show, and collects video data and audio data through a camera and a microphone running on the terminal device. The host software and the VST plug-in of the live broadcast end are used to optimize the sound quality of the audio data and improve the sound effect. The viewer user selects a virtual live broadcast room through the viewer end to watch the host user perform live broadcast. In the application, the terminal device used by the host end and the viewer end can be a computer device, such as a smart phone, a tablet computer, a desktop computer or a notebook computer, and is not limited to this. It can also be a software module of an application program. The live broadcast server includes a background server for providing background service for the computer device, which can be realized by an independent server or a server cluster composed of multiple servers.
[0073] Based on the framework of the aforementioned live streaming system, this application provides a VST plugin adaptation method, applied to a VST host machine, such as... Figure 2 As shown, Figure 2 This is a flowchart of a VST plugin adaptation method according to one embodiment, which may include the following steps:
[0074] S10 scans the file information of VST plugins and identifies the corresponding version information after the host starts up.
[0075] In this step, after the host software starts, it scans the file information of the VST plugin and identifies the corresponding version information of the VST plugin through the file information.
[0076] For example, after the rack software starts, it scans VST plugin information. Based on the data set in the header of the VST plugin file, it can determine whether the VST plugin is a 32-bit plugin (value 0x014c) or a 64-bit (value 0x8664) system version plugin. At the same time, it can also determine the version type of the VST plugin based on the file extension. For example, VST2 has the extension .dll, and VST3 has the extension .vst3.
[0077] S20: When the user opens the VST plugin, a main window is created on the host interface according to the version information, a first window is created within the scope of the main window, and a second window of the VST plugin is created on the first window.
[0078] This step mainly involves the window configuration process when using the VST plugin. Based on the previously identified version information, a main window is created on the host interface. Then, a first window is created within the scope of the main window, and a second window (i.e., the VST plugin window) of the VST plugin is created on the first window. The second window is a built-in VST window created using the method provided by the VST standard.
[0079] By creating a main window, as well as a first window and a second window, synchronization protocol operation information can be implemented between the main window and the first window, and between the second window and the first window, thus enabling compatibility with different versions of VST plugins and rack software.
[0080] In one embodiment, when creating a window based on different version information, the following two scenarios may be included:
[0081] (1) When the version information of the VST plugin is the same as that of the host, a main process under the version information is created on the host, and a main window is created on the main process; a first window is created on the main process within the range of the main window according to the set offset, and a second window of the VST plugin is created on the first window using the method provided by the VST standard.
[0082] For example, when both the rack software and the VST plugin are 32-bit, a Win32 child window with an offset of (left 0, top 100) can be used as the first window, and a Win32 child window built into the VST plugin with an offset of (left 0, top 100) can be created as the second window.
[0083] (2) When the version information of the VST plugin is different from the version information of the host, a main process of the corresponding version information is created on the host; after the main process is created, the parameters that the second window needs to be opened are sent to the main process through inter-process communication (IPC), and the main window is created on the main process according to the parameters.
[0084] Then, a first window is created within the main window range on the main process according to the set offset, and a second window provided by the VST plugin is created on the first window using the method provided by the VST standard.
[0085] For example, when the rack software is 32-bit, take the VST plugin as a 64-bit example. The rack software creates a 64-bit process. After the process is created, the parameters that the VST plugin window needs to open are sent to the 64-bit process via IPC, and then the window is created in the way in point (1).
[0086] For example, considering that VST plugins are generally made by third parties, the created windows can be divided into two window modes, as follows:
[0087] First window mode:
[0088] refer to Figure 3 As shown, Figure 3 This is an example of a parent-child window diagram. The main window is the parent window. A child window, the first window, is created within the main process and its range according to a set offset. Then, a second window, provided by the VST plugin, is created on top of the first window using methods provided by the VST standard. In this window mode, the main window, the first window, and the second window are parent-child windows created within the same process.
[0089] Second window mode:
[0090] refer to Figure 4 As shown, Figure 4is a schematic diagram of a non-parent-child window example, a child window with an offset of the range of the window itself plus a screen offset is created as a first window on the main process; then a second window provided by the VST standard is created on the first window through the method provided by the VST standard. In this window mode, the main window, the first window and the second window are independent windows created on different processes.
[0091] In the two window modes in the above embodiments, the first window mode is based on parent-child windows under the same process, and the synchronization and coordination efficiency is high, so the first window mode is preferred by default. In order to avoid the situation that the third-party VST plug-in cannot match the rack software, the second window mode adopts independent windows under different processes, which has a wider application range and is convenient to use on different types of versions.
[0092] S30, when the user performs a first operation on the main window, the first window and the second window are called to perform the first operation.
[0093] In this step, the user can directly drag, resize, zoom and other operations on the main window. At this time, the host calls the first window and the second window to perform the same operation, thereby realizing the effect of window synchronization change.
[0094] As an embodiment, when synchronizing the operations of the windows, the host can send a message to the first process where the first window is located, and call the first process to synchronously perform the first operation on the first window and the second window.
[0095] Corresponding to the different modes of the windows created in the foregoing embodiments, when the user performs an operation to change the main window during the window synchronization operation, a message is sent to the process where the first window is located. Since the main window, the first window and the second window are parent-child windows under the same process in the first window mode, the first window is directly called. In the second window mode, different processes send information to call the first window and the second window (the first window and the second window belong to the same process) to synchronously perform the corresponding operation to change the window.
[0096] S40, when the user performs a second operation on the second window, the main window is called to perform the second operation.
[0097] In this step, the user can directly drag, resize, zoom and other operations on the first window of the VST plug-in. At this time, the host calls the main window to perform the same operation.
[0098] As an embodiment, when synchronizing the operations of the windows, the host sends a message to the main process where the main window is located, and calls the main process to synchronously perform the second operation on the main window.
[0099] Corresponding to the different modes of the window created in the foregoing embodiments, during the window synchronization operation, in the first window mode, the first window, the second window and the main window are parent-child windows in the same process, and thus are directly called; in the second window mode, different processes send information through IPC to call the main window to perform corresponding operations to change the window.
[0100] The technical solutions of the foregoing embodiments can realize protocol synchronization between the main window and the VST plug-in window, so that the VST host software can adapt to various versions of VST plug-ins autonomously, and the use efficiency of the VST plug-in is improved; further, two window modes can be created according to different version information, the parent-child window based on the same process is used, the synchronization and coordination efficiency is high, the independent window mode based on different processes is used, the application range is wider, and the use on different types of versions is facilitated; based on the technical solutions of the present application, when a user uses the VST plug-in to process audio, there is no need to adapt to a specific host software version type, the complexity of the user in the audio processing process is reduced, and the user application experience is improved.
[0101] To make the technical solutions of the present application clearer, more embodiments are described below.
[0102] In one embodiment, to realize accurate switching between the first window mode and the second window mode, so that the host software can autonomously match the opened VST plug-in, the present application further provides the following switching method embodiments, wherein the switching process can include the following:
[0103] a. When the user opens the VST plug-in, the first window mode is used by default.
[0104] b. A screen detection program is started to detect the window interface, and when the second window appears the VST plug-in interface or the window cannot be normally displayed, an availability detection program is started to detect the availability of the VST plug-in.
[0105] c. If the VST plug-in is normal and cannot be normally displayed, the second window mode is enabled to create the first window, and the VST plug-in is added to the blacklist of the first window mode.
[0106] Specifically, refer to Figure 5 , Figure 5This is a schematic diagram illustrating window mode switching. The rack software starts a screen detection program. When encountering anomalies such as the VST plugin interface not opening or some windows on the VST interface being inaccessible (e.g., window flickering), the screen detection program identifies these anomalies, captures and compares the differences in the interface after opening the VST plugin in real time, and determines whether the VST interface is normal. Then, an availability detection program is started to determine the availability of the VST plugin. The VST plugin file is opened and preloaded. If the anomaly is due to an unofficial version of the VST plugin (unregistered), it is judged as unusable, and a pop-up window prompts the user to register the VST plugin before use. In addition, if an anomaly or crash occurs during loading, it will restart and attempt to load again. If multiple attempts fail, the VST plugin is judged as unusable. If the anomaly is due to a display problem and the VST plugin is normal, the rack software records the VST plugin in the blacklist of the first window mode and enables the second window mode. When the VST plugin is opened subsequently, the host reads the blacklist. If the VST plugin is recorded in the blacklist, the second window mode is used to create both the first and second windows.
[0107] The technical solution of the above embodiment, through real-time monitoring of the screen detection program and judgment of the available detection program, can autonomously identify and prompt the cause of the abnormality when the VST plugin is abnormal. At the same time, through the blacklist, the rack software can automatically switch from the first window mode to the second window mode when the VST plugin is opened again in the future, thereby further improving the adaptation effect and usage efficiency.
[0108] In one embodiment, considering that users may set different screen scaling ratios (DPI) when using terminal devices, in order to achieve dynamic adjustment of windows under different screen scaling ratios, the technical solution of this application embodiment can also obtain the screen scaling ratio of the host device; and dynamically adjust the offset according to the scaling ratio when setting the offset.
[0109] For example, refer to Figure 6 As shown, Figure 6 This is an example of DPI parameter settings. On high-resolution screen computers, users typically set the screen DPI to be greater than 100%. The 32-bit process and 64-bit startup process of the rack software then adapt to dynamically support the scaling ratio. At this time, the distance between the main window and the first window needs to be obtained from the DPI. Assuming that the DPI is 150%, the offset of the child window that was originally offset (left 0, top 100) will become (left 0, top 100 * 1.25).
[0110] The technical scheme of the above embodiment can dynamically support the scaling ratio by using the terminal device, can dynamically support the scaling ratio effect when the user sets the screen to different DPI parameters, and can adapt the display and use of VST plug-ins of various different DPI screens, thereby improving the use effect of the VST plug-ins.
[0111] Reference Figure 7 , Figure 7 Fig. 1 is a schematic diagram of creating a window by a process, and Figs. 2 and 3 are two examples of the first window mode and the second window mode based on the technical scheme provided in the above embodiment.
[0112] In the first window mode, first, the rack software starts to scan VST plug-in information, and judges whether it is a 32-bit (value 0x014c) plug-in or a 64-bit (value 0x8664) plug-in according to the VST plug-in file header data; when the user opens the VST plug-in, taking the 32-bit rack software as an example, a 32-bit CEF (Chromium Embedded Framework, an open source software framework for embedding the Chromium web browser in another application) window is first created as a main window, and then it is compared whether the version of the VST plug-in is the same as the version bit number of the rack software.
[0113] ① If the bit number is the same, that is, the VST plug-in is 32-bit, a win32 sub-window is created as the first window with the main window as the parent window and the offset as (left 0, up 100), and then a second window provided by the VST plug-in, that is, the VST plug-in window, is created.
[0114] ② If the bit number is different, that is, the VST plug-in is 64-bit, the rack software creates a 64-bit process, and then sends the parameters required to open the VST plug-in window to the 64-bit process through IPC, and then creates the first window and the second window by using the method provided in ①.
[0115] When the user performs the operation of changing the size of the main window, the rack software sends a message to the process in which the first window is located, and if it is the case in ①, the main window, the first window and the second window are in the same process, and a direct call is made; if it is the case in ②, the main window, the first window and the second window are in different processes, and a message is sent through IPC to call the sub-window (the first window and the second window) to perform the corresponding size changing operation.
[0116] When the user is using the VST plug-in window (the second window), if the window size is changed, the rack software sends a message to the main window, if it is case ①, the main window, the first window and the second window are in the same process, and a direct call is made; if it is case ②, the main window, the first window and the second window are in different processes, and a message is sent through IPC to call the parent window (the main window) to perform the corresponding size changing operation.
[0117] In the second window mode, it is assumed that the rack software is 32-bit, and whether the version of the VST plug-in is the same as the version bit number of the rack software.
[0118] ③ If the bit numbers are the same, that is, the VST plug-in is 32-bit, a win32 sub-window with an offset of the window itself offset plus a screen offset (for example, left 0 + screen offset left 50, and up 100 + screen offset high) is created as the first window, and then a second window provided by the VST plug-in is created, that is, the VST plug-in window.
[0119] ④ If the bit numbers are different, that is, the VST plug-in is 64-bit, the rack software creates a 64-bit process, and then sends the parameters required to open the VST plug-in window to the 64-bit process through IPC, and then creates the first window and the second window by using the method provided in ③.
[0120] When the user drags the main window, since the main window and the sub-window are not parent and child windows, the rack software can send a window position change message to call the first window and the second window to move synchronously, (if it is case ③, a direct sending is made, and if it is case ④, a sending is made through IPC, to realize the synchronous movement of the sub-window with the main window; similarly, when the user drags the VST plug-in window, a message can also be sent to call the main window, to realize the synchronous movement of the main window with the sub-window.
[0121] The technical solutions of the above embodiments can perfectly adapt the VST display and use of various operating systems, various manufacturers and various terminal devices, do not need to adapt to specific host software version types, reduce the complexity of the user in the audio processing process, and improve the user application experience.
[0122] The VST host software can independently adapt various versions of VST plug-ins, and improve the use efficiency of the VST plug-ins; at the same time, when the user is using the VST plug-in to process audio, the user can select a higher synchronization coordination efficiency or a wider application range according to the needs, to facilitate the use of different window modes on different types of versions; automatic switching of different window modes is realized, and the adaptation effect and use efficiency are improved.
[0123] The related embodiments of the VST plug-in adaptation device are described in detail below.
[0124] Reference Figure 8 As shown,Figure 8 This is a schematic diagram of the structure of an adapter device for a VST plugin according to one embodiment, which may include:
[0125] Version identification module 10 is used to scan the file information of VST plugins and identify the corresponding version information after the host starts up;
[0126] The window creation module 20 is used to create a main window on the host interface according to the version information when the user opens the VST plugin, create a first window within the scope of the main window, and create a second window of the VST plugin on the first window;
[0127] The first operation synchronization module 30 is used to call the first window and the second window to perform the first operation when the user performs the first operation on the main window.
[0128] The second operation synchronization module 40 is used to call the main window to perform the second operation when the user performs the second operation on the second window.
[0129] The VST plugin adaptation device of this embodiment can execute a VST plugin adaptation method provided in the embodiments of this application. The implementation principle is similar. The actions performed by each module in the VST plugin adaptation device in each embodiment of this application correspond to the steps in the VST plugin adaptation method in each embodiment of this application. For detailed functional descriptions of each module of the VST plugin adaptation device, please refer to the descriptions in the corresponding VST plugin adaptation methods shown above. They will not be repeated here.
[0130] The following describes an implementation example of a live streaming system.
[0131] The online live streaming system provided in this application embodiment is referenced. Figure 9 As shown, Figure 9 This is a schematic diagram of an example live streaming system, including: a broadcaster's client, multiple viewer clients, and a live streaming server; the broadcaster's client and viewer clients are connected to the live streaming server via a network. The live streaming server is used to forward live video between the broadcaster's client and the viewer's client; the broadcaster's client is used to connect to the live stream, capture the broadcaster's audio and video streams, and upload them to the live streaming server; the audio data is optimized using a VST plugin during audio processing; the viewer's client is used to connect to the live stream and watch the live content.
[0132] like Figure 9In the illustrated network live broadcast system, it is assumed that different audience users A, B, C, … access a live broadcast room to watch live broadcast of an anchor, and the anchor opens a VST plug-in on a machine frame software to optimize audio and improve sound quality effect; at this time, the anchor can directly open the VST plug-in for use in the case of different versions of the machine frame software and the VST plug-in, and the machine frame software can automatically adapt the version types of the machine frame software and the VST plug-in by using the technical solution provided in the application, thereby improving the use efficiency of the VST plug-in and improving the application experience of the anchor user.
[0133] Embodiments of a computer device and a computer-readable storage medium are described below.
[0134] The application provides a technical solution of a computer device to realize the related functions of the VST plug-in adaptation method.
[0135] One or more processors; a memory; one or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured for the VST plug-in adaptation method of any embodiment.
[0136] As Figure 10 shown, Figure 10 is a block diagram of a computer device of an embodiment, which can be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc. The computer device can include one or more of the following components: a processing component 1002, a memory 1004, a power supply component 1006, a multimedia component 1008, an audio component 1010, an input / output (I / O) interface 1012, a sensor component 1014, and a communication component 1016.
[0137] The processing component 1002 generally controls the overall operation of the computer device, such as operations associated with displaying, making phone calls, data communications, camera operations, and recording operations.
[0138] The memory 1004 is configured to store various types of data to support operations of the computer device. As a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, a magnetic disk, or an optical disk.
[0139] The power supply component 1006 provides power for various components of the computer device.
[0140] The multimedia component 1008 includes a screen providing an output interface between the computer device and the user. In some embodiments, the screen includes a liquid crystal display (LCD) and a touch panel (TP). In some embodiments, the multimedia component 1008 includes a front camera and / or a rear camera.
[0141] The audio component 1010 is configured to output and / or input audio signals.
[0142] The input / output interface 1012 provides an interface between the processing component 1002 and peripheral interface modules, which can include a keyboard, a click wheel, buttons, and the like. The buttons can include, but are not limited to, a home button, a volume button, a start button, and a lock button.
[0143] The sensor component 1014 includes one or more sensors to provide status assessments for various aspects of the computer device. The sensor component 1014 can include a proximity sensor configured to detect the presence of objects in proximity thereto without any physical contact.
[0144] The communication component 1016 is configured to facilitate wired or wireless communication between the computer device and other devices. The computer device can access a wireless network based on a communication standard, such as Wi-Fi, an operator network (such as 2G, 3G, 4G, or 5G), or a combination thereof.
[0145] The computer readable storage medium provided in the present application is used to implement the function of the VST plug-in adaptation method. The computer readable storage medium stores at least one instruction, at least one program, a code set or an instruction set. The at least one instruction, at least one program, code set or instruction set is loaded and executed by the processor to implement the VST plug-in adaptation method of any embodiment. In an exemplary embodiment, the computer readable storage medium can be a non-transitory computer readable storage medium including instructions, such as a memory including instructions. For example, the non-transitory computer readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.
[0146] The computer program product or computer program provided in the present application includes computer instructions stored in a computer readable storage medium. The computer device, such as the processor of the computer device, reads the computer instructions from the computer readable storage medium. The processor executes the computer instructions, so that the computer device executes the VST plug-in adaptation method of any embodiment when implemented.
[0147] It should be understood that although the steps in the flowcharts of the drawings are shown in a sequential order following the arrows, the steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated otherwise herein, the execution of the steps is not necessarily limited to the order shown in the flowcharts. Moreover, at least some of the steps in the flowcharts of the drawings can comprise a plurality of sub-steps or stages, which are not necessarily executed at the same time, but can be executed at different times, and which are not necessarily executed sequentially, but can be executed in rotation or alternation with at least some of the other steps or sub-steps or stages of other steps.
[0148] The above description is merely illustrative of the application and does not limit the scope of the application. It should be understood by those skilled in the art that various modifications and improvements can be made to the application without departing from the spirit of the application. These modifications and improvements are also intended to fall within the scope of the application.
Claims
1. An adaptation method of a VST plugin, characterized in that, The method comprises the following steps: After the host is started, scanning file information of the VST plug-in to identify corresponding version information; When a user opens the VST plug-in, creating a main window on a host interface according to the version information, creating a first window within the range of the main window, and creating a second window of the VST plug-in on the first window, comprising: when the version information of the VST plug-in is the same as that of the host, creating a main process under the version information on the host, and establishing a main window on the main process; creating a first window within the range of the main window on the main process according to a set offset, and creating a second window provided by the VST standard on the first window through a method provided by the VST standard; When the user performs a first operation on the main window, calling the first window and the second window to perform the first operation; When the user performs a second operation on the second window, calling the main window to perform the second operation.
2. The method of claim 1, wherein, Further comprising: When the version information of the VST plug-in is different from the version information of the host, creating a main process under the version information on the host; After the main process is established, sending parameters required for opening the second window to the main process through inter-process communication, and establishing a main window on the main process according to the parameters.
3. The method of claim 2, wherein, The calling of the first window and the second window to perform the first operation comprises: Sending a message to the first process where the first window is located, and calling the first process to synchronously perform the first operation on the first window and the second window; The calling of the main window to perform the second operation comprises: Sending a message to the main process where the main window is located, and calling the main process to synchronously perform the second operation on the main window.
4. The method of claim 1, wherein, The creating of the first window on the main process according to the set offset within the range of the main window comprises: First window mode: taking the main window as a parent window, creating a child window on the main process according to the set offset within the range of the main window to obtain the first window; Or Second window mode: creating a child window on the main process as the first window, and the offset of the child window is the offset of the window itself range plus the screen offset.
5. The method of claim 4, wherein, Further comprising: When the user opens the VST plug-in, the first window mode is used by default; Starting a screen detection program to detect the window interface, and when the second window appears the VST plug-in interface or the window cannot be normally displayed, starting an availability detection program to detect the VST plug-in; If the VST plug-in is normal and cannot be normally displayed, the second window mode is used to create the first window, and the VST plug-in is added to the blacklist of the first window mode; When the VST plug-in is opened subsequently, the host reads the blacklist, and if the VST plug-in is recorded in the blacklist, the second window mode is used to create the first window.
6. The method of claim 1, wherein, Further comprising: Obtaining the screen scaling ratio of the host device; and when the offset is set, the offset is dynamically adjusted according to the scaling ratio.
7. The method of claim 1, wherein, The version information of the VST plug-in comprises a 32-bit version and a 64-bit version; The version information of the host comprises a 32-bit version and a 64-bit version; The first operation or the second operation includes dragging, resizing, or zooming.
8. An adaptation apparatus of a VST plug-in, characterized by, The method comprises the following steps: A version identification module is configured to scan file information of a VST plug-in to identify corresponding version information after a host is started; A window creation module is configured to create a main window on a host interface according to the version information when a user opens a VST plug-in, create a first window within the range of the main window, and create a second window of the VST plug-in on the first window, including: when the version information of the VST plug-in is the same as the host, creating a main process under the version information on the host, and establishing a main window on the main process; creating a first window within the range of the main window according to a set offset on the main process, and creating a second window of the VST plug-in on the first window through a method provided by a VST standard; A first operation synchronization module is configured to call the first window and the second window to execute a first operation when a user performs the first operation on the main window; A second operation synchronization module is configured to call the main window to execute a second operation when a user performs the second operation on the second window.
9. A network live streaming system, characterized by, The method comprises the following steps: The anchor end and the audience end are connected to the live server through a network respectively; The live server is configured to forward live audio and video between the anchor end and the audience end; The anchor end is configured to access an anchor of a live room, collect audio and video streams of the anchor live broadcast, and upload the audio and video streams to the live server; when the audio is processed, the steps of the adaptation method of the VST plug-in according to any one of claims 1-7 are executed; The audience end is configured to access an audience user of the live room and play the audio and video.
10. A computer device, comprising: The computer device comprises: One or more processors; Memory; One or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to execute the adaptation method of the VST plug-in according to any one of claims 1-7.
11. A computer readable storage medium having stored thereon a computer program, characterized in that The computer program is executed by the processor to implement the adaptation method of the VST plug-in according to any one of claims 1-7.
Citation Information
Patent Citations
Cross-process window operation synchronization method, cross-process window operation synchronization device and electronic equipment
CN106775970A