|
From: <vo...@ct...> - 2010-06-21 22:05:14
|
Hi Pete,
Today I downloaded Jazz++ and built it as instructed in sourceforge. It all
looked to compile clean.
It worked well. I am running a quad core AMD64 (HP) machine with Fedora 12.
I use a Yamaha keyboard with a UX16 midi-to-usb cable as both input and
output.
There was a minor hang when I clicked on the instrument column. (Assert
Failed while clicking on trackname.) Here is the backtrace it produced:
ASSERT INFO:
../wxWidgets-2.8/src/gtk/listbox.cpp(859): assert "IsValid(n)" failed in
DoSetSelection(): invalid index in wxListBox::SetSelection
BACKTRACE:
[1] wxListBox::DoSetSelection(int, bool)
[2] wxListBoxBase::SetSelection(int)
[3]
JZTrackDialog::TransferDataToWindow()
/home/vogelrl/OutsideSource/JazzBuild/src/../../jazz/src/Dialogs/TrackDialog.cpp:172
[4] wxWindowBase::OnInitDialog(wxInitDialogEvent&)
[5] wxAppConsole::HandleEvent(wxEvtHandler*, void
(wxEvtHandler::*)(wxEvent&), wxEvent&) cons)
[6] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&)
[7] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[8] wxEvtHandler::ProcessEvent(wxEvent&)
[9] wxWindowBase::InitDialog()
[10] wxDialog::Show(bool)
[11] wxDialog::ShowModal()
[12]
JZTrack::Dialog(JZTrackWindow*)
/home/vogelrl/OutsideSource/JazzBuild/src/../../jazz/src/Track.cpp:1908
[13]
JZTrackWindow::OnLeftButtonUp(wxMouseEvent&)
/home/vogelrl/OutsideSource/JazzBuild/src/../../jazz/src/TrackWindow.cpp:394
[14] wxAppConsole::HandleEvent(wxEvtHandler*, void
(wxEvtHandler::*)(wxEvent&), wxEvent&) cons)
[15] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&)
[16] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[17] wxEvtHandler::ProcessEvent(wxEvent&)
[18] wxWindow::GTKProcessEvent(wxEvent&) cons)
[19] g_closure_invoke()
[20] g_signal_emit_valist()
[21] g_signal_emit()
[22] gtk_propagate_event()
[23] gtk_main_do_event()
[24] g_main_context_dispatch()
[25] g_main_loop_run()
[26] gtk_main()
I have suggestions for enhancement that you could consider...
* I have a somewhat complete routine that accepts midi input, takes the
difference between the notes, and then normalizes the intervals to mod(12).
It turns out that doing this gives each chord a fairly unique signature, and
it outputs the kind of chord that is being played (Em7,C7, C7b9b13...for
example.) It's called Midi2Chord. Possibly this could be incorporated so
that chords are identified as they are played. That could be a data entry
tool. Alternatively, it might be used to identify chords from imported midi
files. If you are interested in this, I could send you code.
It shouldn't be too tough to code a Chord2Midi routine that would do the
opposite. That way, given a lead sheet, it would be possible to generate
midi notes. (Are you familiar with Band-in-a-box ?) I'm tinkering with
'gmorgan' (which is no longer supported by anyone. Take a look.) to do
something similar.
* There is a wave2midi converter called WAON that will take a wave file
and convert it to midi. Perhaps that could be placed on the menu as an
import for audio files. (?)
* It would be good to elaborate the dialog box that controls voicing so
that there could be volume, midi channel, device (or synth), pan, reverb,
chorus.... I didn't find the mixing facility, so maybe that is the answer.
Anyway, I'd like to be able to use the Yamaha for some voices, or mix Linux
voices in also with the Yamaha, use Hydrogen as a midi driven instrument (I
like its sounds.), use Qsynth...and so on.
* Would it be a good idea to use Jack ? How about Lash ?
Anyway, Jazz++ looks very good. I hope you find this constructive...With
some guidance from you, maybe I could help out some.
Bob Vogel
|