drumstick-0.5.0/0000755000175000001440000000000011442134500012543 5ustar pedrousersdrumstick-0.5.0/drumstick.spec.in0000644000175000001440000001212111442134500016026 0ustar pedrousers# # spec file for package drumstick (Version @VERSION@) # # MIDI Sequencer C++ Library Bindings for Qt4 and ALSA # Copyright (C) 2005-2010 Pedro Lopez-Cabanillas # # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # norootforbuild Name: drumstick Version: @VERSION@ Release: 1 License: GPL v2 or later Summary: MIDI Sequencer C++ Library Bindings Group: Productivity/Multimedia/Sound/Midi URL: http://drumstick.sourceforge.net Source: %{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cmake BuildRequires: alsa-devel BuildRequires: libqt4-devel BuildRequires: doxygen BuildRequires: graphviz BuildRequires: update-desktop-files BuildRequires: libxslt BuildRequires: docbook_4 BuildRequires: docbook-xsl-stylesheets PreReq: shared-mime-info %description This package includes test and example programs for drumstick libraries. Authors: -------- Pedro Lopez-Cabanillas %package -n libdrumstick-file0 Summary: MIDI Sequencer C++ Library Group: System/Libraries %description -n libdrumstick-file0 MIDI Sequencer C++ Library Bindings for Qt4 and ALSA. This library includes classes providing file input and output in formats commonly used by MIDI programs. Currently, SMF (standard MIDI file) read/write and WRK (Cakewalk) file read are supported. This library does not depend on ALSA. Authors: -------- Pedro Lopez-Cabanillas %package -n libdrumstick-alsa0 Summary: MIDI Sequencer C++ Library Group: System/Libraries %description -n libdrumstick-alsa0 MIDI Sequencer C++ Library Bindings for Qt4 and ALSA. This library includes the ALSA Sequencer library classes, providing MIDI recording and playback functionality to C++/Qt4 programs. Authors: -------- Pedro Lopez-Cabanillas %package -n libdrumstick-devel Summary: Development package for the libdrumstick library Group: Development/Libraries/C and C++ Requires: libdrumstick-file0 = %{version} Requires: libdrumstick-alsa0 = %{version} Requires: glibc-devel libstdc++-devel alsa-devel libqt4-devel %description -n libdrumstick-devel This package contains the files needed to compile programs that use the libdrumstick libraries. Authors: -------- Pedro Lopez-Cabanillas %package -n libdrumstick-doc Summary: Development documentation package for the drumstick libraries Group: Documentation/Other %description -n libdrumstick-doc This package contains the developer's documentation of the drumstick libraries. Authors: -------- Pedro Lopez-Cabanillas %prep %setup -q %build CXXFLAGS="$RPM_OPT_FLAGS -g -fexceptions" \ cmake . -DSTATIC_DRUMSTICK=0 \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DLIB_SUFFIX=$(echo %_lib | cut -b4-) make %{?jobs:-j %jobs} VERBOSE=1 make doxygen %install make install DESTDIR=$RPM_BUILD_ROOT %suse_update_desktop_file -n drumstick-drumgrid Midi %suse_update_desktop_file -n drumstick-guiplayer Midi %suse_update_desktop_file -n drumstick-vpiano Midi %post %{_bindir}/update-mime-database %{_datadir}/mime %postun %{_bindir}/update-mime-database %{_datadir}/mime %post -n libdrumstick-file0 -p /sbin/ldconfig %postun -n libdrumstick-file0 -p /sbin/ldconfig %post -n libdrumstick-alsa0 -p /sbin/ldconfig %postun -n libdrumstick-alsa0 -p /sbin/ldconfig %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, root) %doc AUTHORS COPYING NEWS README TODO ChangeLog %doc %{_mandir}/* %{_datadir}/icons/hicolor/*/*/* %{_datadir}/applications/* %{_bindir}/* %files -n libdrumstick-file0 %defattr(-,root,root) %{_libdir}/libdrumstick-file.so.* %{_datadir}/mime/packages/* %files -n libdrumstick-alsa0 %defattr(-,root,root) %{_libdir}/libdrumstick-alsa.so.* %files -n libdrumstick-devel %defattr(-, root, root) %dir %{_includedir}/drumstick %{_libdir}/libdrumstick-file.so %{_libdir}/libdrumstick-alsa.so %{_includedir}/drumstick.h %{_includedir}/drumstick/*.h %{_libdir}/pkgconfig/*.pc %files -n libdrumstick-doc %defattr(-, root, root) %doc doc/html/* %changelog * Thu Sep 9 2010 Pedro Lopez-Cabanillas 0.5.0 - New version * Tue Jul 13 2010 Pedro Lopez-Cabanillas 0.4.1 - New version * Wed Jul 7 2010 Pedro Lopez-Cabanillas 0.4.0 - New version * Thu Jun 10 2010 Pedro Lopez-Cabanillas 0.3.2 - New version * Mon Apr 19 2010 Pedro Lopez-Cabanillas 0.3.1 - New version * Tue Mar 9 2010 Pedro Lopez-Cabanillas 0.3.0 - New version * Sun Dec 27 2009 Pedro Lopez-Cabanillas 0.2.0 - New version * Thu Dec 17 2009 Pedro Lopez-Cabanillas 0.1.0-2 - tweaks * Thu Aug 27 2009 Pedro Lopez-Cabanillas 0.1.0 - first public release drumstick-0.5.0/configure_dbg0000755000175000001440000000040011442134500015260 0ustar pedrousers#!/bin/bash # a typical configuration for development usage... mkdir -p build cd build cmake .. -DCMAKE_CXX_FLAGS="-W -Wall" \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DSTATIC_DRUMSTICK=YES \ -DUSE_DBUS=YES \ -DENABLE_PCH=NO $* drumstick-0.5.0/chkcoverage0000755000175000001440000000062011442134500014750 0ustar pedrousers#!/bin/bash echo "List of ALSA sequencer/midi/timer symbols not yet wrapped by drumstick" K=0 objdump -t -j *UND* build/library/libdrumstick.a | awk '{print $4}' | grep "^snd" > lib.txt nm --defined-only -D /usr/lib/libasound.so | awk '{print $3}'| egrep "^snd_(seq|midi|timer)" |\ while read W; do grep -q $W lib.txt if [ "$?" != "0" ]; then let K++ echo "$K $W" fi done rm -f lib.txt drumstick-0.5.0/configure0000755000175000001440000000040011442134500014444 0ustar pedrousers#!/bin/bash # a typical configuration for production usage... mkdir -p build cd build cmake .. -DCMAKE_CXX_FLAGS="-W -Wall" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DSTATIC_DRUMSTICK=NO \ -DUSE_DBUS=YES \ -DENABLE_PCH=NO $* drumstick-0.5.0/drumstick.xml0000644000175000001440000000176011442134500015276 0ustar pedrousers Cakewalk project file Cakewalk project file Archivo de proyecto Cakewalk Overture project file Overture project file Archivo de proyecto Overture drumstick-0.5.0/doc/0000755000175000001440000000000011442134500013310 5ustar pedrousersdrumstick-0.5.0/doc/drumstick-dumpwrk.xml.in0000644000175000001440000000771511442134477020162 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility for decoding WRK (Cakewalk) files. Synopsis &product; options FILE Description This program is a Drumstick example and utility program. You can use it to decode as text your WRK files created with Cakewalk or Sonar. Arguments The following argument is required: The name of the input WRK file. The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. Verbose output. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-dumpsmf 1 , drumstick-dumpove 1 drumstick-0.5.0/doc/drumstick-playsmf.xml.in0000644000175000001440000001014411442134477020132 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility for playing standard MIDI files. Synopsis &product; options PORT FILE Description This program is a Drumstick example and utility program. You can use it to play standard MIDI files without GUI controls. Arguments The following arguments are required: An ALSA client:port specification that will be subscribed in order to send MIDI events to it. The client portion can be a number or a name, like in "20:0" or "KMidimon:0". The name of the input SMF. The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-dumpmid 1 , drumstick-guiplayer 1 drumstick-0.5.0/doc/drumstick-testevents.xml.in0000644000175000001440000000642511442134477020672 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility for testing ALSA sequencer events. Synopsis &product; Description This program is a Drumstick example and utility program. You can use it to test ALSA sequencer events. Arguments The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-timertest 1 , drumstick-sysinfo 1 drumstick-0.5.0/doc/drumstick-dumpsmf.xml.in0000644000175000001440000000772211442134477020142 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility for decoding standard MIDI files. Synopsis &product; options FILE Description This program is a Drumstick example and utility program. You can use it to decode a standard MIDI file as text. Arguments The following argument is required: The name of the input SMF. The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-buildsmf 1 , drumstick-playsmf 1 , drumstick-dumpwrk 1 , drumstick-dumpove 1 drumstick-0.5.0/doc/doxygen.css0000644000175000001440000001310411442134477015513 0ustar pedrousersbody, table, div, p, dl { font-family: Lucida, Verdana, Geneva, Arial, sans-serif; /* font-size: 12px; */ } /* @group Heading Levels */ h1 { text-align: center; font-size: 150%; } h2 { font-size: 120%; } h3 { font-size: 100%; } /* @end */ caption { font-weight: bold; } div.qindex, div.navtab{ background-color: #e8eef2; border: 1px solid #84b0c7; text-align: center; margin: 2px; padding: 2px; } div.qindex, div.navpath { width: 100%; line-height: 140%; } div.navtab { margin-right: 15px; } /* @group Link Styling */ a { color: #153788; font-weight: normal; text-decoration: none; } .contents a:visited { color: #1b77c5; } a:hover { text-decoration: underline; } a.qindex { font-weight: bold; } a.qindexHL { font-weight: bold; background-color: #6666cc; color: #ffffff; border: 1px double #9295C2; } .contents a.qindexHL:visited { color: #ffffff; } a.el { font-weight: bold; } a.elRef { } a.code { } a.codeRef { } /* @end */ dl.el { margin-left: -1cm; } .fragment { font-family: monospace, fixed; font-size: 105%; } pre.fragment { border: 1px solid #CCCCCC; background-color: #f5f5f5; padding: 4px 6px; margin: 4px 8px 4px 2px; } div.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } div.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold; } div.groupText { margin-left: 16px; font-style: italic; } body { background: white; color: black; margin-right: 20px; margin-left: 20px; } td.indexkey { background-color: #e8eef2; font-weight: bold; border: 1px solid #CCCCCC; margin: 2px 0px 2px 0; padding: 2px 10px; } td.indexvalue { background-color: #e8eef2; border: 1px solid #CCCCCC; padding: 2px 10px; margin: 2px 0px; } tr.memlist { background-color: #f0f0f0; } p.formulaDsp { text-align: center; } img.formulaDsp { } img.formulaInl { vertical-align: middle; } /* @group Code Colorization */ span.keyword { color: #008000 } span.keywordtype { color: #604020 } span.keywordflow { color: #e08000 } span.comment { color: #800000 } span.preprocessor { color: #806020 } span.stringliteral { color: #002080 } span.charliteral { color: #008080 } span.vhdldigit { color: #ff00ff } span.vhdlchar { color: #000000 } span.vhdlkeyword { color: #700070 } span.vhdllogic { color: #ff0000 } /* @end */ .search { color: #003399; font-weight: bold; } form.search { margin-bottom: 0px; margin-top: 0px; } input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #e8eef2; } td.tiny { font-size: 75%; } .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #84b0c7; } th.dirtab { background: #e8eef2; font-weight: bold; } hr { height: 0; border: none; border-top: 1px solid #666; } /* @group Member Descriptions */ .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { background-color: #FAFAFA; border: none; margin: 4px; padding: 1px 0 0 8px; } .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; color: #555; } .memItemLeft, .memItemRight, .memTemplParams { border-top: 1px solid #ccc; } .memTemplParams { color: #606060; } /* @end */ /* @group Member Details */ /* Styles for detailed member documentation */ .memtemplate { font-size: 80%; color: #606060; font-weight: normal; margin-left: 3px; } .memnav { background-color: #e8eef2; border: 1px solid #84b0c7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } .memitem { padding: 0; } .memname { white-space: nowrap; font-weight: bold; } .memproto, .memdoc { border: 1px solid #84b0c7; } .memproto { padding: 0; background-color: #d5e1e8; font-weight: bold; -webkit-border-top-left-radius: 8px; -webkit-border-top-right-radius: 8px; -moz-border-radius-topleft: 8px; -moz-border-radius-topright: 8px; } .memdoc { padding: 2px 5px; background-color: #eef3f5; border-top-width: 0; -webkit-border-bottom-left-radius: 8px; -webkit-border-bottom-right-radius: 8px; -moz-border-radius-bottomleft: 8px; -moz-border-radius-bottomright: 8px; } .paramkey { text-align: right; } .paramtype { white-space: nowrap; } .paramname { color: #602020; white-space: nowrap; } .paramname em { font-style: normal; } /* @end */ /* @group Directory (tree) */ /* for the tree view */ .ftvtree { font-family: sans-serif; margin: 0.5em; } /* these are for tree view when used as main index */ .directory { font-size: 9pt; font-weight: bold; } .directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } /* The following two styles can be used to replace the root node title with an image of your choice. Simply uncomment the next two styles, specify the name of your image and be sure to set 'height' to the proper pixel height of your image. */ /* .directory h3.swap { height: 61px; background-repeat: no-repeat; background-image: url("yourimage.gif"); } .directory h3.swap span { display: none; } */ .directory > h3 { margin-top: 0; } .directory p { margin: 0px; white-space: nowrap; } .directory div { display: none; margin: 0px; } .directory img { vertical-align: -30%; } /* these are for tree view when not used as main index */ .directory-alt { font-size: 100%; font-weight: bold; } .directory-alt h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } .directory-alt > h3 { margin-top: 0; } .directory-alt p { margin: 0px; white-space: nowrap; } .directory-alt div { display: none; margin: 0px; } .directory-alt img { vertical-align: -30%; } /* @end */ address { font-style: normal; color: #333; } drumstick-0.5.0/doc/CMakeLists.txt0000644000175000001440000000652011442134477016070 0ustar pedrousers# MIDI Sequencer C++ Library # Copyright (C) 2008-2010 Pedro Lopez-Cabanillas # # 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 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; If not, see . FIND_PROGRAM(XSLTPROC_EXECUTABLE xsltproc) IF(XSLTPROC_EXECUTABLE) MESSAGE(STATUS "XSLTPROC Found: ${XSLTPROC_EXECUTABLE}") CONFIGURE_FILE(drumstick-buildsmf.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-buildsmf.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-drumgrid.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-drumgrid.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-dumpmid.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-dumpmid.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-dumpove.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-dumpove.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-dumpsmf.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-dumpsmf.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-dumpwrk.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-dumpwrk.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-metronome.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-metronome.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-playsmf.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-playsmf.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-guiplayer.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-guiplayer.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-sysinfo.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-sysinfo.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-testevents.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-testevents.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-timertest.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-timertest.xml IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-vpiano.xml.in ${CMAKE_CURRENT_BINARY_DIR}/drumstick-vpiano.xml IMMEDIATE @ONLY) INCLUDE(CreateManpages) CREATE_MANPAGES ( ${CMAKE_CURRENT_BINARY_DIR}/drumstick-buildsmf.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-drumgrid.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-dumpmid.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-dumpove.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-dumpsmf.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-dumpwrk.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-metronome.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-playsmf.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-guiplayer.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-sysinfo.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-testevents.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-timertest.xml ${CMAKE_CURRENT_BINARY_DIR}/drumstick-vpiano.xml ) ELSE(XSLTPROC_EXECUTABLE) MESSAGE(STATUS "Warning: XSLTPROC NOT Found. Man pages won't be installed") ENDIF(XSLTPROC_EXECUTABLE) drumstick-0.5.0/doc/drumstick-vpiano.xml.in0000644000175000001440000002573111442134477017763 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick GUI virtual piano utility. Synopsis &product; FILE options... Description This program is a Drumstick example and utility program. You can use it to play and watch a virtual piano. Arguments The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. style sets the application GUI style. Possible values are motif, windows, and platinum. If you compiled Qt with additional styles or have additional styles as plugins these will be available to the -style command line option stylesheet sets the application styleSheet. The value must be a path to a file that contains the Style Sheet. Note: Relative URLs in the Style Sheet file are relative to the Style Sheet file's path. session restores the application from an earlier session. prints debug message at the end about number of widgets left undestroyed and maximum number of widgets existed at the same time sets the application's layout direction to Qt::RightToLeft sets the backend to be used for on-screen widgets and QPixmaps. Available options are raster and opengl. display sets the X display (default is $DISPLAY). geometry sets the client geometry of the first window that is shown. font defines the application font. The font should be specified using an X logical font description. color sets the default background color and an application palette (light and dark shades are calculated). color sets the default foreground color. color sets the default button color. name sets the application name. title sets the application title. forces the application to use a TrueColor visual on an 8-bit display. count limits the number of colors allocated in the color cube on an 8-bit display, if the application is using the QApplication::ManyColor color specification. If count is 216 then a 6x6x6 color cube is used (i.e. 6 levels of red, 6 of green, and 6 of blue); for other values, a cube approximately proportional to a 2x3x1 cube is used. causes the application to install a private color map on an 8-bit display. sets the input method server (equivalent to setting the XMODIFIERS environment variable) defines how the input is inserted into the given widget, e.g., onTheSpot makes the input appear directly in the widget, while overTheSpot makes the input appear in a box floating over the widget and is not inserted until the editing is done. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-drumgrid 1 , drumstick-guiplayer 1 drumstick-0.5.0/doc/drumstick-metronome.xml.in0000644000175000001440000001013411442134500020446 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility for playing a metronome pattern. Synopsis &product; options PORT BPM Description This program is a Drumstick example and utility program. You can use it to play a MIDI metronome pattern. Arguments The following arguments are required: An ALSA client:port specification that will be subscribed in order to send MIDI events to it. The client portion can be a number or a name, like in "20:0" or "KMidimon:0". The following arguments are optional: Tempo in beats per minute. Prints a summary of the command-line options and exit. Prints the program version number and exit. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-dumpmid 1 , drumstick-playsmf 1 drumstick-0.5.0/doc/drumstick-xxxx.xml.in0000644000175000001440000002634511442134500017473 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick utility for xxxx. Synopsis &product; FILE options... Description This program is a Drumstick example and utility program. You can use it to xxxx. Arguments The following arguments are required: The name of the xxxx file. The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. style sets the application GUI style. Possible values are motif, windows, and platinum. If you compiled Qt with additional styles or have additional styles as plugins these will be available to the -style command line option stylesheet sets the application styleSheet. The value must be a path to a file that contains the Style Sheet. Note: Relative URLs in the Style Sheet file are relative to the Style Sheet file's path. session restores the application from an earlier session. prints debug message at the end about number of widgets left undestroyed and maximum number of widgets existed at the same time sets the application's layout direction to Qt::RightToLeft sets the backend to be used for on-screen widgets and QPixmaps. Available options are raster and opengl. display sets the X display (default is $DISPLAY). geometry sets the client geometry of the first window that is shown. font defines the application font. The font should be specified using an X logical font description. color sets the default background color and an application palette (light and dark shades are calculated). color sets the default foreground color. color sets the default button color. name sets the application name. title sets the application title. forces the application to use a TrueColor visual on an 8-bit display. count limits the number of colors allocated in the color cube on an 8-bit display, if the application is using the QApplication::ManyColor color specification. If count is 216 then a 6x6x6 color cube is used (i.e. 6 levels of red, 6 of green, and 6 of blue); for other values, a cube approximately proportional to a 2x3x1 cube is used. causes the application to install a private color map on an 8-bit display. sets the input method server (equivalent to setting the XMODIFIERS environment variable) defines how the input is inserted into the given widget, e.g., onTheSpot makes the input appear directly in the widget, while overTheSpot makes the input appear in a box floating over the widget and is not inserted until the editing is done. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-yyyy 1 , drumstick-zzzz 1 drumstick-0.5.0/doc/drumstick-dumpove.xml.in0000644000175000001440000000766011442134500020132 0ustar pedrousers ]> &product; Rui Fan vanferry@gmail.com 2010 Rui Fan Aug 31, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility for decoding OVE (Overture) files. Synopsis &product; options FILE Description This program is a Drumstick example and utility program. You can use it to decode as text your OVE files created with Overture. Arguments The following arguments are required: The name of the Overture file. The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. Verbose output. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-dumpsmf 1 , drumstick-dumpwrk 1 drumstick-0.5.0/doc/drumstick-buildsmf.xml.in0000644000175000001440000000725011442134500020253 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility for building a simple SMF (Standard MIDI File). Synopsis &product; options FILE Description This program is a Drumstick example and utility program. You can use it to build a SMF containing a simple C Major scale, that could be used as input for other Drumstick utilities. Arguments Prints a summary of the command-line options and exit. Prints the program version number and exit. The following argument is required: The name of the output SMF file. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-dumpsmf 1 , drumstick-playsmf 1 drumstick-0.5.0/doc/drumstick-dumpmid.xml.in0000644000175000001440000000736511442134500020114 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility for decoding MIDI events. Synopsis &product; options PORT Description This program is a Drumstick example and utility program. You can use it to decode standard MIDI events as text. Arguments The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. An ALSA client:port specification that will be subscribed in order to read MIDI events from it. The client portion can be a number or a name, like in "20:0" or "Virtual Piano:0". License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-playsmf 1 , drumstick-vpiano 1 drumstick-0.5.0/doc/drumstick-drumgrid.xml.in0000644000175000001440000002567411442134500020275 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick utility emulating a drum box. Synopsis &product; Standard options... Description This program is a Drumstick example and utility program. You can use it to create and play drum patterns. Arguments The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. style sets the application GUI style. Possible values are motif, windows, and platinum. If you compiled Qt with additional styles or have additional styles as plugins these will be available to the -style command line option stylesheet sets the application styleSheet. The value must be a path to a file that contains the Style Sheet. Note: Relative URLs in the Style Sheet file are relative to the Style Sheet file's path. session restores the application from an earlier session. prints debug message at the end about number of widgets left undestroyed and maximum number of widgets existed at the same time sets the application's layout direction to Qt::RightToLeft sets the backend to be used for on-screen widgets and QPixmaps. Available options are raster and opengl. display sets the X display (default is $DISPLAY). geometry sets the client geometry of the first window that is shown. font defines the application font. The font should be specified using an X logical font description. color sets the default background color and an application palette (light and dark shades are calculated). color sets the default foreground color. color sets the default button color. name sets the application name. title sets the application title. forces the application to use a TrueColor visual on an 8-bit display. count limits the number of colors allocated in the color cube on an 8-bit display, if the application is using the QApplication::ManyColor color specification. If count is 216 then a 6x6x6 color cube is used (i.e. 6 levels of red, 6 of green, and 6 of blue); for other values, a cube approximately proportional to a 2x3x1 cube is used. causes the application to install a private color map on an 8-bit display. sets the input method server (equivalent to setting the XMODIFIERS environment variable) defines how the input is inserted into the given widget, e.g., onTheSpot makes the input appear directly in the widget, while overTheSpot makes the input appear in a box floating over the widget and is not inserted until the editing is done. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-guiplayer 1 , drumstick-vpiano 1 drumstick-0.5.0/doc/drumstick-guiplayer.xml.in0000644000175000001440000002641011442134500020446 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick GUI utility for playing MIDI files. Synopsis &product; options... FILE Description This program is a Drumstick example and utility program. You can use it to play Standard MIDI Files and Cakewalk WRK files with GUI controls. Arguments The following arguments are optional: The name of the input SMF (mid/kar) or Cakewalk (wrk) file. Prints a summary of the command-line options and exit. Prints the program version number and exit. style sets the application GUI style. Possible values are motif, windows, and platinum. If you compiled Qt with additional styles or have additional styles as plugins these will be available to the -style command line option stylesheet sets the application styleSheet. The value must be a path to a file that contains the Style Sheet. Note: Relative URLs in the Style Sheet file are relative to the Style Sheet file's path. session restores the application from an earlier session. prints debug message at the end about number of widgets left undestroyed and maximum number of widgets existed at the same time sets the application's layout direction to Qt::RightToLeft sets the backend to be used for on-screen widgets and QPixmaps. Available options are raster and opengl. display sets the X display (default is $DISPLAY). geometry sets the client geometry of the first window that is shown. font defines the application font. The font should be specified using an X logical font description. color sets the default background color and an application palette (light and dark shades are calculated). color sets the default foreground color. color sets the default button color. name sets the application name. title sets the application title. forces the application to use a TrueColor visual on an 8-bit display. count limits the number of colors allocated in the color cube on an 8-bit display, if the application is using the QApplication::ManyColor color specification. If count is 216 then a 6x6x6 color cube is used (i.e. 6 levels of red, 6 of green, and 6 of blue); for other values, a cube approximately proportional to a 2x3x1 cube is used. causes the application to install a private color map on an 8-bit display. sets the input method server (equivalent to setting the XMODIFIERS environment variable) defines how the input is inserted into the given widget, e.g., onTheSpot makes the input appear directly in the widget, while overTheSpot makes the input appear in a box floating over the widget and is not inserted until the editing is done. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-drumgrid 1 , drumstick-vpiano 1 drumstick-0.5.0/doc/drumstick-timertest.xml.in0000644000175000001440000000642611442134500020472 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility for testing ALSA timers. Synopsis &product; Description This program is a Drumstick example and utility program. You can use it to report and test the available ALSA timers. Arguments The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-sysinfo 1 , drumstick-testevents 1 drumstick-0.5.0/doc/drumstick-sysinfo.xml.in0000644000175000001440000000647411442134500020147 0ustar pedrousers ]> &product; Pedro Lopez-Cabanillas plcl@users.sf.net 2010 Pedro Lopez-Cabanillas May 13, 2010 &product; 1 @VERSION@ drumstick User Commands &product; A Drumstick command line utility to get information about the ALSA sequencer. Synopsis &product; Description This program is a Drumstick example and utility program. You can use it to build a report containing useful information about the ALSA sequencer. Arguments The following arguments are optional: Prints a summary of the command-line options and exit. Prints the program version number and exit. License Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, considering as source code any files used for the production of this manpage. See also drumstick-timertest 1 , drumstick-testevents 1 drumstick-0.5.0/COPYING0000644000175000001440000004313611442134500013605 0ustar pedrousers GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. drumstick-0.5.0/TODO0000644000175000001440000000066211442134500013237 0ustar pedrousersFunctions from ALSA library reported by chkcoverage. The following functions won't be used in drumstick. MISC (event filter) snd_seq_change_bit snd_seq_get_bit snd_seq_set_bit snd_seq_unset_bit CLIENT - private functions snd_seq_hw_open snd_seq_hw_ops snd_seq_create_event snd_seq_event_types TIMER - private functions snd_timer_async snd_timer_name snd_timer_hw_open snd_timer_nonblock snd_timer_query_hw_open snd_timer_type drumstick-0.5.0/CMakeLists.txt0000644000175000001440000001622311442134500015307 0ustar pedrousers# MIDI Sequencer C++ Library # Copyright (C) 2005-2010 Pedro Lopez-Cabanillas # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA # The name of our project is "DRUMSTICK". CMakeLists files in this project can # refer to the root source directory of the project as ${DRUMSTICK_SOURCE_DIR} # and to the root binary directory of the project as ${DRUMSTICK_BINARY_DIR} PROJECT(DRUMSTICK) # CMake minimum version CMAKE_MINIMUM_REQUIRED(VERSION 2.6) IF(COMMAND CMAKE_POLICY) CMAKE_POLICY(SET CMP0003 NEW) ENDIF(COMMAND CMAKE_POLICY) IF(CMAKE_SIZEOF_VOID_P MATCHES "8") SET(_INIT_LIB_SUFFIX "64") ELSE(CMAKE_SIZEOF_VOID_P MATCHES "8") SET(_INIT_LIB_SUFFIX "") ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "8") SET(LIB_SUFFIX ${_INIT_LIB_SUFFIX} CACHE STRING "optional library install directory suffix: 32, 64, none") #Comment out if relative paths break the link scripts #SET(CMAKE_USE_RELATIVE_PATHS OFF) # Assorted settings SET(CMAKE_COLOR_MAKEFILE ON) SET(CMAKE_INCLUDE_CURRENT_DIR TRUE) #SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) SET(CMAKE_SKIP_RULE_DEPENDENCY FALSE) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) # Additional CMake modules for 3rd party library checks reside here SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake_admin") # DRUMSTICK version string SET (VERSION_MAJOR "0") SET (VERSION_MINOR "5") SET (VERSION_PATCH "0") SET (VERSION_SUFFIX "") SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${VERSION_SUFFIX}) MESSAGE(STATUS "drumstick ${VERSION} prefix: ${CMAKE_INSTALL_PREFIX}") # User options OPTION(STATIC_DRUMSTICK "Build static libraries instead of dynamic" OFF) OPTION(USE_DBUS "Include DBus support (required for RealtimeKit)" ON) MESSAGE(STATUS "Build configuration: ${CMAKE_BUILD_TYPE}") # LIBRARY BUILD TYPE IF(STATIC_DRUMSTICK) SET(BUILD_SHARED_LIBS OFF) add_definitions (-DDRUMSTICK_STATIC) MESSAGE(STATUS "Building static libraries") ELSE(STATIC_DRUMSTICK) SET(BUILD_SHARED_LIBS ON) MESSAGE(STATUS "Building dynamic libraries") ENDIF(STATIC_DRUMSTICK) # Check for Qt SET(QT_MIN_VERSION "4.4.0") FIND_PACKAGE(Qt4 REQUIRED) IF(QT4_FOUND) MESSAGE (STATUS "Found Qt4 ${QT_EDITION} version = ${QTVERSION}") SET (QT_USE_QTSVG TRUE) IF (USE_DBUS) SET(QT_USE_QTDBUS TRUE) ADD_DEFINITIONS(-DRTKIT_SUPPORT) ENDIF (USE_DBUS) INCLUDE (${QT_USE_FILE}) INCLUDE_DIRECTORIES (${QT_INCLUDES}) LINK_DIRECTORIES (${QT_LIBRARY_DIR}) LINK_LIBRARIES (${QT_LIBRARIES}) ADD_DEFINITIONS (-DQT_STRICT_ITERATORS) ELSE(QT4_FOUND) MESSAGE(FATAL_ERROR "Qt4 not found") ENDIF(QT4_FOUND) # Check for PKG-CONFIG FIND_PACKAGE(PkgConfig REQUIRED) IF(PKG_CONFIG_FOUND) MESSAGE(STATUS "Program pkg-config found (${PKG_CONFIG_EXECUTABLE})") ELSE(PKG_CONFIG_FOUND) MESSAGE(FATAL_ERROR "Program pkg-config not found") ENDIF(PKG_CONFIG_FOUND) # Initialize some variables SET(HAVE_ALSA FALSE) # Check for ALSA 1.0.0 PKG_CHECK_MODULES(ALSA alsa>=1.0.0) IF(ALSA_FOUND) SET(HAVE_ALSA TRUE) ADD_DEFINITIONS(-DHAVE_ALSA) SET(ALSA_LIBS ${ALSA_LIBRARIES}) LIST(APPEND ALSA_LIB_DIR ${ALSA_LIBRARY_DIRS} ${ALSA_LIBDIR}) LIST(APPEND ALSA_INC_DIR ${ALSA_INCLUDE_DIRS} ${ALSA_INCLUDEDIR}) ELSE(ALSA_FOUND) MESSAGE(STATUS "Warning: ALSA library not found.") ENDIF(ALSA_FOUND) LINK_DIRECTORIES ( ${DRUMSTICK_BINARY_DIR}/lib ${ALSA_LIB_DIR} ) INCLUDE_DIRECTORIES ( BEFORE ${DRUMSTICK_SOURCE_DIR}/library ${DRUMSTICK_SOURCE_DIR}/library/include ${ALSA_INC_DIR} ) if (CMAKE_COMPILER_IS_GNUCXX) # exceptions are needed by this library, please don't try to disable them! set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -UQT_NO_EXCEPTIONS") if (NOT WIN32) include (CheckCXXCompilerFlag) check_cxx_compiler_flag (-fvisibility=hidden _HAVE_GCC_VISIBILITY) if (_HAVE_GCC_VISIBILITY) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") endif (_HAVE_GCC_VISIBILITY) set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed") endif (NOT WIN32) endif (CMAKE_COMPILER_IS_GNUCXX) ADD_SUBDIRECTORY(library) ADD_SUBDIRECTORY(utils) ADD_SUBDIRECTORY(icons) IF(${CMAKE_SYSTEM} MATCHES "Linux") FIND_PACKAGE(Doxygen) IF(DOXYGEN_FOUND) CONFIGURE_FILE( "${CMAKE_SOURCE_DIR}/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" IMMEDIATE @ONLY) ADD_CUSTOM_TARGET ( doxygen ${DOXYGEN} Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ) ENDIF(DOXYGEN_FOUND) ADD_SUBDIRECTORY(doc) ENDIF(${CMAKE_SYSTEM} MATCHES "Linux") CONFIGURE_FILE(drumstick-alsa.pc.in drumstick-alsa.pc IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick-file.pc.in drumstick-file.pc IMMEDIATE @ONLY) CONFIGURE_FILE(drumstick.spec.in drumstick.spec IMMEDIATE @ONLY) INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/drumstick-file.pc ${CMAKE_CURRENT_BINARY_DIR}/drumstick-alsa.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig ) # XML mime types set( SHARED_MIME_INFO_MINIMUM_VERSION "0.30" ) set( XDG_MIME_INSTALL_DIR "share/mime/packages" ) find_package( SharedMimeInfo ) if( SHARED_MIME_INFO_FOUND ) install( FILES drumstick.xml DESTINATION ${XDG_MIME_INSTALL_DIR} ) update_xdg_mimetypes( ${XDG_MIME_INSTALL_DIR} ) endif( SHARED_MIME_INFO_FOUND ) # uninstall custom target CONFIGURE_FILE( "${CMAKE_SOURCE_DIR}/cmake_admin/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) ADD_CUSTOM_TARGET ( uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") IF(${CMAKE_SYSTEM} MATCHES "Linux") # tarball target ADD_CUSTOM_TARGET ( tarball COMMAND mkdir -p drumstick-${VERSION} COMMAND cp -r cmake_admin drumstick-${VERSION} COMMAND cp -r library drumstick-${VERSION} COMMAND cp -r utils drumstick-${VERSION} COMMAND cp -r doc drumstick-${VERSION} COMMAND cp -r icons drumstick-${VERSION} COMMAND cp CMakeLists.txt AUTHORS COPYING ChangeLog INSTALL NEWS README TODO drumstick*.in drumstick.pro drumstick.xml configure* Doxyfile.in link-drumstick chkcoverage drumstick-${VERSION} COMMAND tar -cj --exclude=.[a-z]* -f drumstick-${VERSION}.tar.bz2 drumstick-${VERSION} COMMAND tar -cz --exclude=.[a-z]* -f drumstick-${VERSION}.tar.gz drumstick-${VERSION} COMMAND rm -rf drumstick-${VERSION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) ENDIF(${CMAKE_SYSTEM} MATCHES "Linux") drumstick-0.5.0/cmake_admin/0000755000175000001440000000000011442134473015004 5ustar pedrousersdrumstick-0.5.0/cmake_admin/FindSharedMimeInfo.cmake0000644000175000001440000000561511442134473021450 0ustar pedrousers# - Try to find the shared-mime-info package # # SHARED_MIME_INFO_MINIMUM_VERSION - Set this to the minimum version you need, default is 0.18 # # Once done this will define # # SHARED_MIME_INFO_FOUND - system has the shared-mime-info package # UPDATE_MIME_DATABASE_EXECUTABLE - the update-mime-database executable # Copyright (c) 2007, Pino Toscano, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # the minimum version of shared-mime-database we require if (NOT SHARED_MIME_INFO_MINIMUM_VERSION) set(SHARED_MIME_INFO_MINIMUM_VERSION "0.18") endif (NOT SHARED_MIME_INFO_MINIMUM_VERSION) if (UPDATE_MIME_DATABASE_EXECUTABLE) # in cache already set(SHARED_MIME_INFO_FOUND TRUE) else (UPDATE_MIME_DATABASE_EXECUTABLE) include (MacroEnsureVersion) find_program (UPDATE_MIME_DATABASE_EXECUTABLE NAMES update-mime-database) if (UPDATE_MIME_DATABASE_EXECUTABLE) exec_program (${UPDATE_MIME_DATABASE_EXECUTABLE} ARGS -v RETURN_VALUE _null OUTPUT_VARIABLE _smiVersionRaw) string(REGEX REPLACE "update-mime-database \\([a-zA-Z\\-]+\\) ([0-9]\\.[0-9]+).*" "\\1" smiVersion "${_smiVersionRaw}") set (SHARED_MIME_INFO_FOUND TRUE) endif (UPDATE_MIME_DATABASE_EXECUTABLE) if (SHARED_MIME_INFO_FOUND) if (NOT SharedMimeInfo_FIND_QUIETLY) message(STATUS "Found shared-mime-info version: ${smiVersion}") macro_ensure_version(${SHARED_MIME_INFO_MINIMUM_VERSION} ${smiVersion} _smiVersion_OK) if (NOT _smiVersion_OK) message(FATAL_ERROR "The found version of shared-mime-info (${smiVersion}) is below the minimum required (${SHARED_MIME_INFO_MINIMUM_VERSION})") endif (NOT _smiVersion_OK) endif (NOT SharedMimeInfo_FIND_QUIETLY) else (SHARED_MIME_INFO_FOUND) if (SharedMimeInfo_FIND_REQUIRED) message(FATAL_ERROR "Could NOT find shared-mime-info. See http://freedesktop.org/wiki/Software/shared-mime-info.") endif (SharedMimeInfo_FIND_REQUIRED) endif (SHARED_MIME_INFO_FOUND) endif (UPDATE_MIME_DATABASE_EXECUTABLE) mark_as_advanced(UPDATE_MIME_DATABASE_EXECUTABLE) macro(UPDATE_XDG_MIMETYPES _path) get_filename_component(_xdgmimeDir "${_path}" NAME) if("${_xdgmimeDir}" STREQUAL packages ) get_filename_component(_xdgmimeDir "${_path}" PATH) else("${_xdgmimeDir}" STREQUAL packages ) set(_xdgmimeDir "${_path}") endif("${_xdgmimeDir}" STREQUAL packages ) install(CODE " set(DESTDIR_VALUE \"\$ENV{DESTDIR}\") if (NOT DESTDIR_VALUE) # under Windows relative paths are used, that's why it runs from CMAKE_INSTALL_PREFIX execute_process(COMMAND ${UPDATE_MIME_DATABASE_EXECUTABLE} ${_xdgmimeDir} WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}\") endif (NOT DESTDIR_VALUE) ") endmacro (UPDATE_XDG_MIMETYPES) drumstick-0.5.0/cmake_admin/FindPCHSupport.cmake0000644000175000001440000000706611442134473020627 0ustar pedrousers# MIDI Sequencer C++ Library # Copyright (C) 2008-2010 Pedro Lopez-Cabanillas # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA # Try to find precompiled headers support for GCC 3.4 and 4.x # Once done this will define: # # Variable: # PCHSupport_FOUND # # Macro: # ADD_PRECOMPILED_HEADER IF(CMAKE_COMPILER_IS_GNUCXX) EXEC_PROGRAM(${CMAKE_CXX_COMPILER} ARGS -dumpversion OUTPUT_VARIABLE gcc_compiler_version) IF(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]") SET(PCHSupport_FOUND TRUE) ELSE(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]") IF(gcc_compiler_version MATCHES "3\\.4\\.[0-9]") SET(PCHSupport_FOUND TRUE) ENDIF(gcc_compiler_version MATCHES "3\\.4\\.[0-9]") ENDIF(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]") ENDIF(CMAKE_COMPILER_IS_GNUCXX) MACRO(ADD_PRECOMPILED_HEADER _targetName _input) GET_FILENAME_COMPONENT(_name ${_input} NAME) SET(_source "${CMAKE_CURRENT_SOURCE_DIR}/${_input}") SET(_outdir "${CMAKE_CURRENT_BINARY_DIR}/${_name}.gch") MAKE_DIRECTORY(${_outdir}) IF(NOT CMAKE_BUILD_TYPE) SET(_output "${_outdir}/Custom.c++") ELSE(NOT CMAKE_BUILD_TYPE) SET(_output "${_outdir}/${CMAKE_BUILD_TYPE}.c++") ENDIF(NOT CMAKE_BUILD_TYPE) STRING(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" _flags_var_name) SET(_compiler_FLAGS ${CMAKE_CXX_FLAGS} ${${_flags_var_name}}) SEPARATE_ARGUMENTS(_compiler_FLAGS) #MESSAGE("_compiler_FLAGS: ${_compiler_FLAGS}") GET_DIRECTORY_PROPERTY(_dir_FLAGS INCLUDE_DIRECTORIES) FOREACH(item ${_dir_FLAGS}) LIST(APPEND _include_FLAGS "-I${item}") ENDFOREACH(item) #MESSAGE("_include_FLAGS: ${_include_FLAGS}") GET_DIRECTORY_PROPERTY(_definitions24 DEFINITIONS) GET_DIRECTORY_PROPERTY(_definitions26 COMPILE_DEFINITIONS) SET(_definitions ${_definitions24}) SEPARATE_ARGUMENTS(_definitions) FOREACH(def ${_definitions26}) LIST(APPEND _definitions "-D${def}") ENDFOREACH(def) STRING(TOUPPER "COMPILE_DEFINITIONS_${CMAKE_BUILD_TYPE}" _defs_var_name) GET_DIRECTORY_PROPERTY(_definitions_buildtype ${_defs_var_name}) FOREACH(def ${_definitions_buildtype}) LIST(APPEND _definitions "-D${def}") ENDFOREACH(def) LIST(REMOVE_DUPLICATES _definitions) #MESSAGE("_definitions: ${_definitions}") ADD_CUSTOM_COMMAND( OUTPUT ${_output} COMMAND ${CMAKE_CXX_COMPILER} ${_compiler_FLAGS} ${_include_FLAGS} ${_definitions} -x c++-header -o ${_output} ${_source} DEPENDS ${_source} ) ADD_CUSTOM_TARGET(${_targetName} DEPENDS ${_output}) #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include ${CMAKE_CURRENT_BINARY_DIR}/${_name} -Winvalid-pch -H") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include ${CMAKE_CURRENT_BINARY_DIR}/${_name} -Winvalid-pch") ENDMACRO(ADD_PRECOMPILED_HEADER) drumstick-0.5.0/cmake_admin/CreateManpages.cmake0000644000175000001440000000277011442134473020673 0ustar pedrousers# MIDI Sequencer C++ Library # Copyright (C) 2008-2010 Pedro Lopez-Cabanillas # # 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 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; If not, see . MACRO(CREATE_MANPAGES) SET(outfiles) FOREACH (it ${ARGN}) GET_FILENAME_COMPONENT(outfile ${it} NAME_WE) GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE) SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/${outfile}.1) SET(outfiles ${outfiles} ${outfile}) ADD_CUSTOM_COMMAND( OUTPUT ${outfile} COMMAND ${XSLTPROC_EXECUTABLE} --nonet --xinclude --xincludestyle --output ${outfile} http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl ${infile} DEPENDS ${infile}) ENDFOREACH (it) ADD_CUSTOM_TARGET(manpages ALL DEPENDS ${outfiles}) INSTALL ( FILES ${outfiles} DESTINATION share/man/man1 ) ENDMACRO(CREATE_MANPAGES) drumstick-0.5.0/cmake_admin/cmake_uninstall.cmake.in0000644000175000001440000000155511442134473021572 0ustar pedrousersIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) STRING(REGEX REPLACE "\n" ";" files "${files}") FOREACH(file ${files}) MESSAGE(STATUS "Uninstalling \"${file}\"") IF(EXISTS "${file}") EXEC_PROGRAM( "@CMAKE_COMMAND@" ARGS "-E remove \"${file}\"" OUTPUT_VARIABLE rm_out RETURN_VALUE rm_retval ) IF("${rm_retval}" STREQUAL 0) ELSE("${rm_retval}" STREQUAL 0) MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"") ENDIF("${rm_retval}" STREQUAL 0) ELSE(EXISTS "${file}") MESSAGE(STATUS "File \"${file}\" does not exist.") ENDIF(EXISTS "${file}") ENDFOREACH(file) drumstick-0.5.0/cmake_admin/MacroEnsureVersion.cmake0000644000175000001440000001173511442134473021606 0ustar pedrousers# This file defines the following macros for developers to use in ensuring # that installed software is of the right version: # # MACRO_ENSURE_VERSION - test that a version number is greater than # or equal to some minimum # MACRO_ENSURE_VERSION_RANGE - test that a version number is greater than # or equal to some minimum and less than some # maximum # MACRO_ENSURE_VERSION2 - deprecated, do not use in new code # # MACRO_ENSURE_VERSION # This macro compares version numbers of the form "x.y.z" or "x.y" # MACRO_ENSURE_VERSION( FOO_MIN_VERSION FOO_VERSION_FOUND FOO_VERSION_OK) # will set FOO_VERSION_OK to true if FOO_VERSION_FOUND >= FOO_MIN_VERSION # Leading and trailing text is ok, e.g. # MACRO_ENSURE_VERSION( "2.5.31" "flex 2.5.4a" VERSION_OK) # which means 2.5.31 is required and "flex 2.5.4a" is what was found on the system # Copyright (c) 2006, David Faure, # Copyright (c) 2007, Will Stephenson # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # MACRO_ENSURE_VERSION_RANGE # This macro ensures that a version number of the form # "x.y.z" or "x.y" falls within a range defined by # min_version <= found_version < max_version. # If this expression holds, FOO_VERSION_OK will be set TRUE # # Example: MACRO_ENSURE_VERSION_RANGE3( "0.1.0" ${FOOCODE_VERSION} "0.7.0" FOO_VERSION_OK ) # # This macro will break silently if any of x,y,z are greater than 100. # # Copyright (c) 2007, Will Stephenson # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # NORMALIZE_VERSION # Helper macro to convert version numbers of the form "x.y.z" # to an integer equal to 10^4 * x + 10^2 * y + z # # This macro will break silently if any of x,y,z are greater than 100. # # Copyright (c) 2006, David Faure, # Copyright (c) 2007, Will Stephenson # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # CHECK_RANGE_INCLUSIVE_LOWER # Helper macro to check whether x <= y < z # # Copyright (c) 2007, Will Stephenson # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. MACRO(NORMALIZE_VERSION _requested_version _normalized_version) STRING(REGEX MATCH "[^0-9]*[0-9]+\\.[0-9]+\\.[0-9]+.*" _threePartMatch "${_requested_version}") if (_threePartMatch) # parse the parts of the version string STRING(REGEX REPLACE "[^0-9]*([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" _major_vers "${_requested_version}") STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" _minor_vers "${_requested_version}") STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" _patch_vers "${_requested_version}") else (_threePartMatch) STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+" "\\1" _major_vers "${_requested_version}") STRING(REGEX REPLACE "[0-9]+\\.([0-9]+)" "\\1" _minor_vers "${_requested_version}") set(_patch_vers "0") endif (_threePartMatch) # compute an overall version number which can be compared at once MATH(EXPR ${_normalized_version} "${_major_vers}*10000 + ${_minor_vers}*100 + ${_patch_vers}") ENDMACRO(NORMALIZE_VERSION) MACRO(MACRO_CHECK_RANGE_INCLUSIVE_LOWER _lower_limit _value _upper_limit _ok) if (${_value} LESS ${_lower_limit}) set( ${_ok} FALSE ) elseif (${_value} EQUAL ${_lower_limit}) set( ${_ok} TRUE ) elseif (${_value} EQUAL ${_upper_limit}) set( ${_ok} FALSE ) elseif (${_value} GREATER ${_upper_limit}) set( ${_ok} FALSE ) else (${_value} LESS ${_lower_limit}) set( ${_ok} TRUE ) endif (${_value} LESS ${_lower_limit}) ENDMACRO(MACRO_CHECK_RANGE_INCLUSIVE_LOWER) MACRO(MACRO_ENSURE_VERSION requested_version found_version var_too_old) NORMALIZE_VERSION( ${requested_version} req_vers_num ) NORMALIZE_VERSION( ${found_version} found_vers_num ) if (found_vers_num LESS req_vers_num) set( ${var_too_old} FALSE ) else (found_vers_num LESS req_vers_num) set( ${var_too_old} TRUE ) endif (found_vers_num LESS req_vers_num) ENDMACRO(MACRO_ENSURE_VERSION) MACRO(MACRO_ENSURE_VERSION2 requested_version2 found_version2 var_too_old2) MACRO_ENSURE_VERSION( ${requested_version2} ${found_version2} ${var_too_old2}) ENDMACRO(MACRO_ENSURE_VERSION2) MACRO(MACRO_ENSURE_VERSION_RANGE min_version found_version max_version var_ok) NORMALIZE_VERSION( ${min_version} req_vers_num ) NORMALIZE_VERSION( ${found_version} found_vers_num ) NORMALIZE_VERSION( ${max_version} max_vers_num ) MACRO_CHECK_RANGE_INCLUSIVE_LOWER( ${req_vers_num} ${found_vers_num} ${max_vers_num} ${var_ok}) ENDMACRO(MACRO_ENSURE_VERSION_RANGE) drumstick-0.5.0/cmake_admin/CreateLibtoolFile.cmake0000644000175000001440000000615611442134473021346 0ustar pedrousers# origin: http://www.cmake.org/Wiki/CMakeMacroLibtoolFile MACRO(GET_TARGET_PROPERTY_WITH_DEFAULT _variable _target _property _default_value) GET_TARGET_PROPERTY (${_variable} ${_target} ${_property}) IF (${_variable} MATCHES ".*NOTFOUND$") SET (${_variable} ${_default_value}) ENDIF (${_variable} MATCHES ".*NOTFOUND$") ENDMACRO (GET_TARGET_PROPERTY_WITH_DEFAULT) MACRO(CREATE_LIBTOOL_FILE _target _install_DIR) GET_TARGET_PROPERTY(_target_location ${_target} LOCATION) GET_TARGET_PROPERTY_WITH_DEFAULT(_target_static_lib ${_target} STATIC_LIB "") GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dependency_libs ${_target} LT_DEPENDENCY_LIBS "") GET_TARGET_PROPERTY_WITH_DEFAULT(_target_current ${_target} LT_VERSION_CURRENT 0) GET_TARGET_PROPERTY_WITH_DEFAULT(_target_age ${_target} LT_VERSION_AGE 0) GET_TARGET_PROPERTY_WITH_DEFAULT(_target_revision ${_target} LT_VERSION_REVISION 0) GET_TARGET_PROPERTY_WITH_DEFAULT(_target_installed ${_target} LT_INSTALLED yes) GET_TARGET_PROPERTY_WITH_DEFAULT(_target_shouldnotlink ${_target} LT_SHOULDNOTLINK yes) GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dlopen ${_target} LT_DLOPEN "") GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dlpreopen ${_target} LT_DLPREOPEN "") GET_FILENAME_COMPONENT(_laname ${_target_location} NAME_WE) GET_FILENAME_COMPONENT(_soname ${_target_location} NAME) SET(_laname ${_laname}.la) SET(_laname_file "${CMAKE_CURRENT_BINARY_DIR}/${_laname}") FILE(WRITE ${_laname_file} "# ${_laname} - a libtool library file, generated by cmake \n") FILE(APPEND ${_laname_file} "# The name that we can dlopen(3).\n") FILE(APPEND ${_laname_file} "dlname='${_soname}'\n") FILE(APPEND ${_laname_file} "# Names of this library\n") FILE(APPEND ${_laname_file} "library_names='${_soname}.${_target_current}.${_target_age}.${_target_revision} ${_soname}.${_target_current} ${_soname}'\n") FILE(APPEND ${_laname_file} "# The name of the static archive\n") FILE(APPEND ${_laname_file} "old_library='${_target_static_lib}'\n") FILE(APPEND ${_laname_file} "# Libraries that this one depends upon.\n") FILE(APPEND ${_laname_file} "dependency_libs='${_target_dependency_libs}'\n") FILE(APPEND ${_laname_file} "# Version information.\n") FILE(APPEND ${_laname_file} "current=${_target_current}\n") FILE(APPEND ${_laname_file} "age=${_target_age}\n") FILE(APPEND ${_laname_file} "revision=${_target_revision}\n") FILE(APPEND ${_laname_file} "# Is this an already installed library?\n") FILE(APPEND ${_laname_file} "installed=${_target_installed}\n") FILE(APPEND ${_laname_file} "# Should we warn about portability when linking against -modules?\n") FILE(APPEND ${_laname_file} "shouldnotlink=${_target_shouldnotlink}\n") FILE(APPEND ${_laname_file} "# Files to dlopen/dlpreopen\n") FILE(APPEND ${_laname_file} "dlopen='${_target_dlopen}'\n") FILE(APPEND ${_laname_file} "dlpreopen='${_target_dlpreopen}'\n") FILE(APPEND ${_laname_file} "# Directory that this library needs to be installed in:\n") FILE(APPEND ${_laname_file} "libdir='${CMAKE_INSTALL_PREFIX}/${_install_DIR}'\n") INSTALL(FILES ${_laname_file} DESTINATION ${_install_DIR}) ENDMACRO(CREATE_LIBTOOL_FILE) drumstick-0.5.0/ChangeLog0000644000175000001440000000676111442134500014327 0ustar pedrousers2010-09-08 * documentation updated * release 0.5.0 2010-09-08 * remaining warnings removed * guiplayer simplified, and optimizations * compile with -fvisibility=hidden if it is available * compile always with -fexceptions * fixes in both buildsystems, cmake and qmake 2010-09-02 * Use RealtimeKit support for the MIDI input thread. 2010-08-31 * OVE file format support, by Rui Fan * guiplayer adds OVE format playback 2010-07-24 * Fixed static build support 2010-07-12 * removed PCH build option * release 0.4.1 2010-07-11 * Fixed bug in class SequencerInputThread: realtime priority must be applied in run() instead of start() to avoid changing the scheduling policy of the parent. This is a problem when running FluidSynth in systems affected by a glib-2.22 bug that has not yet been fixed. Reference: https://bugzilla.gnome.org/show_bug.cgi?id=599079 2010-07-07 * smfplayer renamed as guiplayer, with a new windows layout and supporting Cakewalk WRK files playback * release 0.4.0 2010-07-03 * subdirectory "tests" renamed as "utils". * visibility attribute for public classes. 2010-06-10 * Compile fix for 0.3.2 * release 0.3.2a 2010-06-09 * Command line arguments for all the utilities/test programs. 2010-05-28 * fix a crash in drumstick-sysinfo when a timer module is not loaded. 2010-05-13 * Man pages for the utilities/test programs. 2010-05-10 * New test program: DrumGrid 2010-04-19 * Release 0.3.1 * Allow to build drumstick-file library under Windows * New method MidiClient::parseAddress() replacing the ALSA function snd_seq_parse_address() in MidiPort::subscribeTo() and similar methods. * Fixed MidiClient::getAvailableInputs() and getAvailableOutputs() forcing to always retrieve the clients list. 2010-03-09 * Release 0.3.0 * API changes: SequencerEvent::isChannel() returns true for SND_SEQ_EVENT_NOTE QueueTimer::setId(const TimerId& id) new method overload Timer::bestGlobalTimerId() new static function getRuntimeALSALibraryVersion() new global function getRuntimeALSALibraryNumber() new global function getRuntimeALSADriverVersion() new global function getRuntimeALSADriverNumber() new global function 2010-03-02 * New class QWrk, for reading Cakewalk files 2010-02-17 * Split: drumstick-file and drumstick-alsa 2010-01-07 * Renamed to 'drumstick' and moved to a new project repository 2009-12-27 * Release 0.2.0 * API changes: SequencerInputThread::start() added a priority parameter SequencerEvent::isChannel() new static method SequencerOutputThread::stopped() method removed, converted into a signal SequencerOutputThread::start() added a priority parameter SequencerOutputThread::shutupSound() method removed SequencerOutputThread::stopRequested() method added QSmfPrivate class added QSmf::writeMetaEvent() new method overload QSmf::getTextCodec() new method QSmf::setTextCodec() new method QSmf::signalSMFVariable() signal dropped QSmf::signalSMFMetaUnregistered() signal added Subscriber::operator==() removed unimplemented operator prototype 2009-08-27 * Public release 0.1.0 2008-12-29 0.0.2pre5 * Snapshot included in kmetronome-0.9.0 and kmidimon-0.6.0 2008-11-09 0.0.2pre1 * Initial pre-release 2008-05-12 0.0.1 * Development started drumstick-0.5.0/link-drumstick0000755000175000001440000000433011442134500015431 0ustar pedrousers#!/bin/bash if [ ! -d ../drumstick ]; then echo "Error: the directory ../drumstick doesn's exists. Checkout drumstick first." exit fi if [ -d drumstick ]; then echo "Error: the local directory drumstick already exists." exit fi mkdir -p drumstick/include pushd drumstick/include for F in ../../../drumstick/library/include/*.h; do ln -s $F . done popd mkdir -p drumstick/src pushd drumstick/src for F in ../../../drumstick/library/src/*.cpp; do ln -s $F . done popd pushd drumstick cat >CMakeLists.txt <