The DejaVU Framework -- hush 3.1

include: hush-src-multi-MultiPlayer-MultiPlayerDlg.h /home/ae/media


- [up] [top] - index make include source logic grammar scripts html configure mx slides talks scenes reports projects
<body bgcolor="#FFFFFF" text="#000000">

//------------------------------------------------------------------------------
// File: MultiPlayerDlg.h
//
// Desc: DirectShow sample code - MultiVMR9 MultiPlayer sample
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------

#pragma once
include <afxwin.h>
include <afxcmn.h>
include <MultiGraphSession.h>

const int g_nButtons = 6;    

// CMultiPlayerSession
<h4 align=right text=red> CMultiPlayerSession</h4><hr>
  class CMultiPlayerSession
    : public CMultigraphSession
{
public: 
    HRESULT Initialize();
    HRESULT Terminate();
};
<hr>


// CMultiPlayerDlg dialog
<hr>

CMultiPlayerDlg</h4>
  class CMultiPlayerDlg : public CDialog
  {
  // Construction
  public:
      CMultiPlayerDlg(CWnd* pParent = NULL);  // standard constructor
  
  // Dialog Data
      enum { IDD = IDD_DEFAULTMULTIPLAYER_DIALOG };
  
      protected:
      virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  
  // Implementation
  protected:
      HICON m_hIcon;
  
      // Generated message map functions
      virtual BOOL OnInitDialog();
      afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
      afx_msg void OnPaint();
      afx_msg HCURSOR OnQueryDragIcon();
      DECLARE_MESSAGE_MAP()
  
  private:
      // private methods
      void Clean_();
      void UpdateState_();
      void UpdateSubgraphInfo_();
      void UpdateMediaButtons_();
      void UpdateOutputRect_();
      void SetSliderPosition_( CSliderCtrl& slider, int Pos);
  
      CString GetHHMMSS( LONGLONG llT );
  
  private:
      // data
      CMultiPlayerSession*        m_pSession;
      DWORD                       m_dwSourceCounter; 
      DWORD                       m_dwTotalSources;   // total number of sources attached to the wizard
      UINT_PTR                    m_nTimer;           // timer tag
  
      float                       m_fSetFPS;          // desired frames per sec rate
      float                       m_fGetFPS;          // actual frames per sec rate
  
      // bitmaps for buttons
      HBITMAP m_bmpAttach;
      HBITMAP m_bmpAttachGray;
      HBITMAP m_bmpDetach;
      HBITMAP m_bmpDetachGray;
      HBITMAP m_bmpPlay;
      HBITMAP m_bmpPlayGray;
      HBITMAP m_bmpPause;
      HBITMAP m_bmpPauseGray;
      HBITMAP m_bmpScale;
      HBITMAP m_bmpScaleGray;
      HBITMAP m_bmpColor;
      HBITMAP m_bmpColorGray;
  
      // UI-related members
      CComboBox m_comboSources;   // selection of the sources
  
      CString m_strTotal;         // total number of sources playing
      CString m_strPath;          // file path to the source
      CString m_strSourceState;   // state of the video source (playing or paused)
      CString m_strAlpha;         // alpha-level of the source
      CString m_strXPos;          // horizontal position of the video source (from -1 to 1)
      CString m_strXSize;         // horizontal size of the video source (from -1 to 1)
      CString m_strYPos;          // vertical position of the video source (from -1 to 1)
      CString m_strYSize;         // vertical size of the video source (from -1 to 1; negative means flipping)
      CString m_strZOrder;        // Z-order of the video source
      CString m_strFPS;           // frames per second rate user sets
      CString m_strStartTime;     // start time
      CString m_strCurTime;       // current time
      CString m_strStopTime;      // stop time
  
      CSliderCtrl m_sliderAlpha;  // control for setting the alpha-level
      CSliderCtrl m_sliderTime;   // timeline
      CSliderCtrl m_sliderXPos;   // control for setting X-position of the video source
      CSliderCtrl m_sliderXSize;  // control for setting the horiz. size of the source
      CSliderCtrl m_sliderYPos;   // control for setting vert. position of the video source
      CSliderCtrl m_sliderYSize;  // control for setting vert. size of the video source
      CSliderCtrl m_sliderZOrder; // control for setting Z-order
      CSliderCtrl m_sliderFPS;    // control to set desired FPS
  
  public:
      // dialog-related
      afx_msg void OnDestroy();
      afx_msg void OnTimer(UINT nIDEvent);
  
      // buttons
      afx_msg void OnOK();
      afx_msg void OnBnClickedButtonAttach();
      afx_msg void OnBnClickedButtonDetach();
      afx_msg void OnBnClickedButtonPlay();
      afx_msg void OnBnClickedButtonPause();
      afx_msg void OnBnClickedButtonFit();
      afx_msg void OnBnClickedButtonColor();
  
      // combo boxes
      afx_msg void OnCbnSelchangeComboSources();
  
      // sliders
      afx_msg void OnNMReleasedcaptureSliderAlpha(NMHDR *pNMHDR, LRESULT *pResult);
      afx_msg void OnNMReleasedcaptureSliderSetfps(NMHDR *pNMHDR, LRESULT *pResult);
      afx_msg void OnNMReleasedcaptureSliderTime(NMHDR *pNMHDR, LRESULT *pResult);
      afx_msg void OnNMReleasedcaptureSliderZorder(NMHDR *pNMHDR, LRESULT *pResult);
      afx_msg void OnNMReleasedcaptureSliderXpos(NMHDR *pNMHDR, LRESULT *pResult);
      afx_msg void OnNMReleasedcaptureSliderYpos(NMHDR *pNMHDR, LRESULT *pResult);
      afx_msg void OnNMReleasedcaptureSliderXsize(NMHDR *pNMHDR, LRESULT *pResult);
      afx_msg void OnNMReleasedcaptureSliderYsize(NMHDR *pNMHDR, LRESULT *pResult);
  
      // tooltips
      HWND        m_hwndToolTips[g_nButtons];
      TOOLINFO    m_ti[g_nButtons];
  };


  
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2780434-1"; urchinTracker(); </script>

Hush Online Technology
hush@cs.vu.nl
03/12/09