Probabliy many glitches or other audio issues due to my limited knowledge.Additional sound-outputs like Pulse, Core-Audio.Most important parts are Widgets for displaying and modifing MIDI events (or, lets say: notes), adding the missing parts for loading/saving workspace, exporting your beautiful tracks to MP3 or Wave.As i just started working on this project a few weeks ago, there are still many things todo like fixing some horrible race-conditions in some areas ).Then just open the KSynthGUI/KSynthGUI.pro, hit F5 and have fun ) ToDo |-tinyxml2 # (de)serializing workspace, etc |-KSynthGUI # Qt-Project, using above component |-KSynth # backend (mainly header files, standalone) The directory structure for compiling the GUI version should look as follows: While most of those methods were intended for another project, i decided to combine them within a single library to re-use them for other projects in the future. Some parts of the code depend on my KLib library ( ), currently providing some streaming APIs or file-access methods. If you want to compose songs using the GUI, you ned booth, KSynth and KSynthGUI while the latter is just a Qt-Project and can be built using the qtcreator load MIDI files and play them using synthesizers while adding some pattern-based drum loops within your code, simply go for the KSynth subfolder and add it to your project's include path. "Projects (Symbol)" -> "Build" -> "Build Steps" -> "qmake" -> "Details" -> "Additional arguments"įor a full list of all available flags and necessary external libraries see "External Dependencies" of this readme. You may then choos additional libraries (sound-outputs, export-formats, etc.) to adjust the compilation: # alternative 2) checkout KLib as submodule # alternative 1) checkout KLib as project # now you need to checkout the dependendy "KLib". FLAC: load compressed audio samples (needs flac)Ĭompiling For those who are very impatient:. ZLIB: load/save compressed workspace files (needs libz).WAVE_OUT: windows WaveOut support (needs winmm).PULSE_AUDIO: PulseAusio sound-output (needs pulse / pulse-simple).ALSA: alsa sound-output and midi support (needs libasound).Currently the Qt-Project file accepts some parameters as additional QMake parameters to compile optional code using external libraries, providing additional functions: The external dependencies differ by your needs and your operating system. KSynthGUI is the corresponding GUI wrapped around the backend for a userfriendly interface for composing songs.īesides some well known libraries as tinyxml2 ( ) and RtMidi ( ) the project also uses KLib which provides some helper functions for e.g.The backend contains samplers, synthesizers, generators, midi specific classes, audio outputs/exporters etc. KSynth is the backend (mainly header files) which can be used on its own.samplers and synthesizers using MIDI-Integreation for external devices like keyboards, a Launchpad, etc.Īdditionally the code should work on several operating-systems such as Linux, Windows or maybe Mac OS. KSynth aims to be (someday) a small software (using Qt) for composing songs using e.g.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |