Patches for timidity's xaw interface

View: New views
5 Messages — Rating Filter:   Alert me  

Patches for timidity's xaw interface

by Bugzilla from cesium2@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I've been frustrated by timidity's limited graphical interfaces on Unix.  
I've made some patches to make the Xaw interface more bearable. What's  
added:

* Can load and save playlists.
* Improved file dialog: separate file and directory panes, filtering, can  
have default starting directory, etc.
* Mouse wheel can now scroll lists.
* drag and drop support via XDND (mostly adapted from Xine, which is under  
the GPL).
* The time bar actually moves.
* Timidity can ask to confirm exit.
* Seperate windows can be close with the 'X' button without closing the  
entire interface.
* Fixes for compatibility with XAW3D.
* Other fixes and improvements.

These patches still need some cleaning up, but I'd like to have other  
people's input too.

Notes:
--------
* Autoreconf is needed after patching.
* The new settings are stored in ~/.xtimidity .
* For old xaw versions OLDXAW should be defined in interface/xaw.h to  
allow compiliation.
* I've replaced the submenu implmentation with one based on XtNsubmenu,  
but it acts a little bit differently - I intend to add a define to be able  
to choose which method to use. Use OLDXAW for now to use the old method.
* Use --enable-xdnd to enable xdnd support.
* Playlist support via XDND shouldn't check for extension - I intend to  
modify this.
* No internationalization support for tooltips when XAW3D is used (I could  
add it, but XAW3D's API is incompatible with Xaw's and I didn't want to  
add more hacks).
* I'm unable to translate the new strings to Japanease, so  
TiMidity-uj.ad.in has some new English strings.


   The patches are at  
http://www.fileupyours.com/files/77985/timidity-xaw-patches.tar.bz2 and  
are for the CVS version.
To apply do: "sh apply.sh path_to_source_from_cvs" from the directory  
where the patches are at, or just read apply.sh and apply it yourselves.

Yours,
        Yair K

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Timidity-talk mailing list
Timidity-talk@...
https://lists.sourceforge.net/lists/listinfo/timidity-talk

Re: Patches for timidity's xaw interface

