elieserdejesus / JamTaba

Jamtaba is a software to play online music jam sessions.
http://www.jamtaba.com
245 stars 49 forks source link
audio-unit jam midi music music-collaboration ninjam qt vst

JamTaba 2 is a software to play online music jam sessions. At moment you can use JamTaba to play with musicians around the world using ninjam servers.

JamTaba

JamTaba can be used as a standalone software, VST (Windows) or AU (Mac OSX) plugin. Using the standalone version you can use your camera, audio and MIDI devices and load VST/AU plugins inside JamTaba (JamTaba standalone is a VST/AU host). Using the VST/AU plugin you can use JamTaba in your preferred DAW and send your audio/video to JamTaba, and Jamtaba will stream these contents to ninjam servers. Off course JamTaba will receive and play the other musicians audio/video streams, so you can play with others and have some fun playing online!

User Manual

More information and User's manual are here : https://github.com/elieserdejesus/JamTaba/wiki

Compatibility

At moment JamTaba standalone works for Windows (Windows XP is not supported since v. 2.1.0), Mac OSX (10.7+) and Linux. The VST plugin is available for windows only (32 and 64 bits) and an Audio Unit (AU) plugin is available for Mac OSX users.

Tools and dependencies

JamTaba is builded using Qt framework. We are using Qt for GUI, threads, sockets, json, http requests, file handling, etc.

JamTaba is using some libraries: portaudio, rtmidi, minimp3, libvorbis and libogg. We are distributing pre compiled static libs just for convenience (see more details in the next sections), but feel free to compile the libs yourself!

Ubuntu Linux

On Ubuntu Linux, run the following command to install a missing dependency for Qt 5 Websockets and Qt 5 Widgets:

sudo apt install libqt5websockets5 libqt5widgets5

IMPORTANT FOR WINDOWS if you will use the pre compiled libs (recommended):

The library portaudio was pre compiled in windows using only the ASIO flags. So, if you don't have any ASIO driver installed JamTaba will emit an error message in initialization and fallback to an NullAudioDriver, and no sound will be produced. If you have no ASIO devices please install Asio4ALL.

Downloading Pre Compiled Libs

Compiling JamTaba Standalone


- The **QtCreator projects** are in the folder **PROJECTS**. Try open the **Standalone.pro** in QtCreator to compile **JamTaba Standalone**. 

- Compile the project in QtCreator (the green button in left side)!

***

## Compiling JamTaba Vst Plugin
- To compile JamTaba **Vst Plugin** you need run all steps described in the section **Compiling JamTaba Standalone**, except the 2 last steps.
- In the last steps you need open the file **VstPlugin.pro** in **QtCreator**. If you try to compile this project you will got some errors, because the Vst Plugin can't be compiled using **official Qt releases** downloaded in Qt official site. These Qt releases are compiled/using shared libraries. You need a **static compiled Qt** to compile the Vst Plugin, and you need compile this special Qt version for your self. Check [this site](https://boffinblogger.blogspot.com/2018/12/static-compile-of-qt-5120-using-visual.html) to see how compile Qt in a "static flavor". 
- Inside the folder **PROJECTS/VstPlugin** you have a file **Qt static compile flags.txt** with some flags to configure Qt before compile and reduce the size of Qt static libs. These flags will speed up the compilation process too. In my machine (a common laptop with 4 cores) the compilation process lasted 15 minutes using these flags. 

***