You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Plugin function inside a user's Unreal Engine game project
Read the exported files from the game resources folder
Instantiate the Engine to load the XJ project file
Start the work-- this will refresh the content from inside the build folder of the XJ project
Start the XJ music engine work with a specific template-- dropdown can read all available templates from the Engine after it loads the project
Periodically call the XJ music engine to find out what audio needs to be scheduled or any updates to the audio that is currently playing
Schedule playback of an audio file
Change volume of an audio file currently playing - Pay attention to the audio schedule event getFromVolume() and getToVolume() and use these to set the volume of the sound. Ideally, we will automate the volume movement so it changes from->to from the beginning of playback of this sound to the end
Stop playback of an audio file
Consume the new AudioScheduleEvent object to Create/Update/Delete audios playing (instead of repeatedly consuming the entire list)
Unreal Engine loads and prepares all XJ music project audio files during the Unreal project cooking process
Enable the Unreal Engine game to send signals to the XJ music engine when there need to be changes in the music
Set intensity (float)
Set memes (set of strings)
XJ mixer output functions as a node inside of the Sound Cue
Compatibility with UE5
How to build & ship plugin
Plugin code committed to repository should not duplicate the xjmusic engine code- not the headers nor the .lib, not for the engine nor its dependencies, i.e. spdlog and nlohmann
Use a build script to prepare the plugin dependencies
build the xjmusic engine .lib
copy the xjmusic engine headers into place
copy nlohmann where when it's already downloaded
Unreal Engine interoperates with the XJ music workstation
XJ music settings, only necessary to provide path to project file (no project folder setting) and we will compute the path to the project folder, see Engine.cpp:165 and then Engine.getPathToBuildDirectory()
While running the workstation, use the Build feature to export the production template format (one .json file and flat set of converted audio files) to the build folder inside the XJ music project folder
Configure the XJ music Unreal Plugin inside your game with the location of the XJ music project file in your Unreal project
Plugin shows toolbar in Unreal Engine with an option to launch the XJ music workstation
How does the plugin/workstation understand the connection between the original working .xj project (with subfolders for library/program/instrument .json files and their audio files) and the production template that lives in the Unreal Project
Engine work in C++ Engine work in C++ xjmusic#401 the last mile of being able to run XJ music production from inside the C++ engine code
Create folder in main repository containing Unreal Engine plugin files - .uplugin file and sub-folders
Asset manager extension
All audios loaded to the content browser and used by the plugin from there
Custom asset type that reference or impersonate xj project
Set Copyright on all XJ files Copyright (c) XJ Music Inc. (https://xjmusic.com) All Rights Reserved.
Update repository structure so the root contains the .uplugin file
put the example project in an Examples folder
Update README instructions / Setup scripts to show user how to setup the example project locally by copying the example project somewhere and then putting the plugin into it
Copyright (c) XJ Music Inc. (https://xjmusic.com) All Rights Reserved.