added sound
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@879 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
f5bce2e0a9
commit
f23575e2c5
@ -3,8 +3,8 @@
|
|||||||
# qt should be installed in /usr/local/qt
|
# qt should be installed in /usr/local/qt
|
||||||
#
|
#
|
||||||
CC = g++
|
CC = g++
|
||||||
CPPFLAGS = -O2 -Wall -I/usr/local/qt/include
|
CPPFLAGS = -O2 -Wall -I/usr/local/qt/include -DWITH_RDPSND
|
||||||
RESTOBJ = ../tcp.o ../iso.o ../mcs.o ../secure.o ../rdp.o ../rdp5.o ../orders.o ../cache.o ../mppc.o ../licence.o ../bitmap.o ../channels.o ../pstcache.o
|
RESTOBJ = ../tcp.o ../iso.o ../mcs.o ../secure.o ../rdp.o ../rdp5.o ../orders.o ../cache.o ../mppc.o ../licence.o ../bitmap.o ../channels.o ../pstcache.o ../rdpsnd.o ../rdpsnd_oss.o
|
||||||
LD2FLAGS = -L/usr/local/qt/lib -L/usr/X11R6/lib
|
LD2FLAGS = -L/usr/local/qt/lib -L/usr/X11R6/lib
|
||||||
LDFLAGS = -lcrypto -lqt -lXext -lX11 -lm
|
LDFLAGS = -lcrypto -lqt -lXext -lX11 -lm
|
||||||
MOCFILE = /usr/local/qt/bin/moc
|
MOCFILE = /usr/local/qt/bin/moc
|
||||||
|
@ -72,15 +72,22 @@ static char g_servername[128];
|
|||||||
static char g_title[128] = "";
|
static char g_title[128] = "";
|
||||||
static int g_flags = RDP_LOGON_NORMAL;
|
static int g_flags = RDP_LOGON_NORMAL;
|
||||||
|
|
||||||
|
#ifdef WITH_RDPSND
|
||||||
|
extern int g_dsp_busy;
|
||||||
|
extern int g_dsp_fd;
|
||||||
|
static int g_rdpsnd = 0;
|
||||||
|
static QSocketNotifier * g_SoundNotifier = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* qt globals */
|
/* qt globals */
|
||||||
static QSocketNotifier * g_SocketNotifier;
|
static QSocketNotifier * g_SocketNotifier = 0;
|
||||||
static QApplication * g_App;
|
static QApplication * g_App = 0;
|
||||||
static QMyMainWindow * g_MW;
|
static QMyMainWindow * g_MW = 0;
|
||||||
static QMyScrollView * g_SV;
|
static QMyScrollView * g_SV = 0;
|
||||||
static QPixmap * g_BS;
|
static QPixmap * g_BS = 0;
|
||||||
static QPixmap * g_DS;
|
static QPixmap * g_DS = 0;
|
||||||
static QPainter * g_P1;
|
static QPainter * g_P1 = 0;
|
||||||
static QPainter * g_P2;
|
static QPainter * g_P2 = 0;
|
||||||
static QColor g_Color1;
|
static QColor g_Color1;
|
||||||
static QColor g_Color2;
|
static QColor g_Color2;
|
||||||
|
|
||||||
@ -462,6 +469,38 @@ void QMyMainWindow::dataReceived()
|
|||||||
{
|
{
|
||||||
g_SV->close();
|
g_SV->close();
|
||||||
}
|
}
|
||||||
|
#ifdef WITH_RDPSND
|
||||||
|
if (g_dsp_busy)
|
||||||
|
{
|
||||||
|
if (g_SoundNotifier == 0)
|
||||||
|
{
|
||||||
|
g_SoundNotifier = new QSocketNotifier(g_dsp_fd, QSocketNotifier::Write,
|
||||||
|
g_MW);
|
||||||
|
g_MW->connect(g_SoundNotifier, SIGNAL(activated(int)), g_MW,
|
||||||
|
SLOT(soundSend()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!g_SoundNotifier->isEnabled())
|
||||||
|
{
|
||||||
|
g_SoundNotifier->setEnabled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
void QMyMainWindow::soundSend()
|
||||||
|
{
|
||||||
|
#ifdef WITH_RDPSND
|
||||||
|
g_SoundNotifier->setEnabled(false);
|
||||||
|
wave_out_play();
|
||||||
|
if (g_dsp_busy)
|
||||||
|
{
|
||||||
|
g_SoundNotifier->setEnabled(true);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
@ -561,6 +600,13 @@ int ui_create_window(void)
|
|||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
void ui_main_loop(void)
|
void ui_main_loop(void)
|
||||||
{
|
{
|
||||||
|
#ifdef WITH_RDPSND
|
||||||
|
// init sound
|
||||||
|
if (g_rdpsnd)
|
||||||
|
{
|
||||||
|
rdpsnd_init();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
// connect
|
// connect
|
||||||
if (!rdp_connect(g_servername, g_flags, "", "", "", ""))
|
if (!rdp_connect(g_servername, g_flags, "", "", "", ""))
|
||||||
{
|
{
|
||||||
@ -1488,15 +1534,16 @@ void out_params(void)
|
|||||||
fprintf(stderr, "QT uiport by Jay Sorg\n");
|
fprintf(stderr, "QT uiport by Jay Sorg\n");
|
||||||
fprintf(stderr, "See http://www.rdesktop.org/ for more information.\n\n");
|
fprintf(stderr, "See http://www.rdesktop.org/ for more information.\n\n");
|
||||||
fprintf(stderr, "Usage: qtrdesktop [options] server\n");
|
fprintf(stderr, "Usage: qtrdesktop [options] server\n");
|
||||||
fprintf(stderr, " -g: desktop geometry (WxH)\n");
|
fprintf(stderr, " -g WxH: desktop geometry\n");
|
||||||
fprintf(stderr, " -4: use RDP version 4\n");
|
fprintf(stderr, " -4: use RDP version 4\n");
|
||||||
fprintf(stderr, " -5: use RDP version 5 (default)\n");
|
fprintf(stderr, " -5: use RDP version 5 (default)\n");
|
||||||
fprintf(stderr, " -t: tcp port)\n");
|
fprintf(stderr, " -t 3389: tcp port)\n");
|
||||||
fprintf(stderr, " -a: connection colour depth\n");
|
fprintf(stderr, " -a 8|16|24: connection colour depth\n");
|
||||||
fprintf(stderr, " -T: window title\n");
|
fprintf(stderr, " -T title: window title\n");
|
||||||
fprintf(stderr, " -P: use persistent bitmap caching\n");
|
fprintf(stderr, " -P: use persistent bitmap caching\n");
|
||||||
fprintf(stderr, " -0: attach to console\n");
|
fprintf(stderr, " -0: attach to console\n");
|
||||||
fprintf(stderr, " -z: enable rdp compression\n");
|
fprintf(stderr, " -z: enable rdp compression\n");
|
||||||
|
fprintf(stderr, " -r sound: enable sound\n");
|
||||||
fprintf(stderr, "\n");
|
fprintf(stderr, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1719,6 +1766,15 @@ int parse_parameters(int in_argc, char ** in_argv)
|
|||||||
{
|
{
|
||||||
g_flags |= RDP_COMPRESSION;
|
g_flags |= RDP_COMPRESSION;
|
||||||
}
|
}
|
||||||
|
else if (strcmp(in_argv[i], "-r") == 0)
|
||||||
|
{
|
||||||
|
if (strcmp(in_argv[i + 1], "sound") == 0)
|
||||||
|
{
|
||||||
|
#ifdef WITH_RDPSND
|
||||||
|
g_rdpsnd = 1;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -27,5 +27,6 @@ class QMyMainWindow: public QWidget
|
|||||||
bool event(QEvent*);
|
bool event(QEvent*);
|
||||||
public slots:
|
public slots:
|
||||||
void dataReceived();
|
void dataReceived();
|
||||||
|
void soundSend();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user