by Bugzilla from cesium2@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've made an updated version of my timidity xaw interface patch available  
at the same place  
( http://www.fileupyours.com/files/77985/timidity-xaw-patches.tar.bz2 ).  
Just some small fixes:

* Fixed some silly mistakes I made:
   * README textfile is now included, and apply.sh actually has the correct  
filenames.
   * Japanese translation works now (I misunderstood how resource fallbacks  
work).
   * "Add ALL" disabled in Load/Save Playlist dialogs even with resource  
file (same as above).
   * Decalre listheight as Dimension, not int in flistMove
     (so focus following keyboard in "File List" works when compiled with  
GCC v4).
   * Corrected length of volumebar in tracemode.
   * Now saves header correctly in playlists.
* There's a separate #define to enable the old submenu behaviour.
* Converted XFontStruct to XFontSet, and created font fallbacks to prevent  
spurious warnings on console.
* Now uses textcolor for ch. and prog. columns in trace mode, so  
redefining resource TiMidity*?blackkeycolor won't change their color as  
well.

Yours,
        Yair K

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Timidity-talk mailing list
Timidity-talk@...
https://lists.sourceforge.net/lists/listinfo/timidity-talk

Re: Patches for timidity's xaw interface

by Bugzilla from cesium2@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

   I've made an updated version of my timidity xaw interface patch  
available at the same place  
( http://www.fileupyours.com/files/77985/timidity-xaw-patches.tar.bz2 ).
I've also made a patched tarball of the CVS source  
( http://www.fileupyours.com/files/77985/timidity.tar.bz2 ) [0]. Note that  
if the resource files are used (this can be checked with "appres  
TiMidity"), than the new ones need to be copied over them.

New changes for timidity (in addition to the previous patches):

* xaw interface displayed lyrics in broken, duplicated sentences - fixed.
* timidity, when compiled with the default settings, will now actually use  
the saved "Extend mode" value from ~/.xtimidity.
* Deleting a song from the playlist will no longer always stop playing -  
only if the song deleted is the one being played.
* Channels can be muted and unmuted (right click on channel in trace mode).
* A click on the time bar will forward/rewind the midi to the appropriate  
time. Alternately, the thumb can be dragged on the bar, so it is possible  
to set time to an exact value without guessing. The volume can similiarily  
be changed by clicking the volume bar.
* Now "Trace mode" can be enabled even when the interface is started with  
only "-ia". [1]
* Tempo is displayed on the trace foot. It can be modified with '<' and  
'>'. [2]

Yours,
  Yair K

[0] In addition to the above, I used a patch posted on this list by Milan  
Zamazal (slightly modified to add help text) to add an command-line option  
to preserve initial silence. It usually works well, but I think it clips  
the first note from cavatina.mid  
( http://www.onicos.com/staff/iz/timidity/dist/midi/cavatina.mid ).

[1] If timidity is started with "-ia" it will decide whether to enter  
trace mode according to the value of Disp::Trace in ~/.xtimidity. "-iat"  
will always start in trace mode, regardless of Disp::Trace value.  
(Previously Disp::Trace only influenced "-iat" and not "-ia").

[2] It was always modifiable with these keys, it just wasn't documented  
anywhere. Similiarily, pitch can be modified with '+' and '-'.

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Timidity-talk mailing list
Timidity-talk@...
https://lists.sourceforge.net/lists/listinfo/timidity-talk

Re: Patches for timidity's xaw interface

by Bugzilla from cesium2@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've made an updated version of my timidity xaw interface patch available  
at the same place  
( http://www.fileupyours.com/files/77985/timidity-xaw-patches.tar.bz2 ).  
I've also made a patched tarball of the CVS source  
( http://www.fileupyours.com/files/77985/timidity.tar.bz2 ).

New changes for timidity (in addition to the previous patches):

* The latest code from CVS didn't compile on NetBSD/OpenBSD - fixed [1].
* "Save file" dialog added - it is now possible to convert MIDI files to  
(WAV/OGG/AU/etc.) from the interface.
* Trace mode can show more than 16 channels (change display with "j" or  
mouse wheel on trace to shift +-16 channels) upto MAX_CHANNELS (defined by  
default as 32 in timidity.h).
* Trace mode will only display the channels used by the played midi  
(previously, if a channel was unused the instrument from bank 0/prog 0 was  
shown instead - e.g. the Steinway Grand Piano).
* timidity will try to create ~/.xtimidity if it doesn't exist/can't be  
opened.
* Moving the thumb when nothing is played and then starting play will now  
start from where the thumb is set (in the previous patchset it only worked  
when a file was played).
* A nastly memory leak in xaw_c.c has been fixed.
* A crash that happened sometimes when saving options (chrous_b can be  
accessed before it's created) is fixed.
* Fixed crash (introduced by me the previous time) when using "delete ALL"  
right after program is started with no files in playlist.
* Other fixes and style changes.

[1] midi_a.c needs to include "sys/midiio.h". The  
"TiMidity++-porting.diff" file contains a fix for that and few other  
issues on rare platforms.

Yours,
        Yair K.

--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Timidity-talk mailing list
Timidity-talk@...
https://lists.sourceforge.net/lists/listinfo/timidity-talk

Re: Patches for timidity's xaw interface

by Bugzilla from cesium2@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've made an updated version of my timidity xaw interface patch available  
at the same place (  
http://www.fileupyours.com/files/77985/timidity-xaw-patches.tar.bz2 ).
I've also made a patched and autoreconfed tarball of the CVS source (  
http://www.fileupyours.com/files/77985/timidity.tar.bz2 ).

Most of the changes (from the previous patchset) involve bug fixes and  
internal changes:

* The trace mode code is now separated into its own files (x_trace.c and  
x_trace.h). If anyone is interested, it would be easy to use this to port  
trace display into the GTK+ interface,
* Pitch and tempo buttons like the GTK+ interface (shown only in trace  
mode).
* Fix crash when processing large archives.
* Spectrogram works now also in trace mode.
* Make sure scrolling with mouse wheel works where XAW3D is compiled with  
XAW_ARROW_SCROLLBARS.
* Support the neXtaw and XawPlus toolkits.
* Nice new README.xaw documentation.
* Pixmaps are now integrated into source - xaw interface will not use  
xbm's from /usr/lib/timidity/bitmaps/ anymore.
* Other bugs fixed.

--
Yours,
        Yair K.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Timidity-talk mailing list
Timidity-talk@...
https://lists.sourceforge.net/lists/listinfo/timidity-talk
LightInTheBox - Buy quality products at wholesale price