Last active
January 23, 2022 03:13
-
-
Save cpyarger/44cd85f4d88d53cb204e942f7f8fa8fd to your computer and use it in GitHub Desktop.
VSCode Workspace that is ready to take on obs-studio on ubuntu linux
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"folders": [ | |
{ "name": "root", | |
"path": "./" | |
}, | |
{ | |
"name":"obs-studio", | |
"path": "./obs-studio" | |
}, | |
{ "name": "obs-midi", | |
"path": "./obs-studio/plugins/obs-midi" | |
}, | |
], | |
"settings": { | |
"C_Cpp.default.includePath": [ | |
"${workspaceFolder:root}/**", | |
"/usr/include/**" | |
], | |
"git.scanRepositories": [ | |
"${workspaceFolder:obs-midi}", | |
] | |
}, | |
"launch":{ | |
"configurations": [ | |
{ | |
"name": "(gdb) Launch", | |
"type": "cppdbg", | |
"request": "launch", | |
"program": "${workspaceFolder:root}/obs-studio-portable/bin/64bit/obs", | |
"args": [], | |
"cwd": "${workspaceFolder:root}/obs-studio-portable/bin/64bit", | |
"stopAtEntry": false, | |
"environment": [], | |
"externalConsole": false, | |
"MIMode": "gdb", | |
"preLaunchTask": "Ubuntu Build", | |
"setupCommands": [ | |
{ | |
"description": "Enable pretty-printing for gdb", | |
"text": "-enable-pretty-printing", | |
"ignoreFailures": true | |
} | |
], | |
"visualizerFile": "/home/cpyarger/.config/Code/User/workspaceStorage/058f00a6654b57caf6ccef9abdff0020/tonka3000.qtvsctools/qt.natvis.xml" | |
} | |
] | |
}, | |
"tasks": { | |
"version": "2.0.0", | |
"tasks": [ | |
{ | |
"label": "Ubuntu Configure", | |
"type": "shell", | |
"dependsOn": [ | |
"Prepare Ubuntu" | |
], | |
"command": [ | |
"mkdir ${workspaceFolder:obs-studio}/build;", | |
"cd ${workspaceFolder:obs-studio}/build;", | |
"cmake -DUNIX_STRUCTURE=0 -DENABLE_PIPEWIRE=OFF -DCMAKE_INSTALL_PREFIX='${workspaceFolder:root}/obs-studio-portable' -DBUILD_BROWSER=ON -DCEF_ROOT_DIR='../../cef_binary_4280_linux64' ..;" | |
] | |
}, | |
{ | |
"label": "Ubuntu Build", | |
"dependsOn": [ | |
"Ubuntu Configure" | |
], | |
"type": "shell", | |
"command": [ | |
"cd ${workspaceFolder:obs-studio}/build;", | |
"make -j$(nproc);", | |
"make install" | |
], | |
"problemMatcher": [], | |
"group": { | |
"kind": "build", | |
"isDefault": true | |
} | |
}, | |
{ | |
"label": "Prepare Ubuntu", | |
"type": "shell", | |
"options": { | |
"cwd": "${workspaceFolder:root}" | |
}, | |
"dependsOn": [ | |
"Install Extentions" | |
], | |
"command": [ | |
"FILE=./cef_binary_4280_linux64.tar.bz2 ;", | |
"if [ -f \"$FILE\" ]; then echo 'Already Prepared Ubuntu' ; else ", | |
"pkexec apt-get install build-essential checkinstall cmake git libmbedtls-dev libasound2-dev libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libfdk-aac-dev libfontconfig-dev libfreetype6-dev libgl1-mesa-dev libjack-jackd2-dev libjansson-dev libluajit-5.1-dev libpulse-dev libqt5x11extras5-dev libspeexdsp-dev libswresample-dev libswscale-dev libudev-dev libv4l-dev libvlc-dev libwayland-dev libx11-dev libx264-dev libxcb-shm0-dev libxcb-xinerama0-dev libxcomposite-dev libxinerama-dev pkg-config python3-dev qtbase5-dev qtbase5-private-dev libqt5svg5-dev swig libxcb-randr0-dev libxcb-xfixes0-dev libx11-xcb-dev libxcb1-dev libxss-dev libnss3-dev ;", | |
"wget https://cdn-fastly.obsproject.com/downloads/cef_binary_4280_linux64.tar.bz2 ;", | |
"tar -xjf ./cef_binary_4280_linux64.tar.bz2 ;", | |
"git clone --recursive https://github.com/obsproject/obs-studio.git ;", | |
"cd obs-studio ;", | |
"mkdir build && cd build ;", | |
"fi" | |
], | |
"problemMatcher": [] | |
}, | |
{ | |
"label": "Add OBS-MIDI", | |
"type": "shell", | |
"command": [ | |
"if ! grep -q obs-midi ${workspaceFolder:obs-studio}/.git/info/exclude; then ", | |
"touch ${workspaceFolder:obs-studio}/.git/info/exclude ;", | |
"echo plugins/obs-midi >> ${workspaceFolder:obs-studio}/.git/info/exclude ;", | |
"echo plugins/CMakeLists.txt >> ${workspaceFolder:obs-studio}/.git/info/exclude ;", | |
"cd ${workspaceFolder:obs-studio}/plugins ;", | |
"git clone --recursive https://github.com/cpyarger/obs-midi.git ;", | |
"echo 'add_subdirectory(obs-midi)'>>CMakeLists.txt ;", | |
"else echo 'OBS-MIDI is already added';", | |
"fi" | |
], | |
"problemMatcher": [] | |
}, | |
{ | |
"label": "Install Extentions", | |
"type": "shell", | |
"command": [ | |
"code --install-extension ms-vscode.cpptools ;", | |
"code --install-extension ms-vscode.cmake-tools", | |
"code --install-extension ms-vscode.cpptools-extension-pack", | |
"code --install-extension tonka3000.qtvsctools", | |
"code --install-extension twxs.cmake", | |
"code --install-extension ms-vscode.cpptools-themes", | |
"code --install-extension jeff-hykin.better-cpp-syntax", | |
"code --install-extension lextudio.restructuredtext" | |
], | |
"problemMatcher": [] | |
}, | |
{ | |
"label": "Setup OBS-MIDI and OBS Studio", | |
"type": "shell", | |
"dependsOn": [ | |
"Prepare Ubuntu", | |
"Add OBS-MIDI" | |
], | |
"command": [], | |
"problemMatcher": [] | |
} | |
] | |
}, | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
So, Had issues getting the "folders" section to understand environment variables, so for now, to
CTRL+P
task Prepare Ubuntu
F5
to build and launch