Skip to content
Snippets Groups Projects
Channel.cpp 2.60 KiB
/*
    ------------------------------------------------------------------

    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/>.

*/

#include "Channel.h"


Channel::Channel(GenericProcessor* p, int n) : num(n), eventType(0), processor(p), sampleRate(44100.0), bitVolts(1.0f),
	isADCchannel(false),isEventChannel(false), isMonitored(false), isEnabled(true), isRecording(false), recordIndex(-1)
{
    nodeId = p->getNodeId();

    createDefaultName();
}

Channel::Channel(const Channel& ch)
{
    processor = ch.processor;
    isEventChannel = ch.isEventChannel;
    isEnabled = ch.isEnabled;
    isMonitored = false;
    isADCchannel = ch.isADCchannel;
    sampleRate = ch.sampleRate;
    bitVolts = ch.bitVolts;
    name = ch.name;
    eventType = ch.eventType;
    nodeId = ch.nodeId;
    num = ch.num;

    originalStream = ch.originalStream;
    originalChannel = ch.originalChannel;

    setRecordState(false);
}

float Channel::getChannelGain()
{
    return bitVolts;
}

String Channel::getChannelName()
{
    return name;
}

void Channel::setGain(float gain)
{
    bitVolts = gain;
}

void Channel::setProcessor(GenericProcessor* p)
{
    processor = p;
    nodeId = p->getNodeId();
}

String Channel::getName()
{
    return name;

}

void Channel::setRecordState(bool t)
{

   isRecording = t;
   //std::cout << "Setting record status for channel " <<
     //            nodeId << " - " << num << " to " << t << std::endl;

}

void Channel::setType(channelType t)
{
    type = t;
}


channelType Channel::getType()
{
    return type;
}

void Channel::setName(String name_)
{
    name = name_;
}

void Channel::reset()
{
    createDefaultName();

    sampleRate = 44100.0f;
    bitVolts = 1.0f;

}

void Channel::createDefaultName()
{
    name = String("CH");
    name += (num + 1);
}