Discussion:
Xpmidi
(too old to reply)
J.B. Wood
2015-03-18 17:06:27 UTC
Permalink
Hello, all. Just wondering if anyone is using the subject Python script
(http://mellowood.ca/xpmidi) that provides a GUI frontend to aplaymidi.
I'm interested in knowing if anyone has modified the script to allow
for a selection of some/all the MIDI files in a directory/playlist to be
played one after the other without further user intervention (except to
pause/end the current file playing). The downloaded script only
provides for user selection of one file at a time for playing and this
is inconvenient when you want to set up the continuous playing of many
MIDI files to, say, a digital piano. Thanks for your time and comment.
Sincerely,
--
J. B. Wood e-mail: ***@hotmail.com
bvdp
2015-03-19 17:43:30 UTC
Permalink
Post by J.B. Wood
Hello, all. Just wondering if anyone is using the subject Python script
(http://mellowood.ca/xpmidi) that provides a GUI frontend to aplaymidi.
I'm interested in knowing if anyone has modified the script to allow
for a selection of some/all the MIDI files in a directory/playlist to be
played one after the other without further user intervention (except to
pause/end the current file playing). The downloaded script only
provides for user selection of one file at a time for playing and this
is inconvenient when you want to set up the continuous playing of many
MIDI files to, say, a digital piano. Thanks for your time and comment.
Sincerely,
--
All things are possible.

I've considered (briefly) of adding such a feature, but since it isn't an itch that really effects me I'd have to ask a few things first:

- what would the selection process be? Would you simple enable multiple selections and then play?

- would you continue to do the midi reset stuff after each song, or would you wait 'til the end of the list?

- what happens when you select a song when one is already playing?

- what do you do about order? Selection order or something else?

- duplicate selections? Play 2x or ignore?

Anyway, a few complexities to thing about. Other than that the coding should be pretty easy to do.

Have fun.

BTW, I'm the author of the program :)
J.B. Wood
2015-03-19 19:21:17 UTC
Permalink
Post by bvdp
All things are possible.
- what would the selection process be? Would you simple enable multiple selections and then play?
- would you continue to do the midi reset stuff after each song, or would you wait 'til the end of the list?
- what happens when you select a song when one is already playing?
- what do you do about order? Selection order or something else?
- duplicate selections? Play 2x or ignore?
Anyway, a few complexities to thing about. Other than that the coding should be pretty easy to do.
Have fun.
BTW, I'm the author of the program :)
Hello, and thanks for replying! Basically, I would just implement the
usual method for selecting multiple things in a GUI window list, viz,
you would highlight one or more files using/dragging the mouse then hit
play to begin. As an alternative one might click on a starting file in
the list (not necessarily the first file) and then go further down the
list and do a shift-click to include all the entries in between. Ctrl-A
would select/highlight all the files in the list and ctrl-click could
then deselect specific entries. If you stop/cancel a selection once
started the program would simply go on to the next entry. Perhaps a
separate "cancel" button is needed to distinguish from an all-stop
(don't play any more selections but don't exit the program).

Beyond that I haven't given much thought to including any other
features. BTW, I am grateful for what you have done with xpmidi and it
has much utility in its current incarnation. Sincerely,
--
J. B. Wood e-mail: ***@hotmail.com
Pete
2015-03-20 19:41:23 UTC
Permalink
Hi Bob,

For what they're worth, I'll tage some of my thoughts to the
discussion...
Post by bvdp
Post by J.B. Wood
Hello, all. Just wondering if anyone is using the subject Python script
(http://mellowood.ca/xpmidi) that provides a GUI frontend to aplaymidi.
I'm interested in knowing if anyone has modified the script to allow
for a selection of some/all the MIDI files in a directory/playlist to be
played one after the other without further user intervention (except to
pause/end the current file playing). [....]
I've considered (briefly) of adding such a feature, but since it isn't
- what would the selection process be? Would you simple enable multiple
selections and then play?
Maybe the nicest scheme would be to start playing as soon as a
selection is made, but to add further selections th the current
playlist as they are made (rather than stopping the current piece
immediately). You'd probably need a mode-selector in the button
bar at the top to switch netween the current one-file-at-a-time
mode ("Single"?) and this mode ("Sequence"?).
Post by bvdp
- would you continue to do the midi reset stuff after each song, or
would you wait 'til the end of the list?
I think it may have to be done between every song. I wrote a similar
sort of player that runs in Haiku, and I found that many midifiles
don't bother to set controller values to default values, and others
reset to non-default and leave them that way. Files in a sequence
could sound very wrong! So now I just reset everything between each
piece.

I like your trick of creating a temporary "reset.mid", but I'm not
sure you have to do it each time. Maybe create it once an startup
and delete it on quit? It's not exactly a big file, so accidentally
leaving it in /tmp wouldn't be a disaster! (:-))
Post by bvdp
- what happens when you select a song when one is already playing?
If you're in "Sequence" mode, it should simply be added to the end of
the list.
Post by bvdp
- what do you do about order? Selection order or something else?
Selection order seems most intuitive. For comparison, my Haiku
player uses the standard "filepanel" provided by the OS, where
a click selects a single file (and removes any prior selection),
a drag selects everything under the drag, a shift-click after
a first click selects the range between the clicks, and an alt-click
(or drag) will add to the previous selection. In the alt-click case,
play order is the selection order, otherwise it's the order in the
display. (Being a filepanel, it doesn't start playing on the first
selection as I suggested above. It needs a click on the "Open"
button to start. If you open the panel again to add files, though,
it just tags those onto the playing list.)

I guess to be fancy you could actually have a "playlist editor"
window, as I've seen in some audio players. That's a whole 'nother
beast, though.
Post by bvdp
- duplicate selections? Play 2x or ignore?
Dunno. Probably should assume User Knows Best, and just add them
to the list.

Just my thoughts.

-- Pete --
--
============================================================================
The address in the header is a Spam Bucket -- replies will not be seen...
(If you do need to email, replace the account name with my true name.)
============================================================================
Clemens Ladisch
2015-03-19 21:50:40 UTC
Permalink
[...] a GUI frontend to aplaymidi. I'm interested in knowing if anyone
has modified the script to allow for a selection of some/all the MIDI
files in a directory/playlist to be played one after the other without
further user intervention
If you do not want user intervention, you should just use the command
line in the first place:
aplaymidi -p ... *.mid
or:
for f in this.mid that.mid "something else.mid"; do aplaymidi -p ... "$f"; done
except to pause/end the current file playing
With the "for" loop, you can end the current file with "killall aplaymidi".


Regards,
Clemens
J.B. Wood
2015-03-20 10:48:22 UTC
Permalink
Post by Clemens Ladisch
If you do not want user intervention, you should just use the command
aplaymidi -p ... *.mid
for f in this.mid that.mid "something else.mid"; do aplaymidi -p ... "$f"; done
except to pause/end the current file playing
With the "for" loop, you can end the current file with "killall aplaymidi".
Regards,
Clemens
Hello, and while *.mid works with aplaymidi you cannot pick up where you
left off. Say you stopped playing a 50 file list at file #30. There's
no easy way to then continue with file #31 in the directory unless you
delete files 1-30 which in effect makes file #31 the first file. In any
event I like the idea of a GUI frontend to aplaymidi. Sincerely,
--
J. B. Wood e-mail: ***@hotmail.com
TheChris
2018-05-27 14:49:28 UTC
Permalink
Post by J.B. Wood
Hello, all. Just wondering if anyone is using the subject Python script
(http://mellowood.ca/xpmidi) that provides a GUI frontend to aplaymidi.
I'm interested in knowing if anyone has modified the script to allow
for a selection of some/all the MIDI files in a directory/playlist to be
played one after the other without further user intervention (except to
pause/end the current file playing). The downloaded script only
provides for user selection of one file at a time for playing and this
is inconvenient when you want to set up the continuous playing of many
MIDI files to, say, a digital piano. Thanks for your time and comment.
Sincerely,
I am using it. After months of false starts, and absolute BS GM headaches,
I am as pleased as can be with it..

I have not done any of the things you mention, but, I seem to remember
being able to play many songs in a row. I'm not near that machine now..
J.B. Wood
2018-05-29 10:46:11 UTC
Permalink
Post by TheChris
Post by J.B. Wood
Hello, all. Just wondering if anyone is using the subject Python script
(http://mellowood.ca/xpmidi) that provides a GUI frontend to aplaymidi.
I'm interested in knowing if anyone has modified the script to allow
for a selection of some/all the MIDI files in a directory/playlist to be
played one after the other without further user intervention (except to
pause/end the current file playing). The downloaded script only
provides for user selection of one file at a time for playing and this
is inconvenient when you want to set up the continuous playing of many
MIDI files to, say, a digital piano. Thanks for your time and comment.
Sincerely,
t
I am using it. After months of false starts, and absolute BS GM headaches,
I am as pleased as can be with it..
I have not done any of the things you mention, but, I seem to remember
being able to play many songs in a row. I'm not near that machine now..
Hello, and it's interesting to see one of my old posts is still out
there and being read. Xpmidi, aside from being free to download, is
convenient when using aplaymidi as the file player. But if you're using
a windows machine, the functionality of vanBasco's freeware MIDI player
(http://www.vanbasco.com/karaokeplayer/) is hard to beat IMHO. It plays
both .mid and .kar files (you can also pause, rewind, or start a
playback other than at the beginning) and will also show metadata about
the file being played (like Timidity++ for Linux). The vanBasco player
allows for either internal play (using the computer's soundfonts) or
connection to an external MIDI device (e.g. an M-Audio Midisport). If
using the Windows platform internal audio to play the file, I would
recommend using the Coolsoft virtual MIDI synthesizer
(https://coolsoft.altervista.org/en/virtualmidisynth) with the vanBasco
player. Coolsoft allows you to select a previously stored soundfont.
Sincerely,
--
J. B. Wood e-mail: ***@hotmail.com
TheChris
2018-06-09 10:59:53 UTC
Permalink
Post by J.B. Wood
Hello, and it's interesting to see one of my old posts is still out
there and being read. Xpmidi, aside from being free to download, is
convenient when using aplaymidi as the file player. But if you're using
a windows machine, the functionality of vanBasco's freeware MIDI player
(http://www.vanbasco.com/karaokeplayer/) is hard to beat IMHO. It plays
both .mid and .kar files (you can also pause, rewind, or start a
playback other than at the beginning) and will also show metadata about
the file being played (like Timidity++ for Linux). The vanBasco player
allows for either internal play (using the computer's soundfonts) or
connection to an external MIDI device (e.g. an M-Audio Midisport). If
using the Windows platform internal audio to play the file, I would
recommend using the Coolsoft virtual MIDI synthesizer
(https://coolsoft.altervista.org/en/virtualmidisynth) with the vanBasco
player. Coolsoft allows you to select a previously stored soundfont.
Sincerely,
I'm not using a Windows machine - most of the time. I start it from a
script, and it does everything I was looking to do. The biggest hurdle was
finding a hardware GM module. Can't believe they have fallen out of
favor!

God bless it for not requiring JACK.

Loading...