Code Search for Developers
 
 
  

Grid.h from marsyas at Krugle


Show Grid.h syntax highlighted

#ifndef GRID_H
#define GRID_H

#include <ostream>

#include <QList>
#include <QPoint>
#include <QPainter>
#include <QPixmap>
#include <QMouseEvent>
#include <QWidget>
#include <QMessageBox>
#include <QDebug>

#include <ctime>
#include <cstdlib>

#include "../Interface/MyDisplay.h"
#include "../Interface/Classifier.h"
#include "../Interface/Extractor.h"

#include "../Music/MusicCollection.h"
//#include "../Marsyas/MarsyasECP.h"
#include "../Colormaps/Colormap.h"

#include "../Widgets/Tracklist.h"

#define GRID_TRAINING_FILE	"training.mf"
#define GRID_PREDICTION_FILE	"predict.mf"

class QDragEnterEvent;
class QDropEvent;
class QMouseEvent;
class QPainter;

class Classifier;
class Extractor;
class MarsyasECP;
class GridSquare;

class Grid : public MyDisplay 
{
	Q_OBJECT

public:
	Grid(int winSize, Tracklist *tracklist, QWidget *parent = 0);
	~Grid();
	void clear();

	/*
	void setExtractor(Extractor *extractor);
	Extractor* getExtractor() const; 

	void setClassifier(Classifier *classifier);
	Classifier* getClassifier() const; 
	*/

	int getHeight() const { return _width; }
	int getWidth() const { return _width; }

public slots: 
	void extract();
	void predict();
	void train();
	void midiXYEvent(unsigned char xaxis, unsigned char yaxis);
	void midiPlaylistEvent(bool next);
	void reload();

signals: 
	void playingTrack(MusicTrack *track);
 
protected:
	void dragEnterEvent(QDragEnterEvent *event);
	void dragMoveEvent(QDragMoveEvent *event);
	void dropEvent(QDropEvent *event);
	void startDrag(Qt::DropActions supportedActions);

	void mousePressEvent(QMouseEvent *event);
	void mouseMoveEvent(QMouseEvent *event);
 
	void updateXYPosition(int x, int y); 
	void paintEvent(QPaintEvent *event);
	void playNextTrack();

	void addTrack(int x, int y, MusicTrack* track);
	void resetGrid();

	void setGridX(int x);  
	void setGridY(int y); 
	GridSquare *getCurrentSquare();

	void setup();

private:
	int _winSize;
	int _cellSize;
	int _gridX;
	int _gridY;
	int _width;

	QVector<GridSquare*> _squares;

	//MarsyasECP *_marsyas;
	//Classifier *_classifier;
	//Extractor *_extractor;

	MusicCollection *_collection; 
};
/*
  MarControlPtr filePtr_;
  
  Marsyas::MarSystemManager mng;  
  QVector<QList <std::string> > files;
  QVector<int> counters;
  QVector<int> counterSizes;
  QVector<int> labels;
  
  
  QList<QPixmap> piecePixmaps;
  QList<QRect> pieceRects;
  QList<QPoint> pieceLocations;

  QRect highlightedRect;
  QRect metalRec;
  QRect classicalRec;
  int inPlace;

  MarSystemWrapper*  _mwr;
  Marsyas::MarSystem* _pnet;

  int _somHeight;
  int _somWidth;
  

  Marsyas::realvec _normSomFmatrix;
  Marsyas::MarSystem* _som;
  Marsyas::MarSystem* _total;
  Marsyas::MarSystem* _norm;
*/ 

class GridSquare
{
public:
	GridSquare(int x, int y);

	bool isEmpty() const;

	void addTrack(MusicTrack* track);

	void nextTrack();
	MusicTrack* getCurrent();
	MusicTrackIterator getTracks();

	int getCount() const;
	int getX() const;
	int getY() const;

	void clear();
	void refresh();

private:
	MusicTrackVector _list;
	int _current;
	int _x;
	int _y;
};

#endif




See more files for this project here

marsyas

Marsyas (Music Analysis, Retrieval and Synthesis for Audio Signals) is a framework for developing systems for audio processing. It provides an general architecture for connecting audio, soundfiles, signal processing blocks and machine learning.

Project homepage: http://sourceforge.net/projects/marsyas
Programming language(s): C++
License: other

  Grid.cpp
  Grid.h
  Keypad.cpp
  Keypad.h
  PlayBox.cpp
  PlayBox.h
  Playlist.cpp
  Playlist.h
  PlaylistItem.cpp
  PlaylistItem.h
  PlaylistModel.cpp
  PlaylistModel.h
  Tracklist.cpp
  Tracklist.h