Git Product home page Git Product logo

studio's Introduction

neuromore Studio

Build state-of-the-art neurofeedback applications with ease using neuromore Studio!

Our node-based IDE supports a wide variety of biosensors like EEG headsets (e.g. OpenBCI boards, Interaxon’s Muse and devices supported by the Brainflow API), heart rate monitors, and bluetooth devices that you can effortlessly connect to your applications.

Create audio or visual experiences within neuromore Studio or make your application control your Unity game, your favorite audio production, or your visualizer of choice using the Open Sound Control protocol. The only limit is our imagination!

2022_02_03_Demo

License

Click here to learn about neuromore Licensing

Getting started (all platforms)

  1. Create a neuromore Cloud account at https://www.neuromore.com/createaccount
  2. Download the latest neuromore studio from our github releases (or build it yourself).
  3. Start neuromore studio, sign-in with the created community account, accept the license and you're ready to go.
  4. Check out the wiki for specific device information or on examples on how to get started https://github.com/neuromore/studio/wiki
  5. Watch the tutorials for more info https://www.youtube.com/channel/UCAOU6SsvwCwC30hJaFLhWgw

Contents

Configuration/Cache Folders:

Platform Folder
WIN %LOCALAPPDATA%\neuromore\NMStudio
LINUX ~/.local/share/neuromore/NMStudio
OSX ~/Library/Application Support/neuromore/NMStudio

Dependencies

See this for more information about the third party software included in this repository.

Building

We provide two integrated build environments in this repository:

  • Visual Studio solution for intuitive Windows development using MSVC++ as compiler
  • GNU Makefiles for building with Clang/LLVM on multiple platforms

Visual Studio

Folder: /build/vs

Requirements:

  • Visual Studio 2019 (default) or 2017 (old)
  • Installed VS-Feature: Desktop Development (C/MSVC++ tools/components)
  • Installed VS-Feature: Windows 10 SDK (any version, the later the better)

Steps:

  • Open Neuromore.sln in Visual Studio
  • For VS2017: Manually downgrade project platformtoolset from v142 (2019) to v141 (2017)
  • For VS2017: Manually set a Win 10 SDK version that you have installed
  • Build the "Studio" project in release mode or start it directly in debug mode

Configurations:

Name Optimized Debuggable Logging Notes
Debug No Yes Max
Release Yes No Medium Also called DEVELOPMENT
Production Yes No Min Release + PRODUCTION_BUILD set

Build Output Studio:

Arch Folder
x86 /build/vs/bin/x86
x64 /build/vs/bin/x64

Notes:

  • Creates portable, stand-alone executable not requiring any special DLLs
  • Runs on Windows 7 and above

GNU Make + Clang

This is our multi-platform build environment based on GNU Make and Clang.

It supports the following platforms:

  • Windows
  • Linux
  • Mac OSX

General

Building third party dependencies:

cd deps/build/make
make

Building Studio:

cd build/make
make

Cleaning third party dependencies:

cd deps/build/make
make clean

Cleaning Studio:

cd build/make
make clean

Building with custom parameters:

cd deps/build/make
make all-x64 -f Makefile.linux -j 4

Notes:

  • Building without parameters will build for your current os, arch and cpu cores count
  • Building the dependencies is only required once (or when they change, which doesn't occur often)
  • Custom: Replace 'linux' in 'Makefile.linux' by 'windows' or 'osx' to build on Windows or OSX
  • Custom: Replace 'x64' by 'x86' to build the 32 Bit version instead of 64 Bit
  • Custom: Replace '4' in '-j 4' by the number of cores you want to use for compilation

Build Output Studio:

Arch Folder
x86 /build/make/bin/x86
x64 /build/make/bin/x64

Build Output Dependencies:

Arch Folder
x86 /deps/build/make/lib/x86
x64 /deps/build/make/lib/x64

Linux (Ubuntu)

Get the required build tools:

sudo apt-get install make clang llvm lld

Verify the build tool versions:

make -v
clang++ -v
ar

Get the required development packages of linked libraries:

sudo apt-get install \
 libgstreamer1.0-dev \
 libgstreamer-plugins-base1.0-dev \
 libgstreamer-plugins-good1.0-dev \
 libglib2.0-dev \
 libgl1-mesa-dev \
 libglu1-mesa-dev \
 libsm-dev \
 libx11-dev \
 libx11-xcb-dev \
 libexpat-dev \
 libxkbcommon-dev \
 libxcb1-dev \
 libxcb-glx0-dev \
 libxcb-icccm4-dev \
 libxcb-image0-dev \
 libxcb-keysyms1-dev \
 libxcb-randr0-dev \
 libxcb-render0-dev \
 libxcb-render-util0-dev \
 libxcb-shape0-dev \
 libxcb-shm0-dev \
 libxcb-sync-dev \
 libxcb-xfixes0-dev \
 libxcb-xinerama0-dev \
 libxcb-xkb-dev \
 libxcb-util-dev

Mac OSX

Install these

Xcode
Xcode Command Line Tools

Verify the build tool versions:

make -v
clang++ -v
ar

Windows

  • We recommend to use Visual Studio on Windows, not Clang.
  • Visual Studio is still required to build with Clang on Windows (linking VC runtime).
  • Requires GNU Make for Windows, Clang for Windows and LLVM for Windows (TODO: Links)

Customizing the Build

  • Using preprocessor C/C++ macro defines.
  • Set in Config.h files or in build environment.

General

Macro/Define Description
PRODUCTION_BUILD Tweaks builds for production instead of development usage

Engine Devices

  • Configure in Engine Config.h
  • Enabling these requires proprietary contents from compatible SDK versions at compile/link/run time
  • Compile-Time: Headers from SDK go to: /deps/include/some-device/
  • Link-Time: Prebuilt proprietary Libs from SDK go to: /deps/prebuilt/win/x86/ (respectively /linux/ or /x64/)
  • Run-Time: Prebuilt proprietary DLLs from SDK go to wherever you place and start your Studio.exe from
Macro/Define Version Description
INCLUDE_DEVICE_EMOTIV master Emotiv EEG
INCLUDE_DEVICE_MITSAR ? Mitsar EEG
INCLUDE_DEVICE_NEUROSKY_MINDWAVE 1.2.0 MindWave EEG
INCLUDE_DEVICE_TOBIIEYEX ? TobiEyeX Eye Tracking
INCLUDE_DEVICE_ADVANCEDBRAINMONITORING ? ABM EEG
INCLUDE_DEVICE_BRAINQUIRY ? Brainquiry EEG
INCLUDE_DEVICE_ACTICHAMP ? ActiChamp EEG
INCLUDE_DEVICE_EEMAGINE 1.3.19 eego Amplifiers/EEG

Studio Features

Macro/Define Description
BACKEND_LOGGING Controls Backend Logging
OPENCV_SUPPORT OpenCV support in Studio
USE_CRASHREPORTER Enables/Disables CrashReporter utility
USE_QTDATAVISUALIZATION Not supported / WIP
USE_AUTOUPDATE deprecated: controlled autoupdate-feature

FAQ

Technical

Q: Can I build an offline version of neurmore studio (one that does not require your backend)? A: This is a work in progress. We don't provide an option for that. For now, access to our backend is mandatory.

Q: Is the backend code included or available so that I can host it myself? A: No. The backend code and database design is not included in this repository.

Q: How do I reset my password? A: https://account.neuromore.com/#/login

Related Projects

studio's People

Contributors

cyberjunk avatar hilsbos avatar dioptre avatar juliuscosmoromeo avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.