Radium v0.65.1

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Radium v0.65.1

Post by kmatheussen »

Hi, this is my first post here, which I'm using to announce a new version of Radium.

Radium is a free (as in speech) music editor with a novel interface. It's inspired by trackers, but has fewer limitations and uses graphics to show musical data.
http://users.notam02.no/~kjetism/radium/

Features:
  • Sound effects automation
  • Tempo automation
  • Velocity automation
  • Polyphonic tracks
  • Unlimited number of tracks.
  • Unlimited number of lines.
  • Unlimited note, tempo, and effect precision.
  • Undo/Redo
  • Zoom in/out.
  • Import standard midi files and MMD2/MMD3 modules
  • Note sequence effects such as transpose, quantitize, glizzando, invert and reverse.
  • Support for Jack MIDI and ALSA MIDI. (Both at the same time.)
  • Configurable key bindings, menues, fonts, and colors.
  • Extension language support. Write programs that generates music or modifies your songs.
  • Western style scores can be generated from radium songs by using Common Music Notation (CMN).
Image
User avatar
autostatic
Established Member
Posts: 1994
Joined: Wed Dec 09, 2009 5:26 pm
Location: Beverwijk, The Netherlands
Has thanked: 32 times
Been thanked: 104 times
Contact:

Re: Radium v0.65.1

Post by autostatic »

Hello Kjetil,

I'm definitely going to check it out, the features and screenshot look very appealing. Might be something I just needed. Thanks!

Jeremy

Edit: Had to modify the Makefile and change QTDIR to /usr/share/qt3 and remove -Werror from the compile flags. Looks good!
james=jwm//art@net
Established Member
Posts: 32
Joined: Sun Apr 13, 2008 1:51 pm
Location: Canterbury, England
Contact:

Re: Radium v0.65.1

Post by james=jwm//art@net »

Hi,

In Arch Linux I needed to change the Makefile so

Code: Select all

QTDIR=/usr/share/qt
and then create a symbolic link:

Code: Select all

sudo ln -s /usr/bin /usr/share/qt/bin
But then it's getting stuck trying to find sipconfig. I've installed python2-sip but the python binary on my system is python3. I tried python-sip but then get "Error: PyQt v3.x does not support Python v3.x"

I've also tried changing the

Code: Select all

which python
to
which python2
to no effect, it's still fails with

Code: Select all

 snip...
PyQt-x11-gpl-3.18.1/examples2/trolltech.bmp
PyQt-x11-gpl-3.18.1/examples2/desktop.py
PyQt-x11-gpl-3.18.1/examples2/secret.py
Traceback (most recent call last):
  File "configure.py", line 31, in <module>
    import sipconfig
ImportError: No module named sipconfig
make: *** [bin/packages/deletemetorebuild] Error 1
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

> QTDIR=/usr/share/qt

Yes, you are supposed to edit that variable before compiling.


> sudo ln -s /usr/bin /usr/share/qt/bin

That sounds like the wrong thing to do. You need to run moc and uic from QT3. By adding that symbolic link, I think you might be running moc and uic from QT4 instead. You should run "moc -version" and "uic-version" to ensure you are not using moc and uic for the wrong versions of Qt.

Perhaps you are missing a QT3 package, like qt3-devel-tools or something like that. Or maybe moc and uic is placed somewhere else in /usr/share/qt/ ?


> ImportError: No module named sipconfig

Try to download latest version of Radium. It doesn't require sip.
You need PyQt4 now instead though.


> which python2

This should work with the latest version. I'm currently trying to make it run with Python 3 as well,
but changing that line to `which python2` should be fine.
james=jwm//art@net
Established Member
Posts: 32
Joined: Sun Apr 13, 2008 1:51 pm
Location: Canterbury, England
Contact:

Re: Radium v0.65.1

Post by james=jwm//art@net »

Hi,

I've downloaded 0.65.4...
kmatheussen wrote:> QTDIR=/usr/share/qt
Yes, you are supposed to edit that variable before compiling.
It should have been (for Arch Linux):

Code: Select all

QTDIR=/opt/qt
kmatheussen wrote:> sudo ln -s /usr/bin /usr/share/qt/bin
That sounds like the wrong thing to do.
Definitely was! It's getting much further into the compilation now... I got this error:

Code: Select all

make[1]: Leaving directory `/home/sirrom/SRC/kmatheussen-radium-e7efefe/bin/packages/dvarrazzo-py-setproctitle-c35a1bf'
`which python` -c "import sys;print sys.prefix+'/include/python'+sys.version[:3]" >pypath.comp
  File "<string>", line 1
    import sys;print sys.prefix+'/include/python'+sys.version[:3]
                       ^
SyntaxError: invalid syntax
make: *** [pypath.comp] Error 1
But modifying the Makefile to explicitly use python2 gets past that until:

Code: Select all

gcc common/gfx_op_queue.c -c -mtune=native -O3 -g -Wall -Werror -DNOPAUSEPLAY -DDEBUG -Ibin/packages/gc-7.2/include -I/usr/X11R6/include -IQt/ -I`cat pypath.comp` -DGUIISQT -Imidi/rtmidi -DUSE_GFX_OP_QUEUE -I/home/kjetil/site/include -fPIC
python protoconfparser.py radium_proc.h
cd api/ ; python protoconfparser.py radium_proc.h ; cd ..
Traceback (most recent call last):
  File "protoconfparser.py", line 358, in <module>
    re=Read()
  File "protoconfparser.py", line 288, in __init__
    notend=self.readNextLine()
  File "protoconfparser.py", line 301, in readNextLine
    line=string.rstrip(line)
AttributeError: 'module' object has no attribute 'rstrip'
gcc common/eventreciever.c -c -mtune=native -O3 -g -Wall -Werror -DNOPAUSEPLAY -DDEBUG -Ibin/packages/gc-7.2/include -I/usr/X11R6/include -IQt/ -I`cat pypath.comp` -DGUIISQT -Imidi/rtmidi -DUSE_GFX_OP_QUEUE -I/home/kjetil/site/include -fPIC
common/eventreciever.c:19:20: fatal error: Python.h: No such file or directory
compilation terminated.
Which isn't surprising as pypath.comp is a 0 byte file thanks to the failure of the previous error... but easy to fix... Next off

Code: Select all

python protoconfparser.py radium_proc.h
cd api/ ; python protoconfparser.py radium_proc.h ; cd ..
Traceback (most recent call last):
  File "protoconfparser.py", line 358, in <module>
    re=Read()
  File "protoconfparser.py", line 288, in __init__
    notend=self.readNextLine()
  File "protoconfparser.py", line 301, in readNextLine
    line=string.rstrip(line)
AttributeError: 'module' object has no attribute 'rstrip'
gcc common/eventreciever.c -c -mtune=native -O3 -g -Wall -Werror -DNOPAUSEPLAY -DDEBUG -Ibin/packages/gc-7.2/include -I/usr/X11R6/include -IQt/ -I`cat pypath.comp` -DGUIISQT -Imidi/rtmidi -DUSE_GFX_OP_QUEUE -I/home/kjetil/site/include -fPIC
common/eventreciever.c:33:32: fatal error: ../api/radium_proc.h: No such file or directory
And now I'm stuck. Using the `find` command fails to locate radium_proc.h.

Let me know if there's anything else I can do and/or somewhere you'd rather this kind of stuff take place (ie mailing list etc).
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

Seems like the Makefile wasn't quite ready for a python3 based system. The word "python" was
used a lot of places where $(PYTHONEXE) should have been used instead.

I've updated repository, and hope it should work now. This is the updated Makefile:
http://tinyurl.com/83yhpte
james=jwm//art@net
Established Member
Posts: 32
Joined: Sun Apr 13, 2008 1:51 pm
Location: Canterbury, England
Contact:

Re: Radium v0.65.1

Post by james=jwm//art@net »

Hiya,

Still a few more occurrences... I used the following script to replace 'os.system("python with os.system("python2.

Code: Select all

#!/bin/bash
echo search and replace "s/(\"python /(\"python2 /g"...
find . -type f \(  -name '*.*'    \) |
while IFS= read -r NAME;
do
sed -i "s/(\"python /(\"python2 /g" "$NAME"
done
There's a coule of #!/bin/python's:
bin/generate_keyboard_sub_ids.py
bin/keybindingsparser.py

And a couple of python's:
api/makeradiumwrap_c.sh
start.sh

That finally got it to build. Here's a diff but note includes your makefile differences:
http://pastebin.com/b5XMBzGr

Running lead me to discover I need to install python2-setproctitle. Ok.

But there's this when I run ./start.sh:

Code: Select all

0
1
['/home/sirrom/SRC/kmatheussen-radium-e7efefe-python2/bin', '/usr/lib/python27.zip', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/PIL', '/usr/lib/python2.7/site-packages/gst-0.10', '/usr/lib/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info', '/home/sirrom/SRC/kmatheussen-radium-e7efefe-python2/bin/packages/dvarrazzo-py-setproctitle-c35a1bf/build/lib.2']
2
Traceback (most recent call last):
  File "start.py", line 33, in <module>
    import radium,keybindingsparser
ImportError: /home/sirrom/SRC/kmatheussen-radium-e7efefe-python2/bin/radiummodule.so: undefined symbol: nextfreeelement
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

Thank you very much! A new version needs to be released with this fixed.

nextfreeelement belongs to code which has been deleted from the repostory. I think a make clean should fix it.
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

0.65.5 is released. It's tested to work when python3 is set as the default python. (but you still need python2)

http://archive.notam02.no/arkiv/src/rad ... 5.5.tar.gz

0.65.5 also contains a small bunch of other fixes as well (since 0.65.1).
Most important fix is for a memory corruption bug when creating new midi instruments.
Another fix is that jack-midi jitter has been removed as much as the RtMidi API allows. (I'm planning to extend the RtMidi API so that jack midi event times can be accurately specified in advance when you know exactly when events should be played. Hopefully Gary will accept the changes.)
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

falkTX wrote:I gave it try, but found several issues with the interface. (I actually had white text on white background, so I hacked the code a bit to use the system theme instead of the ugly Qt-Windows one).
Lots of actions lunch xterm, not sure if that's a good idea... If I close a xterm window started by radium, it just locks :(
Also, using "Create instrument" and then "create new port" crashes radium.

anyway, I packaged it for kxstudio so any user can give it a try easily:
https://launchpad.net/~kxstudio-team/+a ... hive-extra

I'm not using any of your pre-included packages though (except python-midi). Is that an issue?
Great! I'll look at your modifications.
The instrument bug was fixed a few days ago.

Don't close the xterm window! (You should never have to do that)
Yes, the xterm window is a good idea. It's very convenient . But it has some problems with X interactions, so I'm going to write a Qt terminal replacement that will hopefully look and feel the same.

The packages are included for convenience only. If you use your own versions, it shouldn't matter.
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

Thanks, I'll add an option to the config file (bin/config) where you can turn off the
Qt GUI customizations done by Radium.

Regarding the included packages, only the ones in bin/packages are unmodified. For instance is
RtMidi (included in midi/rtmidi/) modified, and timing for jack would be inaccurate if you
replaced it. Also, I don't see the point of not using the packages in bin/packages. Unless
they don't compile for some reason, it's safest to leave things as they are in my opinion.

Regarding the use of xterm, I agree it's a minor inconvenience to answer yes/no questions
if your hand was placed on the mouse right before. But apart from that, it should be the
most efficient interface. I hadn't thought about the possibility of anyone trying to
close the xterm window though. I'll put a fix for it on my TODO list.
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

falkTX wrote:Please bump this topic when done, thanks!
Bump.

Radium 0.65.6 is released.

Changes between 0.65.0 and 0.65.6:
  • * Setting port for instrument will not crash the program
    * Many build improvements
    * Blocklist and Playlist are properly updated when loading standard midi file.
    * Sample accurate jack midi
    * Accurate mouse coordinates
    * Closing the xterm window will not lock the program
    * Options to turn off overriding of Qt colors and Qt style
    * Fast jack port probing
    * Only create one jack client
    * Works even if python links to python3 instead of python2
    * Fixed All Sounds Off menu option
    * Graphics fully updated after using menu
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

falkTX wrote:I
I'm not using any of your pre-included packages though (except python-midi). Is that an issue?
Actually, it's probably best if you don't replace libgc. Any version is likely to work well, but memory handling
is scary stuff, so it's safest to use the one that's included, since that one has been tested. libgc is statically linked anyway, so you don't have to install anything extra to support the included version.
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

Radium 0.66.1 is released
http://users.notam02.no/~kjetism/radium/

Most important changes 0.65.6 -> 0.66.1:
  • * Many build fixes and improvements. Compilation has been tested on latest ubuntu, fedora and mint linux. Both 32 and 64 bit.
    * New GTK2 visual backend (the old one was written for Qt3):
    • * Looks better and has less focus problems.
      * Makes it possible to port the rest of the program to QT4 without losing graphical performance. (QT4 2D graphics is very slow, and mixing QT3 and QT4 in the same binary doesn't work.
    * Fix nodeline selection
    * Antialiased lines
    * Adjusted tempo colors
    * Some RtMidi fixes
    * Midi input editing.
    * Removed the custom resize window box.
kmatheussen
Established Member
Posts: 153
Joined: Thu Jul 05, 2012 7:47 am

Re: Radium v0.65.1

Post by kmatheussen »

Radium 0.67.1 is released
http://users.notam02.no/~kjetism/radium/


Image

Most important changes 0.66.1 -> 0.67.1:
  • * Ported GUI to Qt4. (Editor graphics is still written in GTK2, running in an embedded wiget.)
    * More colorful default colors
    * Fix left mouse in KDE
    * Various build fixes
    * Compiles under mingw. (Tested in wine and Windows7, but it doesn't work very well yet.)
Post Reply