summaryrefslogtreecommitdiffstats
path: root/kmid/channel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kmid/channel.cpp')
-rw-r--r--kmid/channel.cpp233
1 files changed, 0 insertions, 233 deletions
diff --git a/kmid/channel.cpp b/kmid/channel.cpp
deleted file mode 100644
index 214dcc18..00000000
--- a/kmid/channel.cpp
+++ /dev/null
@@ -1,233 +0,0 @@
-/**************************************************************************
-
- channel.cpp - The KMidChannel widget (with pure virtual members)
- Copyright (C) 1998 Antonio Larrosa Jimenez
-
- 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 2 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, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Send comments and bug fixes to [email protected]
- or to Antonio Larrosa, Rio Arnoya, 10 5B, 29006 Malaga, Spain
-
-***************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <tqpainter.h>
-#include <tqcombobox.h>
-
-#include <kglobal.h>
-#include <kinstance.h>
-#include <kconfig.h>
-#include <klocale.h>
-#include <kstandarddirs.h>
-#include "kmidbutton.h"
-
-#include "channel.h"
-#include "instrname.h"
-#include <kiconloader.h>
-
-KMidChannel::KMidChannel(int chn,TQWidget *parent) : TQWidget (parent)
-{
- channel=chn;
- replay=TRUE;
- int i;
- for (i=0;i<128;i++) pressed[i]=0;
- keyboard = TQPixmap(locate("appdata","icons/keyboard.xpm"));
- penB = new TQPen (black);
- penW = new TQPen (white);
- penT = new TQPen (colorGroup().background());
-
- TDEConfig *kcfg=TDEGlobal::instance()->config();
- kcfg->setGroup("KMid");
- TQFont *qtextfontdefault=new TQFont("lucida",18,TQFont::Bold,TRUE);
- qcvfont=new TQFont(kcfg->readFontEntry("ChannelViewFont",qtextfontdefault));
- delete qtextfontdefault;
-
- instrumentCombo = new TQComboBox(FALSE,this,"instr");
- instrumentCombo->setGeometry(160,2,200,20);
-
- for (i=0;i<128;i++)
- instrumentCombo->insertItem(i18n(instrumentName[i]),i);
-
- connect(instrumentCombo,TQT_SIGNAL(activated(int)),this,TQT_SLOT(pgmChanged(int)));
-
- forcepgm=new KMidButton(this,"forcepgm");
- forcepgm->setGeometry(135,4,16,16);
- forcepgm->setToggleButton(TRUE);
- button1 = TQPixmap(locate("appdata","icons/button1.xpm"));
- button2 = TQPixmap(locate("appdata","icons/button2.xpm"));
- forcepgm->setPixmaps(button1,button2);
- forcepgm->show();
- connect(forcepgm,TQT_SIGNAL(toggled(bool)),this,TQT_SLOT(changeForcedState(bool)));
-
-}
-
-KMidChannel::~KMidChannel()
-{
- delete penB;
- delete penW;
- delete penT;
-}
-
-void KMidChannel::paintEvent( TQPaintEvent * )
-{
-
- TQPainter *qpaint=new TQPainter(this);
-
- TQString tmp = i18n("Channel %1").arg(channel);
- qpaint->setFont(*qcvfont);
- qpaint->setPen(*penB);
- qpaint->drawText(2,20,tmp);
- qpaint->setPen(*penW);
- qpaint->drawText(0,18,tmp);
-
- drawKeyboard(qpaint);
- drawPressedKeys(qpaint);
-
- delete qpaint;
-}
-
-void KMidChannel::drawKeyboard(TQPainter *qpaint)
-{
- int x=1;
- for (int i=0;(i<12) && (x<width());i++,x+=63)
- {
- qpaint->drawPixmap(x,KEYBOARDY,keyboard);
- };
- qpaint->setPen(*penB);
- qpaint->drawLine(0,KEYBOARDY,0,KEYBOARDY+44);
-
- qpaint->setPen(*penT);
- qpaint->drawLine(0,KEYBOARDY+45,x+63,KEYBOARDY+45);
-
-
-}
-
-void KMidChannel::drawPressedKeys(TQPainter *qpaint)
-{
- for (int i=0;i<128;i++)
- if (pressed[i]) drawKey(qpaint,i);
-}
-
-void KMidChannel::drawKey(TQPainter *qpaint,int key)
-{
- int octave=key/12;
- int note=key%12;
- int x=octave*63+1;
-
- switch (note)
- {
- case (0) : drawDo (qpaint,x,pressed[key]);break;
- case (1) : drawDo__ (qpaint,x,pressed[key]);break;
- case (2) : drawRe (qpaint,x,pressed[key]);break;
- case (3) : drawRe__ (qpaint,x,pressed[key]);break;
- case (4) : drawMi (qpaint,x,pressed[key]);break;
- case (5) : drawFa (qpaint,x,pressed[key]);break;
- case (6) : drawFa__ (qpaint,x,pressed[key]);break;
- case (7) : drawSol (qpaint,x,pressed[key]);break;
- case (8) : drawSol__(qpaint,x,pressed[key]);break;
- case (9) : drawLa (qpaint,x,pressed[key]);break;
- case (10) : drawLa__ (qpaint,x,pressed[key]);break;
- case (11) : drawSi (qpaint,x,pressed[key]);break;
- };
-// qpaint->flush();
-}
-
-void KMidChannel::noteOn(int key)
-{
- pressed[key]=1;
- TQPainter *qpaint=new TQPainter(this);
- drawKey(qpaint,key);
- delete qpaint;
-}
-
-void KMidChannel::noteOff(int key)
-{
- pressed[key]=0;
- TQPainter *qpaint=new TQPainter(this);
- drawKey(qpaint,key);
- delete qpaint;
-}
-
-void KMidChannel::changeInstrument(int pgm)
-{
- instrumentCombo->setCurrentItem(pgm);
-}
-
-void KMidChannel::changeForceState(bool i)
-{
- replay=FALSE;
- forcepgm->setOn(i);
- replay=TRUE;
-}
-
-void KMidChannel::reset(int level)
-{
- for (int i=0;i<128;i++) pressed[i]=0;
- if (level>=1)
- {
- instrumentCombo->setCurrentItem(0);
- replay=FALSE;
- forcepgm->setOn(FALSE);
- replay=TRUE;
- };
-
- repaint(FALSE);
-}
-
-void KMidChannel::saveState(bool *p,int *pgm)
-{
- for (int i=0;i<128;i++) p[i]=pressed[i];
- *pgm=instrumentCombo->currentItem();
-}
-
-void KMidChannel::loadState(bool *p,int *pgm)
-{
- for (int i=0;i<128;i++) pressed[i]=p[i];
- instrumentCombo->setCurrentItem(*pgm);
- repaint(FALSE);
-}
-
-void KMidChannel::pgmChanged(int i)
-{
- int data[4];
- data[0]=CHN_CHANGE_PGM;
- data[1]=channel;
- data[2]=i;
- data[3]=0;
-
- replay=FALSE;
- forcepgm->setOn(TRUE);
- replay=TRUE;
-
- emit signalToKMidClient(data);
-
-
-}
-
-
-void KMidChannel::changeForcedState(bool i)
-{
- int data[4];
- data[0]=CHN_CHANGE_FORCED_STATE;
- data[1]=channel;
- data[2]=i;
- data[3]=(replay)? 1 : 0;
-
- emit signalToKMidClient(data);
-
-}
-#include "channel.moc"