Skip to content

Commit f2e7ac4

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/development'
2 parents 85d2dd6 + 40086da commit f2e7ac4

4 files changed

Lines changed: 49 additions & 28 deletions

File tree

README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Open Ephys GUI
2+
3+
![GUI screenshot](https://static1.squarespace.com/static/53039db8e4b0649958e13c7b/t/53bc11f0e4b0e16f33110ad8/1404834318628/?format=1000w)
4+
5+
The Open Ephys GUI is designed to provide a fast and flexible interface for acquiring and visualizing data from extracellular electrodes. Compatible data acquisition hardware includes:
6+
- [Open Ephys Acquisition Board](http://www.open-ephys.org/acq-board/) (supports up to 512 channels)
7+
- [Intan RHD2000 Evaluation System](http://intantech.com/RHD2000_evaluation_system.html) (supports up to 256 channels)
8+
- [Intan Recording Controller](http://intantech.com/recording_controller.html) (supports up to 1024 channels)
9+
- [Neuropixels Probes](http://www.open-ephys.org/neuropixels/) (supports up to 6144 channels)
10+
11+
The GUI is based around a *true plugin architecture*, meaning the data processing modules are compiled separately from the main application. This greatly simplifies the process of adding functionality, since new modules can be created without the need to re-compile the entire application.
12+
13+
Our primary user base is scientists performing electrophysiology experiments with tetrodes or silicon probes, but the GUI can also be adapted for use with other types of sensors.
14+
15+
[![docs](https://img.shields.io/badge/docs-confluence-blue.svg)](https://open-ephys.atlassian.net/wiki/spaces/OEW/pages/491527/Open+Ephys+GUI)
16+
[![latest release](https://img.shields.io/github/release/open-ephys/plugin-gui.svg)](https://github.com/open-ephys/plugin-GUI/releases)
17+
![platforms](https://img.shields.io/badge/platforms-macOS%20|%20windows%20|%20linux-lightgray.svg)
18+
![language](https://img.shields.io/badge/language-c++-blue.svg)
19+
[![license](https://img.shields.io/badge/license-GPL3-blue.svg)](https://github.com/open-ephys/plugin-GUI/blob/master/Licenses/Open-Ephys-GPL-3.txt)
20+
21+
## Installation
22+
23+
The easiest way to get started is to use the pre-compiled binaries for your platform of choice (links will download a .zip file, which contains a folder with the GUI executable):
24+
- [macOS](https://github.com/open-ephys-GUI-binaries/open-ephys/archive/mac.zip)
25+
- [Linux (64-bit)](https://github.com/open-ephys-GUI-binaries/open-ephys/archive/linux.zip)
26+
- [Windows (7 & 10)](https://github.com/open-ephys-GUI-binaries/open-ephys/archive/windows.zip)
27+
28+
The Neuropixels version of the GUI is currently only available for Windows:
29+
- [Open Ephys for Neuropixels](https://github.com/open-ephys-gui-binaries/open-ephys/tree/neuropix)
30+
31+
To compile the GUI from source, follow the instructions on our wiki for [macOS](https://open-ephys.atlassian.net/wiki/spaces/OEW/pages/491555/macOS), [Linux](https://open-ephys.atlassian.net/wiki/spaces/OEW/pages/491546/Linux), or [Windows](https://open-ephys.atlassian.net/wiki/spaces/OEW/pages/491621/Windows).
32+
33+
## How to contribute
34+
35+
The GUI is written in C++ with the help of the [Juce](https://juce.com/) framework. Juce includes a variety of classes for audio processing, which have been co-opted to process neural data. It might be necessary to create custom data processing classes in the future, but for now, Juce takes care of a lot of the messy bits involved in analyzing many parallel data streams.
36+
37+
Before you contribute, you'll need to have some familiarity with C++, as well as makefiles (Linux), Xcode (macOS), or Visual Studio (Windows) for building applications.
38+
39+
The recommended way to add new features to the GUI is by building a new plugin. Instructions on creating plugins can be found [here](https://open-ephys.atlassian.net/wiki/spaces/OEW/pages/46596122/Plugin+build+files). New plugin developers can publish links to their work in [this list](https://open-ephys.atlassian.net/wiki/display/OEW/Third-party+plugin+repositories) to make them available to the general public.
40+
41+
If you'd like to make changes to code found in this repository, please submit a pull request to the **development** branch. Adding new files to the core GUI must be done through the "Projucer," using the "open-ephys.jucer" file. The Projucer makefiles are located in the Projucer/Builds folder, or as part of the [Juce source code](https://github.com/WeAreROLI/JUCE/tree/master/extras/Projucer).
42+
43+
44+
45+
46+

README.rst

Lines changed: 0 additions & 25 deletions
This file was deleted.

Source/Processors/RecordNode/OriginalRecording.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ void OriginalRecording::writeTTLEvent(int eventIndex, const MidiMessage& event)
432432
*(data + 11) = static_cast<uint8>(ev->getSourceID());
433433
*(data + 12) = (ev->getEventType() == EventChannel::TTL) ? (dynamic_cast<TTLEvent*>(ev.get())->getState() ? 1 : 0) : 0;
434434
*(data + 13) = static_cast<uint8>(ev->getChannel());
435-
*reinterpret_cast<uint16*>(data + 14) = static_cast<uint16>(recordingNumber);
435+
*reinterpret_cast<uint16*>(data + 14) = recordingNumber;
436436

437437

438438
diskWriteLock.enter();

Source/Processors/RecordNode/OriginalRecording.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class OriginalRecording : public RecordEngine
7777
bool separateFiles;
7878
Array<int> blockIndex;
7979
Array<int> samplesSinceLastTimestamp;
80-
int recordingNumber;
80+
uint16 recordingNumber;
8181
int experimentNumber;
8282

8383
bool renameFiles;
@@ -96,7 +96,7 @@ class OriginalRecording : public RecordEngine
9696
//float* continuousDataFloatBuffer;
9797

9898
/** Used to indicate the end of each record */
99-
HeapBlock<char> recordMarker;
99+
HeapBlock<uint8> recordMarker;
100100
//char* recordMarker;
101101

102102
AudioSampleBuffer zeroBuffer;

0 commit comments

Comments
 (0)