Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
1.6.0-bacon20
Fixed MIDI muting
Added MIDI chord command (MCHD)

1.6.0-bacon19
Create column Titles.
* Every view will have a column title (or header).
Expand Down
5 changes: 5 additions & 0 deletions docs/wiki/What-is-LittlePiggyTracker.md
Original file line number Diff line number Diff line change
Expand Up @@ -546,6 +546,11 @@ don't forget trying to combine it with complex hop structure !
- LPOF is absolute
- you can't trigger a note with the LPOF, it has to be executed after a sample is playing
- every time you trigger a sample LPOF is set back to the instrument parameters

## MCHD aabb

Plays the notes aa and bb semitones higher than the last played note (modulo 128). Note that the value `00` is ignored. The chords tones will last as long as the root note, i.e. until another note is played on the channel.

## MDCC aabb

**Sends a MIDI “continuous control” message. aa is the control number and bb is the value. It will be sent on the MIDI channel of the currently running instrument.**
Expand Down
35 changes: 6 additions & 29 deletions sources/Application/Instruments/CommandList.cpp
Original file line number Diff line number Diff line change
@@ -1,35 +1,12 @@

#include "CommandList.h"

static FourCC _all[]= {
I_CMD_NONE,
I_CMD_ARPG,
I_CMD_CRSH,
I_CMD_DLAY,
I_CMD_FBMX,
I_CMD_FBTN,
I_CMD_FCUT,
I_CMD_FLTR,
I_CMD_FRES,
I_CMD_GROV,
I_CMD_HOP,
I_CMD_IRTG,
I_CMD_KILL,
I_CMD_LEGA,
I_CMD_LPOF,
I_CMD_MDCC,
I_CMD_MDPG,
I_CMD_MVEL,
I_CMD_PAN_,
I_CMD_PFIN,
I_CMD_PLOF,
I_CMD_PTCH,
I_CMD_RTRG,
I_CMD_STOP,
I_CMD_TABL,
I_CMD_TMPO,
I_CMD_VOLM
} ;
static FourCC _all[] = {
I_CMD_NONE, I_CMD_ARPG, I_CMD_CRSH, I_CMD_DLAY, I_CMD_FBMX, I_CMD_FBTN,
I_CMD_FCUT, I_CMD_FLTR, I_CMD_FRES, I_CMD_GROV, I_CMD_HOP, I_CMD_IRTG,
I_CMD_KILL, I_CMD_LEGA, I_CMD_LPOF, I_CMD_MCHD, I_CMD_MDCC, I_CMD_MDPG,
I_CMD_MVEL, I_CMD_PAN_, I_CMD_PFIN, I_CMD_PLOF, I_CMD_PTCH, I_CMD_RTRG,
I_CMD_STOP, I_CMD_TABL, I_CMD_TMPO, I_CMD_VOLM};

int CommandList::GetCount() { return sizeof(_all) / sizeof(FourCC); }

Expand Down
1 change: 1 addition & 0 deletions sources/Application/Instruments/CommandList.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#define I_CMD_LEGA MAKE_FOURCC('L','E','G','A')
#define I_CMD_RTRG MAKE_FOURCC('R','T','R','G')
#define I_CMD_TMPO MAKE_FOURCC('T','M','P','O')
#define I_CMD_MCHD MAKE_FOURCC('M', 'C', 'H', 'D')
#define I_CMD_MDCC MAKE_FOURCC('M','D','C','C')
#define I_CMD_MDPG MAKE_FOURCC('M','D','P','G')
#define I_CMD_MVEL MAKE_FOURCC('M','V','E','L')
Expand Down
12 changes: 8 additions & 4 deletions sources/Application/Instruments/I_Instrument.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ class I_Instrument:public VariableContainer, public Observable {

virtual bool Init()=0 ;

// Start & stop the instument
virtual bool Start(int channel,unsigned char note,bool retrigger=true)=0 ;
// Start & stop the instument
// flags & 1 indicates retriggers (default)
// flags & 2 indicates muting (i.e. no trigger)
virtual bool Start(int channel,unsigned char note,int flags=1)=0 ;
virtual void Stop(int channel)=0 ;

// Engine playback start callback
Expand All @@ -33,8 +35,10 @@ class I_Instrument:public VariableContainer, public Observable {

// size refers to the number of samples
// should always fill interleaved stereo / 16bit

virtual bool Render(int channel,fixed *buffer,int size,bool updateTick)=0 ;

// flags & 1 indicates 'updateTick'.
// flags & 2 indicated muting (i.e. stop notes)
virtual bool Render(int channel,fixed *buffer,int size,int flags)=0 ;

virtual bool IsInitialized()=0 ;

Expand Down
Loading
Loading