new audio-mixing system and new VST-support-framework
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@25 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
63
ChangeLog
63
ChangeLog
@@ -1,3 +1,66 @@
|
||||
2005-11-29 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
|
||||
* plugins/vestige/vestige.h:
|
||||
* plugins/vestige/vestige.cpp:
|
||||
changes for working with new VST-framework
|
||||
|
||||
* plugins/vestige/fstclient.h:
|
||||
* plugins/vestige/fstserver.h:
|
||||
* plugins/vestige/fstclient.cpp:
|
||||
* plugins/vestige/fstserver.cpp:
|
||||
* plugins/vestige/fstcore.c:
|
||||
* plugins/vestige/communication.h:
|
||||
added new VST-framework (client-server-architecture) based on XFST
|
||||
|
||||
* include/qxembed.h
|
||||
* src/widgets/qxembed.cpp:
|
||||
added QXEmbed-widget which is neccessary for embedding VST-plugin
|
||||
|
||||
2005-11-27 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
|
||||
* src/core/mixer.cpp:
|
||||
added usleep()-call for realizing usable threading and solve problems
|
||||
with 100%-CPU-usage
|
||||
|
||||
2005-11-08 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
|
||||
* include/channel_track.h:
|
||||
* include/sample_play_handle.h:
|
||||
* include/sample_track.h:
|
||||
* src/core/sample_play_handle.cpp:
|
||||
* src/tracks/channel_track.cpp:
|
||||
* src/tracks/sample_track.cpp:
|
||||
made things work with audio-ports
|
||||
|
||||
* include/mixer.h:
|
||||
* src/core/mixer.cpp:
|
||||
completely revised internal mixing-engine make it working with
|
||||
the new audio-ports, which results in a much cleaner, faster and more
|
||||
powerful mixing-engine
|
||||
|
||||
* include/audio_port.h:
|
||||
* src/audio/audio_port.cpp:
|
||||
added so called audio-ports which are important for transporting sound
|
||||
from it's origin through the mixer and the effect-board (the latter
|
||||
one isn't existing yet but coming quite soon) - another important
|
||||
point is ability of having output-ports for each channel/sample-track
|
||||
with JACK
|
||||
|
||||
* src/tracks/channel_track.cpp:
|
||||
translate default-channel-name "Default"
|
||||
|
||||
* src/audio/audio_jack.cpp:
|
||||
- sync JACK's buffer-size with LMMS's one
|
||||
- start JACK-transport if not already done
|
||||
|
||||
* include/mixer.h:
|
||||
* src/audio/audio_jack.cpp:
|
||||
* src/core/mixer.cpp:
|
||||
* src/lib/sample_buffer.cpp:
|
||||
* src/widgets/visualization_widget.cpp:
|
||||
use memset() for clearing buffers - obsoletes usage of silence-buffers
|
||||
in mixer
|
||||
|
||||
2005-11-07 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
|
||||
* src/midi/midi_alsa_seq.cpp:
|
||||
|
||||
12
Makefile.am
12
Makefile.am
@@ -23,7 +23,7 @@ endif
|
||||
SUBDIRS = artwork buildtools locale midi-maps plugins presets projects samples
|
||||
|
||||
|
||||
INCLUDES = -I$(srcdir)/include -I.
|
||||
INCLUDES = -I$(srcdir)/include -I. -I/usr/include/wine -I/usr/include/wine/windows
|
||||
bin_PROGRAMS = lmms
|
||||
|
||||
|
||||
@@ -70,6 +70,7 @@ lmms_MOC = \
|
||||
./pixmap_button.moc \
|
||||
./plugin_browser.moc \
|
||||
./project_notes.moc \
|
||||
./qxembed.moc \
|
||||
./rename_dialog.moc \
|
||||
./sample_buffer.moc \
|
||||
./sample_track.moc \
|
||||
@@ -106,6 +107,7 @@ lmms_SOURCES = \
|
||||
$(srcdir)/src/audio/audio_file_wave.cpp \
|
||||
$(srcdir)/src/audio/audio_jack.cpp \
|
||||
$(srcdir)/src/audio/audio_oss.cpp \
|
||||
$(srcdir)/src/audio/audio_port.cpp \
|
||||
$(srcdir)/src/audio/audio_sample_recorder.cpp \
|
||||
$(srcdir)/src/audio/audio_sdl.cpp \
|
||||
$(srcdir)/src/core/about_dialog.cpp \
|
||||
@@ -164,6 +166,7 @@ lmms_SOURCES = \
|
||||
$(srcdir)/src/widgets/nstate_button.cpp \
|
||||
$(srcdir)/src/widgets/pixmap_button.cpp \
|
||||
$(srcdir)/src/widgets/project_notes.cpp \
|
||||
$(srcdir)/src/widgets/qxembed.cpp \
|
||||
$(srcdir)/src/widgets/rename_dialog.cpp \
|
||||
$(srcdir)/src/widgets/side_bar_widget.cpp \
|
||||
$(srcdir)/src/widgets/tab_bar.cpp \
|
||||
@@ -269,9 +272,12 @@ lmms_SOURCES = \
|
||||
$(srcdir)/include/string_pair_drag.h \
|
||||
$(srcdir)/include/ladspa_manager.h \
|
||||
$(srcdir)/include/midi_tab_widget.h \
|
||||
$(srcdir)/include/audio_port.h \
|
||||
$(srcdir)/include/qxembed.h \
|
||||
$(srcdir)/include/midi_alsa_seq.h
|
||||
|
||||
|
||||
|
||||
EXTRA_DIST = $(lmms_EMBEDDED_RESOURCES)
|
||||
|
||||
|
||||
@@ -305,10 +311,6 @@ if HAVE_LIBSF
|
||||
LIB_SF_LDADD = -lsndfile
|
||||
endif
|
||||
|
||||
if HAVE_LIBFST
|
||||
LIB_FST_LDADD = -lfst
|
||||
endif
|
||||
|
||||
lmms_LDADD = $(QT_LDADD) $(LIB_SDL_LDADD) $(LIB_ASOUND_LDADD) $(LIB_JACK_LDADD) $(LIB_SDL_SOUND_LDADD) $(LIB_VORBIS_LDADD) $(LIB_SRC_LDADD) $(LIB_SF_LDADD) $(LIB_FST_LDADD) -ldl
|
||||
lmms_LDFLAGS = -rdynamic -rpath $(pkglibdir)
|
||||
|
||||
|
||||
1
TODO
1
TODO
@@ -1,3 +1,4 @@
|
||||
- fix audio/midi-settings stuff/translation
|
||||
- check ladspa-header
|
||||
- arpeggio: send midi-out-events via channel-track
|
||||
- tooltips for controls in MIDI-tab
|
||||
|
||||
10
acinclude.m4
10
acinclude.m4
@@ -264,3 +264,13 @@ AC_SUBST(QT_GUILINK)
|
||||
AC_SUBST(QASSISTANTCLIENT_LDADD)
|
||||
|
||||
])
|
||||
|
||||
|
||||
dnl **** Link C code with an assembly file ****
|
||||
dnl
|
||||
dnl Usage: WINE_TRY_ASM_LINK(asm-code,includes,function,[action-if-found,[action-if-not-found]])
|
||||
dnl
|
||||
AC_DEFUN([WINE_TRY_ASM_LINK],
|
||||
[AC_TRY_LINK([void ac_asm(void) { asm([$1]); }
|
||||
[$2]],[$3],[$4],[$5])])
|
||||
|
||||
|
||||
103
configure.in
103
configure.in
@@ -2,8 +2,8 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.50)
|
||||
AC_INIT(lmms, 0.1.1-cvs20051107, tobydox/at/users.sourceforge.net)
|
||||
AM_INIT_AUTOMAKE(lmms, 0.1.1-cvs20051107)
|
||||
AC_INIT(lmms, 0.1.1-cvs20051129, tobydox/at/users.sourceforge.net)
|
||||
AM_INIT_AUTOMAKE(lmms, 0.1.1-cvs20051129)
|
||||
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
@@ -22,7 +22,7 @@ gw_CHECK_QT
|
||||
# checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_CHECK_HEADERS([fcntl.h memory.h string.h sys/ioctl.h unistd.h stdlib.h dlfcn.h ladspa.h])
|
||||
AC_CHECK_HEADERS([fcntl.h memory.h string.h sys/ioctl.h unistd.h stdlib.h dlfcn.h ladspa.h pthread.h sys/ipc.h sys/shm.h sys/time.h sys/select.h sys/types.h stdarg.h])
|
||||
|
||||
# checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
@@ -32,6 +32,7 @@ AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
AC_C_VOLATILE
|
||||
AC_C_BIGENDIAN
|
||||
AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t, long long])
|
||||
|
||||
# checks for library functions.
|
||||
AC_FUNC_ALLOCA
|
||||
@@ -39,7 +40,8 @@ AC_FUNC_MALLOC
|
||||
AC_FUNC_MEMCMP
|
||||
AC_TYPE_SIGNAL
|
||||
|
||||
AC_CHECK_FUNCS([usleep])
|
||||
AC_CHECK_FUNCS([usleep pipe sprintf])
|
||||
|
||||
|
||||
|
||||
# search for include-path of SDL (just for supporting the FreeBSD-guys.... ;-)
|
||||
@@ -60,6 +62,8 @@ AH_TEMPLATE(SDL_SDL_SOUND_H, [Define to location of SDL_sound.h])
|
||||
OLD_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lpthread"
|
||||
|
||||
AC_CHECK_FUNCS([pthread_getattr_np])
|
||||
|
||||
# check for SDL-lib
|
||||
AC_ARG_WITH(sdl,
|
||||
AS_HELP_STRING([--without-sdl],
|
||||
@@ -154,30 +158,25 @@ fi
|
||||
AM_CONDITIONAL(HAVE_LIBJACK, test ! -z "$HAVE_JACK_JACK_H")
|
||||
|
||||
|
||||
# check for VST-backends (currently only libfst is supported)
|
||||
# check for proper wine-installation and existing steinberg headers
|
||||
AC_ARG_WITH(vst,
|
||||
AS_HELP_STRING([--without-vst],
|
||||
[disable support for VST-plugin-hosting]), ,
|
||||
[ with_vst=yes ])
|
||||
AS_HELP_STRING([--with-vst],
|
||||
[enable support for VST-plugin-hosting]), [ with_vst=yes ], [ with_vst=no ])
|
||||
AH_TEMPLATE(HAVE_VST_AEFFECTX_H, [Define to 1 if you have the <vst/aeffectx.h> header file.])
|
||||
AH_TEMPLATE(HAVE_FST_H, [Define to 1 if you have the <fst.h> header file.])
|
||||
if test "x$with_vst" = "xyes" ; then
|
||||
AC_CHECK_HEADER(vst/aeffectx.h, HAVE_VST_AEFFECTX_H="true")
|
||||
AC_CHECK_HEADER(fst.h, HAVE_FST_H="true")
|
||||
AC_CHECK_LIB([fst], [fst_init], HAVE_LIBFST="true", HAVE_FST_H="")
|
||||
fi
|
||||
if test ! -z "$HAVE_VST_AEFFECTX_H" ; then
|
||||
AC_DEFINE(HAVE_VST_AEFFECTX_H)
|
||||
if test ! -z "$HAVE_FST_H" ; then
|
||||
AC_DEFINE(HAVE_FST_H)
|
||||
FST_OK_BUT_VST_HEADERS_MISSING=""
|
||||
else
|
||||
FST_OK_BUT_VST_HEADERS_MISSING="true"
|
||||
AC_CHECK_PROG(WINEGCC, winegcc, /usr/bin/winegcc,,/usr/bin)
|
||||
AC_CHECK_LIB([wine], [wine_init])
|
||||
if test ! -z "$WINEGCC" ; then
|
||||
if test ! -z "$HAVE_VST_AEFFECTX_H" ; then
|
||||
WINE_OK_BUT_VST_INCOMPLETE=""
|
||||
AC_DEFINE(HAVE_VST_AEFFECTX_H)
|
||||
else
|
||||
WINE_OK_BUT_VST_INCOMPLETE="true"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
HAVE_FST_H=""
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_LIBFST, test ! -z "$HAVE_FST_H")
|
||||
AM_CONDITIONAL(VST_SUPPORT, test ! -z "$WINEGCC")
|
||||
|
||||
|
||||
# check for vorbis-lib
|
||||
@@ -567,49 +566,59 @@ else
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test ! -z "$FST_OK_BUT_VST_HEADERS_MISSING" ; then
|
||||
if test "x$with_vst" = "xno" ; then
|
||||
echo " ========================"
|
||||
echo " === LMMS - WARNING ======================================================="
|
||||
echo " === LMMS - INFORMATION ==================================================="
|
||||
echo " ========================"
|
||||
echo " ="
|
||||
echo " = You seem to have a proper libfst-installation, but the header-files"
|
||||
echo " = (AEffect.h and aeffectx.h) from Steinberg-SDK are missing or not present"
|
||||
echo " = in /usr/include/vst. We cannot distribute them as they're licensed under"
|
||||
echo " = a non-GPL-compatible license, so you'll have to download them at"
|
||||
echo " = If you want VST-support within LMMS, please pass"
|
||||
echo " ="
|
||||
echo " = ftp://ext2asio:sdk1ext@ftp.pinnaclesys.com/SDK"
|
||||
echo " = --with-vst"
|
||||
echo " ="
|
||||
echo " = and put the mentioned files into /usr/include."
|
||||
echo " = Otherwise (now!) configure will disable LMMS's support for built-in VST-"
|
||||
echo " = plugin-usage. If you do not intend to use VST-plugins with LMMS you can "
|
||||
echo " = ignore this warning."
|
||||
echo " = Consider installing the missing packages for using the full power of LMMS."
|
||||
echo " = to configure, since it is disabled per default!"
|
||||
echo " ="
|
||||
with_warnings="true"
|
||||
else
|
||||
if test ! -z "$HAVE_FST_H" ; then
|
||||
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* libfst for hosting VST-plugins"
|
||||
else
|
||||
|
||||
if test ! -z "$WINE_OK_BUT_VST_INCOMPLETE" ; then
|
||||
echo " ========================"
|
||||
echo " === LMMS - WARNING ======================================================="
|
||||
echo " ========================"
|
||||
echo " ="
|
||||
echo " = You don't seem to have installed libfst, which is neccessary for building"
|
||||
echo " = LMMS with support for built-in VST-plugin. Furthermore LMMS needs"
|
||||
echo " = header-files (AEffect.h and aeffectx.h) from Steinberg-SDK, which are"
|
||||
echo " = likely to be installed by libfst, so after having coped with libfst-"
|
||||
echo " = installation (which is a mess... ;-), everything should be alright."
|
||||
echo " = If you do not intend to use VST-plugins with LMMS you can ignore this "
|
||||
echo " = warning."
|
||||
echo " = You seem to have a proper WINE-installation, but the header-files"
|
||||
echo " = (AEffect.h and aeffectx.h) from Steinberg-VST-SDK are missing or not present"
|
||||
echo " = in /usr/include/vst. We cannot distribute them as they're licensed under"
|
||||
echo " = a GPL-incompatible license, so you'll have to download them at"
|
||||
echo " ="
|
||||
echo " = ftp://ext2asio:sdk1ext@ftp.pinnaclesys.com/SDK"
|
||||
echo " ="
|
||||
echo " = and put the mentioned files into /usr/include/vst."
|
||||
echo " = Otherwise (now!) configure will disable LMMS's support for built-in VST-"
|
||||
echo " = plugin-usage. If you do not intend to use VST-plugins with LMMS you can "
|
||||
echo " = ignore this warning."
|
||||
echo " = Consider installing the missing packages for using the full power of LMMS."
|
||||
echo " ="
|
||||
with_warnings="true"
|
||||
else
|
||||
if test ! -z "$HAVE_VST_AEFFECTX_H" ; then
|
||||
PLUGINS_TO_BUILD="$PLUGINS_TO_BUILD\n\t\* it's own VST-server for hosting VST-plugins"
|
||||
else
|
||||
echo " ========================"
|
||||
echo " === LMMS - WARNING ======================================================="
|
||||
echo " ========================"
|
||||
echo " ="
|
||||
echo " = You don't seem to have installed WINE or it's development-packages (headers,"
|
||||
echo " = (winegcc etc.) which is neccessary for building LMMS with built-in"
|
||||
echo " = VST-support."
|
||||
echo " = If you do not intend to use VST-plugins with LMMS you can ignore this "
|
||||
echo " = warning."
|
||||
echo " = Consider installing the missing packages for using the full power of LMMS."
|
||||
echo " ="
|
||||
with_warnings="true"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
echo
|
||||
echo
|
||||
echo "LMMS will be able to use $PLUGINS_TO_BUILD" | sed -e "s/\\\n/\n/g" | sed -e "s/\\\t/\t/g" | sed -e "s/\\\\\*/\*/g"
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* about_dialog.h - declaration of class aboutDialog
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* arp_and_chords_tab_widget.h - declaration of class arpAndChordWidget which
|
||||
* provides code for using arpeggio and chords
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* audio_alsa.h - device-class that implements ALSA-PCM-output
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* audio_device.h - base-class for audio-devices, used by LMMS-mixer
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
@@ -29,10 +30,12 @@
|
||||
|
||||
#ifdef QT4
|
||||
|
||||
#include <QPair>
|
||||
#include <QMutex>
|
||||
|
||||
#else
|
||||
|
||||
#include <qpair.h>
|
||||
#include <qmutex.h>
|
||||
|
||||
#endif
|
||||
@@ -50,6 +53,11 @@
|
||||
#include "tab_widget.h"
|
||||
|
||||
|
||||
|
||||
class audioPort;
|
||||
|
||||
|
||||
|
||||
class audioDevice
|
||||
{
|
||||
public:
|
||||
@@ -66,10 +74,22 @@ public:
|
||||
m_devMutex.unlock();
|
||||
}
|
||||
|
||||
// called by mixer for writing final output-buffer with given sample-
|
||||
// rate and master-gain
|
||||
void FASTCALL writeBuffer( surroundSampleFrame * _ab, Uint32 _frames,
|
||||
Uint32 _src_sample_rate,
|
||||
float _master_gain );
|
||||
|
||||
|
||||
// if audio-driver supports ports, classes inherting audioPort
|
||||
// (e.g. channel-tracks) can register themselves for making
|
||||
// audio-driver able to collect their individual output and provide
|
||||
// them at a specific port - currently only supported by JACK
|
||||
virtual void registerPort( audioPort * _port );
|
||||
virtual void unregisterPort( audioPort * _port );
|
||||
virtual void renamePort( audioPort * _port, const QString & _name );
|
||||
|
||||
|
||||
inline Uint32 sampleRate( void ) const
|
||||
{
|
||||
return( m_sampleRate );
|
||||
@@ -102,6 +122,7 @@ public:
|
||||
|
||||
|
||||
protected:
|
||||
// to be implemented by audio-driver - last step in a mixer period
|
||||
virtual void FASTCALL writeBufferToDev( surroundSampleFrame * _ab,
|
||||
Uint32 _frames,
|
||||
float _master_gain ) = 0;
|
||||
@@ -121,6 +142,7 @@ protected:
|
||||
void FASTCALL resample( surroundSampleFrame * _src, Uint32 _frames,
|
||||
surroundSampleFrame * _dst,
|
||||
Uint32 _src_sr, Uint32 _dst_sr );
|
||||
|
||||
inline void setSampleRate( Uint32 _new_sr )
|
||||
{
|
||||
m_sampleRate = _new_sr;
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* audio_dummy.h - dummy-audio-device
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* audio_file_device.h - base-class for audio-device-classes which write
|
||||
* their output into a file
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* audio_file_ogg.h - Audio-device which encodes wave-stream and writes it
|
||||
* into an OGG-file. This is used for song-export.
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* audio_file_wave.h - Audio-device which encodes wave-stream and writes it
|
||||
* into an WAVE-file. This is used for song-export.
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* audio_jack.h - support for JACK-transport
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
@@ -93,10 +94,13 @@ private:
|
||||
Uint32 _frames,
|
||||
float _master_gain );
|
||||
|
||||
void clearBuffer( void );
|
||||
virtual void registerPort( audioPort * _port );
|
||||
virtual void unregisterPort( audioPort * _port );
|
||||
virtual void renamePort( audioPort * _port, const QString & _name );
|
||||
|
||||
static int processCallback( jack_nframes_t _nframes, void * _udata );
|
||||
static int bufSizeCallback( jack_nframes_t _nframes, void * _udata );
|
||||
static void shutdownCallback( void * _udata );
|
||||
|
||||
|
||||
jack_client_t * m_client;
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* audio_oss.h - device-class that implements OSS-PCM-output
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
100
include/audio_port.h
Normal file
100
include/audio_port.h
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* audio_port.h - base-class for objects providing sound at a port
|
||||
*
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* 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 (see COPYING); if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUDIO_PORT_H
|
||||
#define _AUDIO_PORT_H
|
||||
|
||||
#include "qt3support.h"
|
||||
|
||||
#ifdef QT4
|
||||
|
||||
#include <QString>
|
||||
|
||||
#else
|
||||
|
||||
#include <qstring.h>
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#include "mixer.h"
|
||||
#include "effect_board.h"
|
||||
|
||||
|
||||
class audioPort
|
||||
{
|
||||
public:
|
||||
audioPort( const QString & _name );
|
||||
~audioPort();
|
||||
|
||||
inline surroundSampleFrame * firstBuffer( void )
|
||||
{
|
||||
return( m_firstBuffer );
|
||||
}
|
||||
inline surroundSampleFrame * secondBuffer( void )
|
||||
{
|
||||
return( m_secondBuffer );
|
||||
}
|
||||
|
||||
void nextPeriod( void );
|
||||
|
||||
|
||||
// indicate whether JACK & Co should provide output-buffer at ext. port
|
||||
inline bool extOutputEnabled( void ) const
|
||||
{
|
||||
return( m_extOutputEnabled );
|
||||
}
|
||||
void FASTCALL setExtOutputEnabled( bool _enabled );
|
||||
|
||||
|
||||
// next effect-channel after this audio-port
|
||||
// (-1 = none 0 = master)
|
||||
inline fxChnl nextFxChannel( void ) const
|
||||
{
|
||||
return( m_nextFxChannel );
|
||||
}
|
||||
void setNextFxChannel( fxChnl _chnl )
|
||||
{
|
||||
m_nextFxChannel = _chnl;
|
||||
}
|
||||
|
||||
void setName( const QString & _new_name );
|
||||
|
||||
enum bufferUsages
|
||||
{
|
||||
NONE, FIRST, BOTH
|
||||
} m_bufferUsage;
|
||||
|
||||
|
||||
private:
|
||||
surroundSampleFrame * m_firstBuffer;
|
||||
surroundSampleFrame * m_secondBuffer;
|
||||
bool m_extOutputEnabled;
|
||||
fxChnl m_nextFxChannel;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
#endif
|
||||
@@ -3,8 +3,9 @@
|
||||
* surround-audio-buffers into RAM, maybe later
|
||||
* also harddisk
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* audio_sdl.h - device-class that performs PCM-output via SDL
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
* original file by ???
|
||||
* modified and enhanced by Tobias Doerffel, 2004
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* bb_editor.h - declaration of class bbEditor, a basic-component of LMMS
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* bb_track.h - class bbTrack, a wrapper for using bbEditor
|
||||
* (which is a singleton-class) as track
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* buffer_allocator.h - namespace bufferAllocator providing routines for own
|
||||
* optimized memory-management for audio-buffers
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* clipboard.h - the clipboard for patterns, notes etc.
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* config_mgr.h - class configManager, a class for managing LMMS-configuration
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* debug.h - header file to be included for debugging purposes
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* dummy_instrument.h - instrument used as fallback if an instrument couldn't
|
||||
* be loaded
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* dummy_plugin.h - empty plugin which is used as fallback if a plugin wasn't
|
||||
* found
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* effect_board.h - stuff for effect-board
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
@@ -24,8 +25,12 @@
|
||||
#ifndef _EFFECT_BOARD_H
|
||||
#define _EFFECT_BOARD_H
|
||||
|
||||
|
||||
const int MIN_EFFECT_CHANNEL = 0;
|
||||
const int MAX_EFFECT_CHANNEL = 63;
|
||||
const int DEFAULT_EFFECT_CHANNEL = (MIN_EFFECT_CHANNEL);
|
||||
const int DEFAULT_EFFECT_CHANNEL = MIN_EFFECT_CHANNEL;
|
||||
|
||||
typedef Sint8 fxChnl;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* embed.h - misc. stuff for using embedded data (resources linked into binary)
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* endian.h - handle endianess-problems
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
* is used by envelope/lfo/filter-tab of
|
||||
* channel-window
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
* provides UI- and DSP-code for using envelopes, LFOs
|
||||
* and a filter
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* export.h - header which is needed for song-export
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* export_project_dialog.h - declaration of class exportProjectDialog which is
|
||||
* responsible for exporting project
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* file_browser.h - include file for fileBrowser
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* group_box.h - LMMS-groupbox
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* gui_templates.h - GUI-specific templates
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* instrument.h - declaration of class instrument, which provides a
|
||||
* standard interface for all instrument plugins
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* instrument_play_handle.h - play-handle for playing an instrument
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* interpolation.h - fast implementations of several interpolation-algorithms
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
* This file is based on the knob-widget of the Qwt Widget Library by
|
||||
* Josef Wilgen
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
* a class to manage loading and instantiation
|
||||
* of ladspa plugins
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Danny McRae <khjklujn@netscape.net>
|
||||
* Copyright (c) 2005 Danny McRae <khjklujn@netscape.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* lcd_spinbox.h - class lcdSpinBox, an improved QLCDNumber
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* led_checkbox.h - class ledCheckBox, an improved QCheckBox
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* midi.h - constants, structs etc. concerning MIDI
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
@@ -99,7 +100,7 @@ struct midiEvent
|
||||
union
|
||||
{
|
||||
Uint16 m_param[2]; // first/second parameter (key/velocity)
|
||||
int m_sysExDataLen; // len of m_sysExData
|
||||
Uint32 m_sysExDataLen; // len of m_sysExData
|
||||
} m_data;
|
||||
|
||||
const char * m_sysExData;
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* midi_alsa_raw.h - midi-client for RawMIDI via ALSA
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* midi_alsa_seq.h - ALSA-sequencer-client
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* midi_client.h - base-class for MIDI-clients like ALSA-sequencer-client
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* midi_dummy.h - dummy MIDI-driver
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* midi_event_processor.h - base-class for midi-processing classes
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* midi_mapper.h - MIDI-mapper for any midiDevice
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* midi_oss.h - OSS-raw-midi-client
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* midi_port.h - abstraction of MIDI-ports which are part of LMMS's MIDI-
|
||||
* sequencing system
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* midi_tab_widget.h - tab-widget in channel-track-window for setting up
|
||||
* MIDI-related stuff
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* midi_time.h - declaration of class midiTime which provides data-type for
|
||||
* position- and length-variables
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* mixer.h - audio-device-independent mixer for LMMS
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
@@ -52,20 +53,18 @@
|
||||
#include "panning.h"
|
||||
#include "note.h"
|
||||
#include "play_handle.h"
|
||||
#include "effect_board.h"
|
||||
|
||||
|
||||
class audioDevice;
|
||||
class midiClient;
|
||||
class lmmsMainWin;
|
||||
class plugin;
|
||||
class audioPort;
|
||||
|
||||
|
||||
const int DEFAULT_BUFFER_SIZE = 512;
|
||||
|
||||
const Uint16 MAX_SAMPLE_PACKETS = 256; // how many parallel audio-samples-
|
||||
// buffers shall be maximal exist and
|
||||
// mixed together?
|
||||
|
||||
const Uint8 DEFAULT_CHANNELS = 2;
|
||||
|
||||
const Uint8 SURROUND_CHANNELS =
|
||||
@@ -79,7 +78,7 @@ const Uint8 QUALITY_LEVELS = 2;
|
||||
const Uint32 DEFAULT_QUALITY_LEVEL = 0;
|
||||
const Uint32 HIGH_QUALITY_LEVEL = DEFAULT_QUALITY_LEVEL+1;
|
||||
extern Uint32 SAMPLE_RATES[QUALITY_LEVELS];
|
||||
const Uint32 DEFAULT_SAMPLE_RATE = 44100;//SAMPLE_RATES[DEFAULT_QUALITY_LEVEL];
|
||||
const Uint32 DEFAULT_SAMPLE_RATE = 44100;
|
||||
|
||||
|
||||
typedef sampleType sampleFrame[DEFAULT_CHANNELS];
|
||||
@@ -123,9 +122,10 @@ public:
|
||||
}
|
||||
|
||||
|
||||
void FASTCALL addBuffer( sampleFrame * _buf, Uint32 _frames,
|
||||
void FASTCALL bufferToPort( sampleFrame * _buf, Uint32 _frames,
|
||||
Uint32 _framesAhead,
|
||||
volumeVector & _volumeVector );
|
||||
volumeVector & _volumeVector,
|
||||
audioPort * _port );
|
||||
inline Uint32 framesPerAudioBuffer( void ) const
|
||||
{
|
||||
return( m_framesPerAudioBuffer );
|
||||
@@ -151,8 +151,31 @@ public:
|
||||
|
||||
void FASTCALL setAudioDevice( audioDevice * _dev, bool _hq );
|
||||
void restoreAudioDevice( void );
|
||||
inline audioDevice * audioDev( void )
|
||||
{
|
||||
return( m_audioDev );
|
||||
}
|
||||
|
||||
|
||||
// audio-port-stuff
|
||||
inline void addAudioPort( audioPort * _port )
|
||||
{
|
||||
pause();
|
||||
m_audioPorts.push_back( _port );
|
||||
play();
|
||||
}
|
||||
|
||||
inline void removeAudioPort( audioPort * _port )
|
||||
{
|
||||
vvector<audioPort *>::iterator it = qFind( m_audioPorts.begin(),
|
||||
m_audioPorts.end(),
|
||||
_port );
|
||||
if( it != m_audioPorts.end() )
|
||||
{
|
||||
m_audioPorts.erase( it );
|
||||
}
|
||||
}
|
||||
|
||||
// MIDI-client-stuff
|
||||
inline const QString & midiClientName( void ) const
|
||||
{
|
||||
@@ -246,22 +269,6 @@ signals:
|
||||
|
||||
|
||||
private:
|
||||
struct samplePacket
|
||||
{
|
||||
surroundSampleFrame * m_buffer; // actual buffer for
|
||||
// wave-data
|
||||
Uint32 m_frames;
|
||||
Uint32 m_framesDone;
|
||||
Uint32 m_framesAhead; // number of frames, the buffer
|
||||
// should be mixed ahead
|
||||
volume m_vol;
|
||||
panning m_pan;
|
||||
enum samplePacketStates
|
||||
{
|
||||
READY, FILLING, UNUSED
|
||||
} m_state;
|
||||
} ;
|
||||
|
||||
|
||||
static mixer * s_instanceOfMe;
|
||||
|
||||
@@ -272,40 +279,29 @@ private:
|
||||
|
||||
|
||||
// we don't allow to create mixer by using copy-ctor
|
||||
mixer( const mixer & ) :
|
||||
#ifndef QT4
|
||||
QObject(),
|
||||
#endif
|
||||
QThread(),
|
||||
m_curBuf( m_buffer1 ),
|
||||
m_nextBuf( m_buffer2 )
|
||||
mixer( const mixer & )
|
||||
{
|
||||
}
|
||||
|
||||
virtual void run( void );
|
||||
|
||||
|
||||
void FASTCALL mixSamplePacket( samplePacket * _sp );
|
||||
|
||||
|
||||
audioDevice * tryAudioDevices( void );
|
||||
midiClient * tryMIDIClients( void );
|
||||
|
||||
void processBuffer( surroundSampleFrame * _buf, fxChnl _fx_chnl );
|
||||
|
||||
|
||||
sampleFrame * m_silence;
|
||||
/* sampleFrame * m_silence;
|
||||
#ifndef DISABLE_SURROUND
|
||||
surroundSampleFrame * m_surroundSilence;// cool, silence in surround ;-)
|
||||
#endif
|
||||
#endif*/
|
||||
|
||||
|
||||
samplePacket m_samplePackets[MAX_SAMPLE_PACKETS];
|
||||
vvector<audioPort *> m_audioPorts;
|
||||
|
||||
Uint32 m_framesPerAudioBuffer;
|
||||
|
||||
surroundSampleFrame * m_buffer1;
|
||||
surroundSampleFrame * m_buffer2;
|
||||
|
||||
surroundSampleFrame * m_curBuf;
|
||||
surroundSampleFrame * m_nextBuf;
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* mmp.h - class for reading and writing multimedia-project-files
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* name_label.h - class nameLabel, a label which is renamable by
|
||||
* double-clicking it
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* note.h - declaration of class note which contains all informations about a
|
||||
* note + definitions of several constants and enums
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* note_play_handle.h - declaration of class notePlayHandle which is needed
|
||||
* by LMMS-Play-Engine
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* nstate_button.h - declaration of class nStateButton
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* oscillator.h - header-file for oscillator.cpp, a powerful oscillator-class
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* panning.h - declaration of some constants and types, concerning the
|
||||
* panning of a note
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* pattern.h - declaration of class pattern, which contains all informations
|
||||
* about a pattern
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* piano_roll.h - declaration of class pianoRoll which is a window where you
|
||||
* can set and edit notes in an easy way
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* piano_widget.h - declaration of class pianoWidget, a widget which provides
|
||||
* an interactive piano/keyboard-widget
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* pixmap_button.h - declaration of class pixmapButton
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
/*
|
||||
* play_handle.h - base-class playHandle which is needed by
|
||||
* LMMS-Play-Engine
|
||||
* LMMS-Player-Engine
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* plugin.h - class plugin, the base-class and generic interface for all plugins
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* plugin_browser.h - include file for pluginBrowser
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* preset_preview_play_handle.h - play-handle for playing a short preview-sound
|
||||
* of a preset
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* project_notes.h - header for project-notes-editor
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* qt3support.h - layer for supporting Qt3
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
234
include/qxembed.h
Normal file
234
include/qxembed.h
Normal file
@@ -0,0 +1,234 @@
|
||||
/****************************************************************************
|
||||
Definition of QXEmbed class
|
||||
|
||||
Copyright (C) 1999-2000 Troll Tech AS
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef QXEMBED_H
|
||||
#define QXEMBED_H
|
||||
|
||||
#include <qwidget.h>
|
||||
/*#include <kdelibs_export.h>*/
|
||||
|
||||
|
||||
#ifdef Q_WS_X11
|
||||
|
||||
class QXEmbedData;
|
||||
|
||||
/**
|
||||
* A QXEmbed widget serves as an embedder that can manage one single embedded
|
||||
* X-window. These so-called client windows can be arbitrary Qt or non Qt
|
||||
* applications.
|
||||
*
|
||||
* There are two different ways of using QXEmbed,
|
||||
* from the client side or from the embedder's side.
|
||||
*
|
||||
* Embedding from the client's side requires that the client knows the
|
||||
* window identifier of the respective embedder widget. Use either
|
||||
* embedClientIntoWindow() or the high-level wrapper processClientCmdline().
|
||||
* This is only possible when the client is a Qt application.
|
||||
*
|
||||
* When using it from the embedder's side, you must know the window
|
||||
* identifier of the window that should be embedded. Simply call embed()
|
||||
* with this identifier as parameter. If the client is a Qt application,
|
||||
* make sure it has called QXEmbed::initialize(). Otherwise you should
|
||||
* probably call setProtocol(XPLAIN) before embed().
|
||||
*
|
||||
* Reimplement the change handler windowChanged() to catch embedding or
|
||||
* the destruction of embedded windows. In the latter case, the
|
||||
* embedder also emits a signal embeddedWindowDestroyed() for
|
||||
* convenience.
|
||||
*
|
||||
* @short The QXEmbed widget is a graphical socket that can embed an external X-Window.
|
||||
*/
|
||||
class QXEmbed : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
*
|
||||
* Constructs a xembed widget.
|
||||
*
|
||||
* The parent, name and f arguments are passed to the QFrame
|
||||
* constructor.
|
||||
*/
|
||||
QXEmbed( QWidget *parent=0, const char *name=0, WFlags f = 0 );
|
||||
|
||||
/**
|
||||
* Destructor. Cleans up the focus if necessary.
|
||||
*/
|
||||
~QXEmbed();
|
||||
|
||||
/**
|
||||
* Embedded applications should call this function to make sure
|
||||
* they support the XEMBED protocol. It is called automatically
|
||||
* when you use embedClientIntoWindow() or
|
||||
* processClientCmdline(). Clients might have to call it
|
||||
* manually when you use embed().
|
||||
*/
|
||||
static void initialize();
|
||||
|
||||
enum Protocol { XEMBED, XPLAIN };
|
||||
|
||||
/**
|
||||
* Sets the protocol used for embedding windows.
|
||||
* This function must be called before embedding a window.
|
||||
* Protocol XEMBED provides maximal functionality (focus, tabs, etc)
|
||||
* but requires explicit cooperation from the embedded window.
|
||||
* Protocol XPLAIN provides maximal compatibility with
|
||||
* embedded applications that do not support the XEMBED protocol.
|
||||
* The default is XEMBED.
|
||||
*
|
||||
* Non KDE applications should be embedded with protocol XPLAIN.
|
||||
* This does not happen automatically yet.
|
||||
* You must call setProtocol() explicitly.
|
||||
*/
|
||||
|
||||
void setProtocol( Protocol proto );
|
||||
|
||||
/**
|
||||
* Returns the protocol used for embedding the current window.
|
||||
*
|
||||
* @return the protocol used by QXEmbed.
|
||||
*/
|
||||
|
||||
Protocol protocol();
|
||||
|
||||
/**
|
||||
* Embeds the window with the identifier w into this xembed widget.
|
||||
*
|
||||
* This function is useful if the embedder knows about the client window
|
||||
* that should be embedded. Often it is vice versa: the client knows
|
||||
* about its target embedder. In that case, it is not necessary to call
|
||||
* embed(). Instead, the client will call the static function
|
||||
* embedClientIntoWindow().
|
||||
*
|
||||
* @param w the identifier of the window to embed
|
||||
* @see embeddedWinId()
|
||||
*/
|
||||
void embed( WId w );
|
||||
|
||||
/**
|
||||
* Returns the window identifier of the embedded window, or 0 if no
|
||||
* window is embedded yet.
|
||||
*
|
||||
* @return the id of the embedded window (0 if no window is embedded)
|
||||
*/
|
||||
WId embeddedWinId() const;
|
||||
|
||||
/**
|
||||
* A function for clients that embed themselves. The widget
|
||||
* client will be embedded in the window window. The application has
|
||||
* to ensure that window is the handle of the window identifier of
|
||||
* an QXEmbed widget.
|
||||
*
|
||||
* @short #processClientCmdline()
|
||||
*/
|
||||
static void embedClientIntoWindow( QWidget* client, WId window );
|
||||
|
||||
/**
|
||||
* A utility function for clients that embed theirselves. The widget
|
||||
* client will be embedded in the window that is passed as
|
||||
* -embed command line argument.
|
||||
*
|
||||
* The function returns true on success or false if no such command line
|
||||
* parameter is specified.
|
||||
*
|
||||
* @see embedClientIntoWindow()
|
||||
*/
|
||||
static bool processClientCmdline( QWidget* client, int& argc, char ** argv );
|
||||
|
||||
/**
|
||||
* Sends a WM_DELETE_WINDOW message to the embedded window. This is what
|
||||
* typically happens when you click on the close button of a window
|
||||
* manager decoration. This should cause the embedded application to
|
||||
* cleanly close the window. Signal embeddedWindowDestroyed() can be used
|
||||
* to monitor the status of the embedded window.
|
||||
*/
|
||||
void sendDelete( void );
|
||||
|
||||
/**
|
||||
* Selects what shoud be done with the embedded window when the embedding
|
||||
* window is destroyed. When the argument is true, the embedded window is
|
||||
* kept alive, is hidden, and receives a WM_DELETE_WINDOW message using
|
||||
* sendDelete(). This is the default. Otherwise, the destruction of the
|
||||
* QXEmbed object simply destroys the embedded window.
|
||||
*
|
||||
* @see sendDelete()
|
||||
*/
|
||||
void setAutoDelete( bool );
|
||||
|
||||
/**
|
||||
* Returns the value of flag indicating what shoud be done with the
|
||||
* embedded window when the embedding window is destroyed.
|
||||
*
|
||||
* @see setAutoDelete()
|
||||
*/
|
||||
bool autoDelete() const;
|
||||
|
||||
/* Reimp */
|
||||
QSize sizeHint() const;
|
||||
QSize minimumSizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
bool eventFilter( QObject *, QEvent * );
|
||||
bool customWhatsThis() const;
|
||||
void enterWhatsThisMode(); // temporary, fix in Qt (Matthias, Mon Jul 17 15:20:55 CEST 2000 )
|
||||
virtual void reparent( QWidget * parent, WFlags f, const QPoint & p, bool showIt = false );
|
||||
|
||||
signals:
|
||||
/**
|
||||
* This signal is emitted when the embedded window has been lost (destroyed or reparented away)
|
||||
*
|
||||
* @see embeddedWinId()
|
||||
*/
|
||||
// KDE4 rename to embeddedWindowLost()
|
||||
void embeddedWindowDestroyed();
|
||||
|
||||
protected:
|
||||
bool event( QEvent * );
|
||||
void keyPressEvent( QKeyEvent * );
|
||||
void keyReleaseEvent( QKeyEvent * );
|
||||
void focusInEvent( QFocusEvent * );
|
||||
void focusOutEvent( QFocusEvent * );
|
||||
void resizeEvent(QResizeEvent *);
|
||||
void showEvent( QShowEvent * );
|
||||
bool x11Event( XEvent* );
|
||||
|
||||
/**
|
||||
* A change handler that indicates that the embedded window has been
|
||||
* changed. The window handle can also be retrieved with
|
||||
* embeddedWinId().
|
||||
*
|
||||
* @param w the handle of the window that changed
|
||||
*/
|
||||
virtual void windowChanged( WId w );
|
||||
|
||||
bool focusNextPrevChild( bool next );
|
||||
|
||||
private:
|
||||
WId window;
|
||||
QXEmbedData* d;
|
||||
void checkGrab();
|
||||
void sendSyntheticConfigureNotifyEvent();
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
@@ -2,8 +2,9 @@
|
||||
* rename_dialog.h - declaration of class renameDialog, a simple dialog for
|
||||
* changing the content of a string
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* sample_buffer.h - container-class sampleBuffer
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* sample_play_handle.h - play-handle for playing a sample
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
@@ -30,6 +31,7 @@
|
||||
|
||||
|
||||
class sampleBuffer;
|
||||
class audioPort;
|
||||
|
||||
|
||||
class samplePlayHandle : public playHandle
|
||||
@@ -60,6 +62,8 @@ private:
|
||||
|
||||
Uint32 m_frame;
|
||||
|
||||
audioPort * m_audioPort;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* sample_track.h - class sampleTrack, a track which provides arrangement of
|
||||
* samples
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
@@ -44,6 +45,7 @@
|
||||
|
||||
|
||||
class nameLabel;
|
||||
class audioPort;
|
||||
class QLabel;
|
||||
//class sampleTCOSettingsDialog;
|
||||
|
||||
@@ -144,6 +146,7 @@ public slots:
|
||||
|
||||
private:
|
||||
nameLabel * m_trackLabel;
|
||||
audioPort * m_audioPort;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* setup_dialog.h - dialog for setting up LMMS
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* side_bar.h - code for side-bar in LMMS
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* side_bar_widget.h - base-class for all side-bar-widgets
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* song_editor.h - declaration of class songEditor, a window where you can
|
||||
* setup your songs
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* spc_bg_hndl_widget.h - class specialBgHandlingWidget
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* string_pair_drag.h - class stringPairDrag which provides general support
|
||||
* for drag'n'drop of string-pairs
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
* position of a channel + calculation of volume for each
|
||||
* speaker
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* tab_bar.h - class tabBar
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* tab_button.h - declaration of class tabButton
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* tab_widget.h - LMMS-tabwidget
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* templates.h - miscellanous templates and algorithms
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
/*
|
||||
* tempo_sync_knob.h - adds bpm to ms conversion for knob class
|
||||
*
|
||||
* This derived from the knob-widget by Tobias Doerffel
|
||||
* Copyright (c) 2005 Danny McRae <khjklujn@yahoo.com>
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Danny McRae <khjklujn@yahoo.com>
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* text_float.h - class textFloat, a floating text-label
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* timeline.h - class timeLine, representing a time-line with position marker
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* tooltip.h - namespace toolTip, a tooltip-wrapper for LMMS
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* track.h - declaration of classes concerning tracks -> neccessary for all
|
||||
* track-like objects (beat/bassline, sample-track...)
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* track_container.h - base-class for all track-containers like Song-Editor,
|
||||
* BB-Editor...
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* types.h - typedefs for common types that are used in the whole app
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* visualization_widget.h - widget for visualization of waves
|
||||
* visualization_widget.h - widget for visualization of sound-data
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
* volume.h - declaration of some constants and types, concerning the volume
|
||||
* of a note
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
if HAVE_LIBFST
|
||||
if VST_SUPPORT
|
||||
VESTIGE_SUBDIR=vestige
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/*
|
||||
* audio_file_processor.cpp - instrument for using audio-files
|
||||
*
|
||||
* Linux MultiMedia Studio
|
||||
* Copyright (c) 2004-2005 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user