GithubHelp home page GithubHelp logo

ipsych / studio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from neuromore/studio

0.0 1.0 0.0 50.71 MB

neuromore studio + engine open source repository

Home Page: https://neuromore.com/open-source

Batchfile 0.34% C++ 98.41% C 0.65% GLSL 0.12% Makefile 0.01% Java 0.48%

studio's Introduction

neuromore studio

License

Click here to learn about neuromore Licensing

Getting started

  1. Create a neuromore Cloud account at https://www.neuromore.com/download
  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.

Contents

Configuration/Cache Folders:

Platform Folder
WIN %LOCALAPPDATA%\neuromore\NMStudio
LINUX ~/.local/share/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

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 dioptre avatar hilsbos avatar

Watchers

 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.