Hi, I packaged the current svn snapshot #733 for Fedora and hopefully
it will hit the testing repos soon.
During packaging I found some issues and I'd like to share them with
you together with some requests.
* Hydrogen ships with tinyxml which gets compiled statically into
hydrogen. I don't think this is a good idea. Fedora, Mandriva, SuSe
and a few other distributions come with tinyxml. I think scons should
use the internal tinyxml if it is avaiilable. I'm attaching a patch
(against svn co 733) that I used to make hydrogen use the internal
tinyxml. It sure needs some more work to use the shipped tinyxml as a
fallback.
* A "GenericName" to the .desktop file would be beautiful. Something
in the lines of "Drum Machine" or "Drum Programmer". Also the
categories X-Drumming X-MIDI X-Jack etc. can be added.
* I am not very familiar with scons. I had to hack the Sconstruct file
to pass the optflags that I wanted. It would be nice if I could pass
the optflags to the scons command, e.g.
scons oss=0 portaudio=1 optflags="-another -brick -in-the -Wall"
If no optflags are passed, then scons should use the default ones.
* At the end of the day (after "scons install"), the file
/usr/bin/hydrogen is installed with 775 permission. Why isn't the
default executable file permission 755?
* I see that the documentation is ready but when I click Info->User
manual, it still shows me the hydrogen 0.9.3 documentation. Can you
put the data/new_manual and data/new_tutorial in the appropriate
places?
The last request is not related to the anything above at all:
* I was playing my guitar today. You can find quite a lot of Guitar
Pro files online if you are into guitar tablatures. A significant
portion of these files come with a drum track.
Currently the free tablature softwares tuxguitar (java) and kguitar
(qt3) can import these .gp3 and .gp4 files, together with their drum
tracks. You can check out their code.
I thought that it would really be cool to import these drum tracks of
Guitar Pro files into hydrogen. We would have thousands of files
available that we can directly edit via hydrogen and it would be a
double bonus if we could export those edited files. Just an idea...
Best,
Orcan
diff -rupN old/hydrogen/hydrogen.kdevelop new/hydrogen/hydrogen.kdevelop
--- old/hydrogen/hydrogen.kdevelop 2009-01-22 17:36:40.000000000 -0500
+++ new/hydrogen/hydrogen.kdevelop 2009-01-22 19:14:54.000000000 -0500
@@ -180,13 +180,6 @@
<path>gui/src/widgets/moc_MidiActivityWidget.cc</path>
<path>gui/src/widgets/moc_midiTable.cc</path>
<path>gui/src/widgets/moc_Rotary.cc</path>
- <path>libs/hydrogen/src/xml</path>
- <path>libs/hydrogen/src/xml/tinystr.cpp</path>
- <path>libs/hydrogen/src/xml/tinystr.h</path>
- <path>libs/hydrogen/src/xml/tinyxml.cpp</path>
- <path>libs/hydrogen/src/xml/tinyxmlerror.cpp</path>
- <path>libs/hydrogen/src/xml/tinyxml.h</path>
- <path>libs/hydrogen/src/xml/tinyxmlparser.cpp</path>
<path>plugins</path>
<path>plugins/wasp</path>
<path>plugins/wasp/include</path>
diff -rupN old/hydrogen/libs/hydrogen/hydrogen.pro new/hydrogen/libs/hydrogen/hydrogen.pro
--- old/hydrogen/libs/hydrogen/hydrogen.pro 2009-01-22 17:36:37.000000000 -0500
+++ new/hydrogen/libs/hydrogen/hydrogen.pro 2009-01-22 19:15:26.000000000 -0500
@@ -82,9 +82,6 @@ HEADERS += \
include/hydrogen/smf/SMFEvent.h \
\
\
- src/xml/tinystr.h \
- src/xml/tinyxml.h \
- \
src/IO/AlsaMidiDriver.h \
src/IO/DiskWriterDriver.h \
src/IO/FakeDriver.h \
@@ -99,11 +96,6 @@ HEADERS += \
SOURCES += \
- src/xml/tinystr.cpp \
- src/xml/tinyxml.cpp \
- src/xml/tinyxmlerror.cpp \
- src/xml/tinyxmlparser.cpp \
- \
src/IO/alsa_midi_driver.cpp \
src/IO/disk_writer_driver.cpp \
src/IO/fake_driver.cpp \
diff -rupN old/hydrogen/libs/hydrogen/src/local_file_mgr.cpp new/hydrogen/libs/hydrogen/src/local_file_mgr.cpp
--- old/hydrogen/libs/hydrogen/src/local_file_mgr.cpp 2009-01-22 17:36:37.000000000 -0500
+++ new/hydrogen/libs/hydrogen/src/local_file_mgr.cpp 2009-01-22 19:17:27.000000000 -0500
@@ -46,7 +46,7 @@
#include <QDir>
#include <QApplication>
-#include "xml/tinyxml.h"
+#include <tinyxml.h>
#include <algorithm>
//#include <cstdio>
diff -rupN old/hydrogen/libs/hydrogen/src/preferences.cpp new/hydrogen/libs/hydrogen/src/preferences.cpp
--- old/hydrogen/libs/hydrogen/src/preferences.cpp 2009-01-22 17:36:37.000000000 -0500
+++ new/hydrogen/libs/hydrogen/src/preferences.cpp 2009-01-22 19:17:16.000000000 -0500
@@ -42,7 +42,7 @@
#include "config.h"
#include "version.h"
-#include "xml/tinyxml.h"
+#include <tinyxml.h>
#include <QDir>
#include <QApplication>
diff -rupN old/hydrogen/libs/hydrogen/src/song.cpp new/hydrogen/libs/hydrogen/src/song.cpp
--- old/hydrogen/libs/hydrogen/src/song.cpp 2009-01-22 17:36:37.000000000 -0500
+++ new/hydrogen/libs/hydrogen/src/song.cpp 2009-01-22 19:17:02.000000000 -0500
@@ -25,7 +25,7 @@
#include <cassert>
-#include "xml/tinyxml.h"
+#include <tinyxml.h>
#include <hydrogen/adsr.h>
#include <hydrogen/data_path.h>
diff -rupN old/hydrogen/Sconstruct new/hydrogen/Sconstruct
--- old/hydrogen/Sconstruct 2009-01-22 17:36:40.000000000 -0500
+++ new/hydrogen/Sconstruct 2009-01-22 20:06:08.000000000 -0500
@@ -66,10 +66,12 @@ def get_platform_flags( opts ):
cppflags.append('-DFLAC_SUPPORT')
cppflags.append('-DLADSPA_SUPPORT')
-
+
if str(env['lash']) == "1": includes.append( '/usr/lib/lash-1.0' )
+ ldflags.append('-ltinyxml')
+
if str(env['libarchive']) == "1": cppflags.append('-DLIBARCHIVE_SUPPORT')
includes.append( './' )
@@ -227,6 +229,7 @@ def get_hydrogen_gui( lib_hydrogen , opt
env.Append( LIBS = lib_hydrogen )
env.Append( LIBS = ["sndfile"] )
+ env.Append( LIBS = ["tinyxml"] )
if str(env['lrdf']) == "1": env.Append( LIBS = ["lrdf"] )
if str(env['flac']) == "1": env.Append( LIBS = ["FLAC","FLAC++"] )
@@ -359,12 +362,15 @@ if platform == "darwin" or platform == "
#Check if all required libraries are installed
conf = Configure(env)
+
+if not conf.CheckCXXHeader('tinyxml.h'):
+ print 'tinyxml must be installed!'
+ Exit(1)
+
if not conf.CheckCHeader('sndfile.h'):
print 'libsndfile must be installed!'
Exit(1)
-
-
# it seems that conf.CheckCHeader dislikes like the "++" in filenames
#if not conf.CheckCHeader('FLAC++/all.h'):
# print 'FLAC++ must be installed!'
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Hydrogen-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hydrogen-devel