Skip to content
Closed
Changes from 1 commit
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
7de1bb8
Update Crossing Detector docs and images for v1.0
anjaldoshi Feb 9, 2025
ff1125d
Update Spectrum Viewer images
anjaldoshi Feb 10, 2025
e1450a6
Use standard page size for editor screenshots
anjaldoshi Feb 17, 2025
09d9bb8
Update Bandpass Filter documentation and images
anjaldoshi Feb 18, 2025
6e73281
Update Event Broadcaster editor image
anjaldoshi Feb 18, 2025
0eabe6d
Update LFP Viewer images and docs
anjaldoshi Feb 20, 2025
8a4cb98
Update Falcon Output images and docs
anjaldoshi Feb 25, 2025
7c482a8
Update Data Snapshot images and docs
anjaldoshi Feb 25, 2025
aa71dfa
Update Latency Histogram image
anjaldoshi Feb 28, 2025
9d4e374
Update Network Events image and docs
anjaldoshi Feb 28, 2025
a422e46
Update Online PSTH images
anjaldoshi Mar 6, 2025
cadf1e1
Update Neuropixels CAR editor image
anjaldoshi Mar 7, 2025
06fdd4f
Update OSC Events docs and images
anjaldoshi Mar 7, 2025
e33afb5
Update tracking plugin images
anjaldoshi Mar 7, 2025
89a1cd7
Update TTL Panels images
anjaldoshi Mar 7, 2025
cf1e009
Update ZMQ Interface images
anjaldoshi Mar 8, 2025
c33c0f5
Update merger and splitter images
anjaldoshi Mar 11, 2025
d71f22a
Update Probe Viewer and Neuropix-PXI docs and images
anjaldoshi Mar 15, 2025
243edd2
Update CNN Ripple docs
medengineer Mar 4, 2025
4f4f019
Update LSL Inlet docs
medengineer Mar 4, 2025
a2691dd
Update Mean Spike Rate docs
medengineer Mar 4, 2025
60081f5
Update Multi-Band Integrator docs
medengineer Mar 4, 2025
273252c
Update Pulse Pal Output docs
medengineer Mar 13, 2025
6158e09
Update Ripple Detector docs
medengineer Mar 15, 2025
d6a70fb
Add Source Sim docs
medengineer Mar 15, 2025
5c7694d
Update Spike Sorter docs
medengineer Mar 15, 2025
df4d395
Update Virtual Reference docs
medengineer Feb 26, 2025
d22c22e
Update Arduino docs
medengineer Mar 15, 2025
ff2e6b6
Update Spike Viewer docs
medengineer Mar 15, 2025
be53681
Update NIDAQmx docs
medengineer Mar 6, 2025
7b4c9be
Update Phase Detector docs
medengineer Mar 15, 2025
e914cc7
Update Record Node docs
medengineer Mar 15, 2025
e9f6f2d
Update File Reader docs
medengineer Mar 15, 2025
5e70b94
Update Channel Map docs
medengineer Mar 15, 2025
c13f7ab
Update Virtual Reference image
medengineer Mar 15, 2025
ca203c7
Update Acquisition Board docs
anjaldoshi Mar 15, 2025
aac45f8
Update Audio Monitor docs
anjaldoshi Mar 15, 2025
4f5a93b
Update Neuropixels-PXI images
anjaldoshi Mar 15, 2025
6286fc6
Update CAR docs
anjaldoshi Mar 16, 2025
de38dbc
Update Record Control docs
anjaldoshi Mar 16, 2025
de1e973
Update user guide
jsiegle Mar 16, 2025
4f54abc
Remove River Output plugin
jsiegle Mar 16, 2025
302b2e6
Merge branch 'juce8' of https://github.com/open-ephys/gui-docs into j…
jsiegle Mar 16, 2025
f68ffe9
Add Benchmarking page
jsiegle Mar 16, 2025
b99285b
Update CoreServices documentation
jsiegle Apr 4, 2025
4eed980
Update Data Thread documentation
jsiegle Apr 4, 2025
94e2581
Update File Source documentation
jsiegle Apr 4, 2025
8ae78c2
Update Record Engine documentation
jsiegle Apr 4, 2025
fc77258
Update Visualizer documentation
jsiegle Apr 4, 2025
592caf5
Update processor plugin documentation
jsiegle Apr 4, 2025
1a28348
Update FAQs
jsiegle Apr 6, 2025
664f74d
Fix matlab-tools link formatting
medengineer Apr 8, 2025
89e5fb0
intro to hardware used with the GUI
ChucklesOnGitHub Apr 9, 2025
087e195
sections
ChucklesOnGitHub Apr 9, 2025
d872506
added images
ChucklesOnGitHub Apr 9, 2025
ee8651f
typo
ChucklesOnGitHub Apr 9, 2025
12a2d71
onix initial text
ChucklesOnGitHub Apr 9, 2025
0951776
changed onix pic
ChucklesOnGitHub Apr 9, 2025
6cf8cae
acq-board 3d text and image
ChucklesOnGitHub Apr 9, 2025
21dd38c
uniformize. headstage options are missing in the npix parts
ChucklesOnGitHub Apr 9, 2025
36de261
onix1 doc link
ChucklesOnGitHub Apr 9, 2025
54d32fa
added links to plugins
ChucklesOnGitHub Apr 9, 2025
57dff3c
Update UI overview image
anjaldoshi Apr 23, 2025
ffb5b83
Add Scale Converter docs
medengineer Apr 25, 2025
4023d11
Update building a signal chain docs and images
anjaldoshi May 1, 2025
997f08c
Merge branch 'main' into juce8
bparks13 May 6, 2025
d146223
Fix missing refs, remove nonexistent pages
bparks13 May 6, 2025
5ea5f95
Some edits to ONIX hardware requirements
jonnew May 6, 2025
89d8b2d
Merge branch 'juce8' into hw-requirements
bparks13 May 8, 2025
ba487f1
Spelling fixes and link updates
bparks13 May 8, 2025
c17269c
Spelling and grammar check
bparks13 May 8, 2025
822691f
Add commutator plugin page (#54)
cjsha May 9, 2025
eb1e7e3
Update acq board plugin page for v3 (#55)
cjsha May 9, 2025
df690fc
addressed reviews
ChucklesOnGitHub May 9, 2025
32ba8b8
added onix to landing page
ChucklesOnGitHub May 9, 2025
d4e0b24
Fix merge conflict
jsiegle May 10, 2025
8fbfbdb
Split up computer requirements and compatible hardware
jsiegle May 10, 2025
f844439
Merge pull request #48 from open-ephys/hw-requirements
jsiegle May 12, 2025
152db21
Initial commutator tutorial progress
cjsha May 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update CoreServices documentation
  • Loading branch information
jsiegle committed Apr 4, 2025
commit b99285b07f85c83a3032632a0a668cbcc1313ebd
105 changes: 93 additions & 12 deletions source/Developer-Guide/Open-Ephys-Plugin-API/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ All types of plugins can access the :code:`CoreServices` class, which includes t

.. function:: File CoreServices::getSavedStateDirectory()

:returns: A Juce :code:`File` object that specifies the location where the GUI's configuration files are stored. This is useful if a plugin needs to save a custom settings file (although it's recommended to use the GUI's built-in XML settings file whenever possible).
:returns: A Juce :code:`File` object that specifies the location where the GUI's configuration files are stored. This is useful if a plugin needs to save a custom settings file (although it's recommended to use the GUI's built-in XML settings file for this whenever possible).


.. function:: void CoreServices::saveRecoveryConfig()
Expand All @@ -84,6 +84,13 @@ All types of plugins can access the :code:`CoreServices` class, which includes t
:param editor: A pointer to the editor of the processor that has been modified.


.. function:: void CoreServices::updateSignalChain(GenericProcessor* editor)

Updates all processors downstream of the specified :code:`GenericProcessor`. This should be called whenever a plugin adds or remove continuous, spike, or event channels, or changes the properties of these channels (such as their name or other metadata).

:param editor: A pointer to the processor that has been modified.


.. function:: void CoreServices::highlightEditor(GenericEditor* editor)

Highlights a plugin's editor in the Editor Viewport, without updating the signal chain. This will also make the editor visible if it's not currently seen by the user.
Expand Down Expand Up @@ -129,14 +136,19 @@ All types of plugins can access the :code:`CoreServices` class, which includes t
:param text: The message to display.


.. function:: int64 CoreServices::getSoftwareTimestamp()
.. function:: int64 CoreServices::getSystemTime()

:returns: The current software timestamp (milliseconds since midnight Jan 1st 1970 UTC).


.. function:: float CoreServices::getSoftwareSampleRate();
.. function:: float CoreServices::getRecordingTime();

:returns: The ticker frequency of the software timestamp clock (1000 Hz).
:returns: The number of milliseconds since the GUI's recording clock started.


.. function:: UndoManager CoreServices::getUndoManager()

:returns: A pointer to the GUI's undo manager. This can be used to add undo/redo actions to the GUI.


.. function:: File CoreServices::getRecordingParentDirectory()
Expand All @@ -151,18 +163,16 @@ All types of plugins can access the :code:`CoreServices` class, which includes t
:param dir: Absolute path of the new recording directory.


.. function:: void CoreServices::RecordNode::setRecordingDirectory(String dir, int nodeId, bool applyToAll = false)

Sets a new recording directory for one or all existing Record Nodes.
.. function:: std::vector<RecordEngineManager*> CoreServices::getAvailableRecordEngines()

:param dir: The absolute path of the new recording directory.
:param nodeId: The ID of the Record Node (if only one is being updated).
:param applyToAll: Set to :code:`true` to apply the new directory to all Record Nodes.
:returns: A vector of pointers to the managers for all available Record Engines (a.k.a. data formats).


.. function:: Array<int> CoreServices::getAvailableRecordNodeIds()
.. function:: bool CoreServices::setDefaultRecordEngine (String id)

Sets the default record engine based on its identifier string. This will only be applied to new Record Nodes, and will not affect existing Record Nodes in the signal chain. To set the record engine for existing Record Nodes, use :code:`CoreServices::RecordNode::setRecordingEngine()` (see below).

:returns: An array of IDs for Record Nodes currently in the signal chain.
:returns: :code:`true` if the record engine was found and set as default, :code:`false` otherwise.


.. function:: void CoreServices::setRecordingDirectoryBasename(String dir)
Expand Down Expand Up @@ -210,3 +220,74 @@ All types of plugins can access the :code:`CoreServices` class, which includes t

:returns: :code:`true` if all Record Nodes are in a "synchronized" state. A Record Node is synchronized if it only has one data stream as input, or if all of its incoming streams share a hardware sync line that has received at least two events.


.. function:: Array<int> CoreServices::getAvailableRecordNodeIds()

:returns: An array of integer IDs for Record Nodes currently in the signal chain.


.. function:: void CoreServices::RecordNode::setRecordingDirectory(String dir, int nodeId, bool applyToAll = false)

Sets a new recording directory for one or all existing Record Nodes.

:param dir: The absolute path of the new recording directory.
:param nodeId: The ID of the Record Node (if only one is being updated).
:param applyToAll: Set to :code:`true` to apply the new directory to all Record Nodes.


.. function:: File CoreServices::RecordNode::getRecordingDirectory(int nodeId)

:param nodeId: The ID of the Record Node.

:returns: A Juce :code:`File` object for the location of the recording directory for the specified Record Node.


.. function:: float CoreServices::RecordNode::getFreeSpaceAvailable(int nodeId)

:param nodeId: The integer ID of the Record Node.

:returns: The free space available (in kB) for a Record Node's current directory.


.. function:: void CoreServices::RecordNode::setRecordEngine(String engineId, int nodeId, bool applyToAll = false)

Sets a new record engine for one or all existing Record Nodes.

:param engineId: The identifier for the record engine (call :code:`getAvailableRecordEngines` to discover these).
:param nodeId: The integer ID of the Record Node (if only one is being updated).
:param applyToAll: Set to :code:`true` to apply the engine to all Record Nodes.


.. function:: String CoreServices::RecordNode::getRecordEngineId(int nodeId)

:param nodeId: The integer ID of the Record Node.

:returns: The active record engine (data format) for a specific Record Node


.. function:: String CoreServices::RecordNode::getRecordingNumber(int nodeId)

:param nodeId: The integer ID of the Record Node.

:returns: The recording number for a specific Record Node (number of times recording was stopped and re-started)


.. function:: String CoreServices::RecordNode::getExperimentNumber(int nodeId)

:param nodeId: The integer ID of the Record Node.

:returns: The experiment number for a specific Record Node (number of times acquisition was stopped and re-started).


.. function:: void CoreServices::RecordNode::createNewRecordingDirectory(int nodeId)

Instructs a specific Record Node to creates new directory the next time recording is started.

:param nodeId: The integer ID of the Record Node.


.. function:: bool CoreServices::RecordNode::isSynchronized(int nodeId)

:param nodeId: The integer ID of the Record Node.

:returns: :code:`true` if all incoming streams for a Record Node are synchronized (see :code:`allRecordNodesAreSynchronized()` above).