Jump to content

Programming Howto:Building and Customizing BCI2000: Difference between revisions

From BCI2000 Wiki
Mellinger (talk | contribs)
No edit summary
Swiftj (talk | contribs)
 
(29 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Install prerequisites==
This tutorial walks you through the process of obtaining the [[Programming_Reference:BCI2000_Source_Code|BCI2000 source distribution]], and using it to build and test your own custom [[BCI2000_Glossary#Filter|filters]], implemented in C++ inside your own custom [[BCI2000_Glossary#Core_Module|core module]]. It assumes that you have a good working knowledge of the C++ language,  and basic familiarity with the compiler/IDE that you are going to use.
===TortoiseSVN===
Download installer from [https://tortoisesvn.net tortoisesvn.net]


Run installer, don't forget to install command line client tools
This tutorial is a simplified version of the previous [[Programming Howto:Quickstart Guide]], which is slightly outdated but kept in the wiki as it contains valuable suggestions and exercises.


[[File:TortoiseSVN_2-1985.png|254px]]
==Howto steps==
[[File:TortoiseSVN_3-1990.png|254px]]
*[[Programming Howto:Install Prerequisites|Install Prerequisites]]
[[File:TortoiseSVN_4-2001.png|254px]]
:shows you how to install TortoiseSVN, CMake, VisualStudio, and Qt.
*[[Programming Howto:Register with BCI2000 Project|Register with the BCI2000 Project]]
:explains how to obtain a BCI2000 user account.
*[[Programming Howto:Download the BCI2000 Sourcecode|Download the BCI2000 Sourcecode]]
:details the steps how to use TortoiseSVN to download the BCI2000 sourcecode.
*[[Programming Howto:Configure BCI2000 for Compilation|Configure BCI2000 for Compilation]]
:demonstrates how to use CMake to create a BCI2000 solution file.
*[[Programming Howto:Compile BCI2000|Compile BCI2000]]
:illustrates how to compile BCI2000 using VisualStudio.
*[[Programming Howto:Create a custom Signal Processing Module|Create a custom Signal Processing Module]]
:shows how to create a new BCI2000 module from a template.
*[[Programming Howto:Attach the Debugger to a BCI2000 Module|Attach the Debugger to a BCI2000 Module]]
:explains how to attach the VisualStudio debugger to a running module.
*[[Programming Howto:Programmatically wait for the Debugger in a BCI2000 Module|Programmatically wait for the Debugger in a BCI2000 Module]]
:explains how to halt execution of a BCI2000 module, and wait for the user to attach a debugger.
*[[Programming Howto:Deploy a Release version of a BCI2000 Module|Deploy a Release version of a BCI2000 Module]]
:demonstrates how to build a self-contained version of your new module.


===CMake===
==Video Overview==
Download installer from [https://cmake.org cmake.org]
Note that this video is quite out of date - please install the currently released versions of TortoiseSVN, CMake, Qt, and Visual Studio instead of those recommended in the video.


Run installer
<youtube alignment="center">https://youtu.be/3Jz527f2n5o</youtube>


[[File:CMake_2-2013.png|254px]]
[[Category:Howto]][[Category:Video]]
[[File:CMake_3-2019.png|254px]]
[[File:CMake_4-2025.png|254px]]
 
===VisualStudio===
Download VisualStudio Community installer from [https://visualstudio.com/downloads/ visualstudio.com]
 
Run installer
 
[[File:install_vs2017_community_1.png|490px]]
 
Make sure to install the C++ compiler
 
[[File:install_vs2017_community_2.png|600px]]
 
===Qt===
Download the open source installer from [https://www.qt.io/download www.qt.io]
 
Run installer
 
[[File:qt_installer_1.png|562px]]
[[File:qt_installer_2.png|562px]]
[[File:qt_installer_3.png|562px]]
[[File:qt_installer_4.png|562px]]
[[File:qt_installer_5.png|562px]]
[[File:qt_installer_6.png|562px]]
[[File:qt_installer_7.png|562px]]
[[File:qt_installer_8.png|562px]]
[[File:qt_installer_9.png|562px]]
[[File:qt_installer_10.png|562px]]
[[File:qt_installer_11.png|562px]]
 
==Register with BCI2000 Project==
[[File:BCI2000_registration_1-1886.png|520px]]
[[File:BCI2000_registration_2-2199.png|520px]]
[[File:BCI2000_registration_3-2218.png|520px]]
[[File:BCI2000_registration_4-2228.png|520px]]
[[File:BCI2000_registration_6-2238.png|520px]]
[[File:BCI2000_registration_7-2245.png|520px]]
[[File:BCI2000_registration_9-2257.png|520px]]
[[File:BCI2000_registration_10-2264.png|520px]]
[[File:BCI2000_registration_11-2270.png|520px]]

Latest revision as of 17:46, 5 February 2025

This tutorial walks you through the process of obtaining the BCI2000 source distribution, and using it to build and test your own custom filters, implemented in C++ inside your own custom core module. It assumes that you have a good working knowledge of the C++ language, and basic familiarity with the compiler/IDE that you are going to use.

This tutorial is a simplified version of the previous Programming Howto:Quickstart Guide, which is slightly outdated but kept in the wiki as it contains valuable suggestions and exercises.

Howto steps

shows you how to install TortoiseSVN, CMake, VisualStudio, and Qt.
explains how to obtain a BCI2000 user account.
details the steps how to use TortoiseSVN to download the BCI2000 sourcecode.
demonstrates how to use CMake to create a BCI2000 solution file.
illustrates how to compile BCI2000 using VisualStudio.
shows how to create a new BCI2000 module from a template.
explains how to attach the VisualStudio debugger to a running module.
explains how to halt execution of a BCI2000 module, and wait for the user to attach a debugger.
demonstrates how to build a self-contained version of your new module.

Video Overview

Note that this video is quite out of date - please install the currently released versions of TortoiseSVN, CMake, Qt, and Visual Studio instead of those recommended in the video.