Skip to content
Snippets Groups Projects
  1. Apr 11, 2012
  2. Apr 08, 2012
    • jsiegle's avatar
      AudioComponent closes device when not in use. Closes #10. · b41183d8
      jsiegle authored
      The AudioComponent now closes the audio device when it's not in use,
      saving CPU cycles. Previously, background CPU levels would be between
      8 and 10%. Now, when acquisition is not active (and audio device settings
      are not being actively edited), background CPU levels drop to 2%. More
      optimization will be necessary to get it down to zero, but 2% is still
      a big improvement over what we had previously.
      b41183d8
  3. Apr 06, 2012
  4. Apr 05, 2012
  5. Apr 04, 2012
    • jsiegle's avatar
      Implemented rudimentary recording functionality for continuous channels · 90406533
      jsiegle authored
      If continuous channels are toggled for recording within their respective editors,
      a "writeContinuousBuffer" function will be activated within the RecordNode. This
      function doesn't do anything yet, but it will make it easy to add diskwriting
      capabilities in the near future. Once a stable format for events has been established,
      a similar function will be implemented for writing event buffers to disk.
      90406533
  6. Mar 29, 2012
    • Stuart Layton's avatar
      modified the SpikeDisplayEditor and SpikeDisplayCanvas objects to make use of... · 5f68f7e9
      Stuart Layton authored
      modified the SpikeDisplayEditor and SpikeDisplayCanvas objects to make use of the new setParameter(int,int,int,float) method defined in the Visualizer class. Additionally the SpikeDisplayEditor now responds to Pan/Zoom and clear commands. However Pan/Zoom only work on the first plot. Additionally on the "all" button for the  sub-channel selector buttons now responds intelligently. ie. if you enable all it turns on, if you disable one it turns off.
      5f68f7e9
  7. Mar 28, 2012
  8. Mar 26, 2012
  9. Mar 23, 2012
  10. Mar 20, 2012
  11. Mar 15, 2012
    • Stuart Layton's avatar
      The spikeviewer shows up without segfaults! That was more painful than it should have been. · 167a58d7
      Stuart Layton authored
      The SpikeDisplayNode object isn't working properly. Queueing of spikes there appeared to be what was causing the problem.
      
      I need to consider an alternative way of handling the SpikeObjects. In the past I've used a circular buffer but that has
      problems with having a set size. I can use an stl::queue but queues are not thread safe, which is something that we
      definitely need.
      
      Anyway the plots show up and dance when the viewer is turned on.  I still need to implement a Stereotrode plot and then the
      tetrode plot. I'll probably derive them from the ElectrodePlot base class instead of creating a base classs from which all
      three plot types are derived from.
      
      Finally I need to get a better handle on the setup of the OpenGLCanvas and how its sized.  How the "Magical" scroll bars work
      and how to auto place the plots.
      
      Do we force all the plots to be of the same type? Or do we mix in Electrode Plots with Tetrode Plots?  If so how do we orient them all?
      167a58d7
  12. Mar 13, 2012
  13. Mar 11, 2012
  14. Mar 10, 2012
  15. Mar 06, 2012
  16. Mar 05, 2012
  17. Mar 04, 2012
  18. Mar 03, 2012
    • jsiegle's avatar
      Updated audio editor. · 228ad596
      jsiegle authored
      The control panel now holds an "AudioEditor" to adjust volume
      and open a window to alter device settings. Audio output is definitely
      working, but different buffer sizes make it sound really weird. The
      same problem is present in the Juce demo app, however, so I don't
      think it's a problem inherent in the GUI.
      228ad596
    • jsiegle's avatar
      23c56041
  19. Mar 02, 2012
  20. Mar 01, 2012
    • jsiegle's avatar
      Major refactoring. · a66d703f
      jsiegle authored
      Three important changes:
      - The FilterList is now the ProcessorList
      - The FilterViewport is now the EditorViewport
      - Any classes that need to access important UI objects have become subclasses
        of the "AccessClass". Such objects automatically obtain pointers from
        the UIComponent and register the MessageCenter as an ActionListener. This
        will make it much easier to allocate pointers to objects.
      a66d703f
  21. Feb 22, 2012
    • jsiegle's avatar
      Greatly simplified process of updating settings · 6f471d79
      jsiegle authored
      Processors used to have their sample rate and inputs/outputs set when
      their source/dest nodes were set. Now, this step doesn't occur until
      after the signal chains are constructed. So far, this seems to make
      things run much more smoothly.
      6f471d79
  22. Feb 21, 2012
Loading