Author Topic: MIDI Program Changes (changing patch via MIDI)  (Read 988 times)

MIDI Program Changes (changing patch via MIDI)

« on: February 08, 2016, 05:41:32 PM »
Open quickbuttons

Piombo

Posts: 6

Offline
  • *
  • Newbie
    • View Profile
Hi, i'm setting up my ATM trying the best of it in term of manageability with my ableton live set. Going throu the MIDI implementation chart in the manual of the ATM i can see that the voice "program changes" is crossed off, in fact changing bank sub-bank, program or any combination of them makes no changes at all. Is there a way to control the patches changes via midi from a whatsoever sequencer? (ableton in this case) or is possible to control the librarian from/into a DAW anyhow?

Re: MIDI Program Changes (changing patch via MIDI)

« Reply #1 on: February 11, 2016, 09:02:52 PM »
Open quickbuttons

paulsoulsby

Posts: 182

Offline
  • Administrator
  • *****
  • Full Member
    • View Profile
At the moment, the answer is no.  But it is something that could be added.
Reason for not adding it was purely personal.  I've had too many amazing sounds lost forever when the DAWs prog change was accidentally on and I press play!!

The software is continually being developed, so I could add a setting in the settings file to allow program change to be enabled.  Will do this in the next version.

Re: MIDI Program Changes (changing patch via MIDI)

« Reply #2 on: October 07, 2017, 11:18:08 PM »
Open quickbuttons

steholmes

Posts: 5

Offline
  • *
  • Newbie
    • View Profile
Just bought my Atmegatron at SynthfestUK and was wondering if this was ever implemented? If so where is the settings file and how do i turn it on?

Thanks

Re: MIDI Program Changes (changing patch via MIDI)

« Reply #3 on: October 10, 2017, 07:59:58 AM »
Open quickbuttons

rio

Posts: 23

Offline
  • *
  • Newbie
    • View Profile
Hi steholmes,

I can post the source modification for both devices here, but I am a bit busy at time and I need a bit time to look... I have implemented it myself sometimes ago for my own requirements.

Greetings rio
« Last Edit: October 10, 2017, 08:12:34 AM by rio »

Re: MIDI Program Changes (changing patch via MIDI)

« Reply #4 on: October 10, 2017, 03:15:09 PM »
Open quickbuttons

rio

Posts: 23

Offline
  • *
  • Newbie
    • View Profile
ok here are the changes for both devices:


1. libraries/Midi/Midibase.h
add method declaration after midiControlChangeReceived

Code: [Select]
virtual void midiProgramChangeReceived(unsigned char pc) = 0;

2. libraries/Midi/Midi.cpp
change following lines in Midi::read

Code: [Select]
void Midi::read(unsigned char in_byte)
{
..

else if (status_buffer!=0)
{
if (first_byte == true)
{
//note_byte = in_byte; //
//first_byte = false; // replace this both lines with:

if (status_buffer == (PROGRAM_CHANGE | channel_))
{
if (in_byte < 16) base_->midiProgramChangeReceived(in_byte);
} else {

note_byte = in_byte;
first_byte = false;
}
}
else
{

..
}


for Atmegatron:

3a. libraries/AtmEngine/AtmEngine.h
add method declaration after midiControlChangeReceived

Code: [Select]
void midiProgramChangeReceived(unsigned char pc);


4a. libraries/AtmEngine/AtmEngine.cpp
add method

Code: [Select]
void AtmEngine::midiProgramChangeReceived(unsigned char pc)
{
getPatchPtr()->readPatch(pc);
}


for Odytron:

3b. libraries/OdyEngine/OdyEngine.h
add method declaration after midiControlChangeReceived

Code: [Select]
void midiProgramChangeReceived(unsigned char pc);


4b. libraries/OdyEngine/OdyEngine.cpp
add method

Code: [Select]
void OdyEngine::midiProgramChangeReceived(unsigned char pc)
{
getPatchPtr()->readPatch(pc);
}


5. recompile both projects and upload the binaries to your devices.


I had compiled atmegatron with libraries 2.1 and odytron with libraries 2.3 in the past, but this should work with last libraries sources too. Maybe Paul will add this to last source/build.

Greetings.
« Last Edit: October 11, 2017, 09:25:39 AM by rio »

Re: MIDI Program Changes (changing patch via MIDI)

« Reply #5 on: October 12, 2017, 09:22:00 PM »
Open quickbuttons

paulsoulsby

Posts: 182

Offline
  • Administrator
  • *****
  • Full Member
    • View Profile
Thanks very much for doing this!  I'll add this as a setting for the next software update.