Files
Rocky5 921f9fe9f8 Clean Copy
If ever adding the XBMC4Xbox source to GitHub use "git add -f -A" or it wont add all the files.
2024-01-08 19:01:29 +00:00

75 lines
2.6 KiB
C++

/*
* Copyright (C) 2005-2013 Team XBMC
* http://xbmc.org
*
* 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, 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 XBMC; see the file COPYING. If not, see
* <http://www.gnu.org/licenses/>.
*
*/
// Visualisation.h: interface for the CVisualisation class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_Visualisation_H__99B9A52D_ED09_4540_A887_162A68217A31__INCLUDED_)
#define AFX_Visualisation_H__99B9A52D_ED09_4540_A887_162A68217A31__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Key.h"
#include "DllVisualisation.h"
#include <map>
#include <memory>
class CVisualisation
{
public:
enum VIS_ACTION { VIS_ACTION_NONE = 0,
VIS_ACTION_NEXT_PRESET,
VIS_ACTION_PREV_PRESET,
VIS_ACTION_LOAD_PRESET,
VIS_ACTION_RANDOM_PRESET,
VIS_ACTION_LOCK_PRESET,
VIS_ACTION_RATE_PRESET_PLUS,
VIS_ACTION_RATE_PRESET_MINUS,
VIS_ACTION_UPDATE_ALBUMART,
VIS_ACTION_UPDATE_TRACK
};
CVisualisation(struct Visualisation* pVisz, DllVisualisation* pDll, const CStdString& strVisualisationName);
~CVisualisation();
void Create(int posx, int posy, int width, int height);
void Start(int iChannels, int iSamplesPerSec, int iBitsPerSample, const CStdString strSongName);
void AudioData(const short* pAudioData, int iAudioDataLength, float *pFreqData, int iFreqDataLength);
void Render();
void Stop();
void GetInfo(VIS_INFO *info);
bool OnAction(VIS_ACTION action, void *param = NULL);
void GetSettings(std::vector<VisSetting> **vecSettings);
void UpdateSetting(int num);
void GetPresets(char ***pPresets, int *currentPreset, int *numPresets, bool *locked);
void GetCurrentPreset(char **pPreset, bool *locked);
bool IsLocked();
char *GetPreset();
protected:
std::auto_ptr<struct Visualisation> m_pVisz;
std::auto_ptr<DllVisualisation> m_pDll;
CStdString m_strVisualisationName;
};
#endif // !defined(AFX_Visualisation_H__99B9A52D_ED09_4540_A887_162A68217A31__INCLUDED_)