From 2f81abaaaa610c47e16f8a55a057c64e18c57ea2 Mon Sep 17 00:00:00 2001
From: Aaron Cuevas Lopez <aacuelo@teleco.upv.es>
Date: Mon, 30 Nov 2015 17:54:14 +0100
Subject: [PATCH] Add documentation and copyright notices to plugin headers

---
 Source/Plugins/Headers/DataThreadHeaders.h    | 28 +++++++++++++++++
 Source/Plugins/Headers/EditorHeaders.h        | 29 +++++++++++++++++
 Source/Plugins/Headers/FileSourceHeaders.h    | 27 ++++++++++++++++
 Source/Plugins/Headers/PluginInfo.h           | 27 ++++++++++++++++
 Source/Plugins/Headers/ProcessorHeaders.h     | 28 +++++++++++++++++
 Source/Plugins/Headers/RecordingLib.h         | 31 +++++++++++++++++++
 Source/Plugins/Headers/SerialLib.h            | 27 ++++++++++++++++
 Source/Plugins/Headers/SpikeLib.h             | 28 +++++++++++++++++
 .../Plugins/Headers/VisualizerEditorHeaders.h | 28 +++++++++++++++++
 .../Plugins/Headers/VisualizerWindowHeaders.h | 29 +++++++++++++++++
 10 files changed, 282 insertions(+)

diff --git a/Source/Plugins/Headers/DataThreadHeaders.h b/Source/Plugins/Headers/DataThreadHeaders.h
index e090c00c0..00cc79453 100644
--- a/Source/Plugins/Headers/DataThreadHeaders.h
+++ b/Source/Plugins/Headers/DataThreadHeaders.h
@@ -1,3 +1,31 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This header includes the needed files for implementing a DataThread, usually used to acquire
+data from external hardware.
+*/
+
 #include "../../../JuceLibraryCode/JuceHeader.h"
 #include "../../Processors/DataThreads/DataThread.h"
 #include "../../Processors/SourceNode/SourceNode.h"
diff --git a/Source/Plugins/Headers/EditorHeaders.h b/Source/Plugins/Headers/EditorHeaders.h
index 9ae1abe5b..fda3e9f06 100644
--- a/Source/Plugins/Headers/EditorHeaders.h
+++ b/Source/Plugins/Headers/EditorHeaders.h
@@ -1,3 +1,32 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This header contains all the headers needed by processor editors, including buttons and icons.
+Should be included in the source files which declare an editor class, except those for Visualization processors,
+which should use VisualizerEditorHeaders.
+*/
+
 #include "../../../JuceLibraryCode/JuceHeader.h"
 #include "../../Processors/Editors/GenericEditor.h"
 #include "../../Processors/Editors/ImageIcon.h"
diff --git a/Source/Plugins/Headers/FileSourceHeaders.h b/Source/Plugins/Headers/FileSourceHeaders.h
index 30e22c417..c9f68a653 100644
--- a/Source/Plugins/Headers/FileSourceHeaders.h
+++ b/Source/Plugins/Headers/FileSourceHeaders.h
@@ -1,2 +1,29 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This file includes the base classes for implementing a file format for reading in the File Reader module
+*/
+
 #include "../../../JuceLibraryCode/JuceHeader.h"
 #include "../../Processors/FileReader/FileSource.h"
diff --git a/Source/Plugins/Headers/PluginInfo.h b/Source/Plugins/Headers/PluginInfo.h
index d0a330a4f..1e591fbdd 100644
--- a/Source/Plugins/Headers/PluginInfo.h
+++ b/Source/Plugins/Headers/PluginInfo.h
@@ -1 +1,28 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This header includes the plugin info structures. Needs to be included in the OpenEphysLib source files
+*/
+
 #include "../../Processors/PluginManager/OpenEphysPlugin.h"
diff --git a/Source/Plugins/Headers/ProcessorHeaders.h b/Source/Plugins/Headers/ProcessorHeaders.h
index 3bba9314e..fd037e455 100644
--- a/Source/Plugins/Headers/ProcessorHeaders.h
+++ b/Source/Plugins/Headers/ProcessorHeaders.h
@@ -1,3 +1,31 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This header contains all the headers needed by processor nodes.
+Should be included in the source files which declare a processor class.
+*/
+
 #include "../../../JuceLibraryCode/JuceHeader.h"
 #include "../../Processors/GenericProcessor/GenericProcessor.h"
 #include "../../Processors/Channel/Channel.h"
diff --git a/Source/Plugins/Headers/RecordingLib.h b/Source/Plugins/Headers/RecordingLib.h
index 567d1d37c..d71191576 100644
--- a/Source/Plugins/Headers/RecordingLib.h
+++ b/Source/Plugins/Headers/RecordingLib.h
@@ -1 +1,32 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This header provides access to all the methods defined in RecordEngines.
+Must be included on any source file which declares a RecordEngine class 
+for implementing new recording file formats.
+It can also be included in processor sources to allow them to access to some 
+recording methods, like the spike recording subsystem.
+*/
+
 #include "../../Processors/RecordNode/RecordEngine.h"
diff --git a/Source/Plugins/Headers/SerialLib.h b/Source/Plugins/Headers/SerialLib.h
index 2a42811c8..8a9c90acf 100644
--- a/Source/Plugins/Headers/SerialLib.h
+++ b/Source/Plugins/Headers/SerialLib.h
@@ -1 +1,28 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This header provides access to the simple serial library included in the GUI code.
+*/
+
 #include "../../Processors/Serial/ofSerial.h"
diff --git a/Source/Plugins/Headers/SpikeLib.h b/Source/Plugins/Headers/SpikeLib.h
index 188241dd1..dc4730d17 100644
--- a/Source/Plugins/Headers/SpikeLib.h
+++ b/Source/Plugins/Headers/SpikeLib.h
@@ -1 +1,29 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This header provides access to the methods and structures for 
+representing, packing, unpacking and processing spike objects.
+*/
+
 #include "../../Processors/Visualization/SpikeObject.h"
diff --git a/Source/Plugins/Headers/VisualizerEditorHeaders.h b/Source/Plugins/Headers/VisualizerEditorHeaders.h
index ae5d9ca06..eae12e36d 100644
--- a/Source/Plugins/Headers/VisualizerEditorHeaders.h
+++ b/Source/Plugins/Headers/VisualizerEditorHeaders.h
@@ -1,3 +1,31 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This header contains all the headers needed by visualizer processor editors, including buttons and icons.
+Should be included in the source files which declare an editor class intended for a visualizer processor.
+*/
+
 #include "../../../JuceLibraryCode/JuceHeader.h"
 #include "EditorHeaders.h"
 #include "../../Processors/Visualization/DataWindow.h"
diff --git a/Source/Plugins/Headers/VisualizerWindowHeaders.h b/Source/Plugins/Headers/VisualizerWindowHeaders.h
index 8fb61fd1a..755ac357a 100644
--- a/Source/Plugins/Headers/VisualizerWindowHeaders.h
+++ b/Source/Plugins/Headers/VisualizerWindowHeaders.h
@@ -1,2 +1,31 @@
+/*
+------------------------------------------------------------------
+
+This file is part of the Open Ephys GUI
+Copyright (C) 2013 Open Ephys
+
+------------------------------------------------------------------
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+/*
+This header included all the base classes for data management in Visualizer Windows.
+Must be included on Visualizer windows/canvas source files. Note that the specific
+graphic representations must be coded using standard Juce methods.
+*/
+
 #include "../../../JuceLibraryCode/JuceHeader.h"
 #include "../../Processors/Visualization/Visualizer.h"
-- 
GitLab