/**************************************************************************

This file is part of cdplay, a cdplayer for fvwm95.
Copyright (C) 1997 Rodolphe Suescun.

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., 675 Mass Ave, Cambridge, MA 02139, USA.

**************************************************************************/

#include <stdlib.h>
#include <stdio.h>

#include <xclass/OXClient.h>
#include <xclass/OXWindow.h>
#include <xclass/OXFrame.h>
#include <xclass/OXWidgets.h>
#include <xclass/OXMsgBox.h>
#include <xclass/OString.h>
#include <xclass/OXSlider.h>
#include <xclass/OX3dLines.h>

//---------------------------------------------------------------------

#define MENU_PROPS     1
#define MENU_EXIT      2
#define MENU_HELP      3
#define MENU_ABOUT     4

class OXVolumeControlFrame : public OXCompositeFrame {
public:
  OXVolumeControlFrame(const OXWindow *p, int chn);
  virtual ~OXVolumeControlFrame();

  virtual int ProcessMessage(long msg, long parm1, long parm2);

  void ReadVolume();
  void WriteVolume();

protected:
  int channel;

  OTimer * timer;
  OXLabel * name, * balance, * volume;
  OXCompositeFrame * balancezone;
  OXHSlider * balanceslider;
  OXVSlider * volumeslider;
  OXCheckButton * mutebutton;
};


class OXMixerMainFrame : public OXMainFrame {
public:
  OXMixerMainFrame(const OXWindow *p, int w, int h);
  virtual ~OXMixerMainFrame();

  virtual int ProcessMessage(long msg, long parm1, long parm2);
protected:
  OXMenuBar * menu;
  OXPopupMenu * menu_options, * menu_help;
  OXCompositeFrame * volumes;
};
