We want to share






























Data Sharing - General





























































struct not_padded
{
    int8  c;
    int32 l;
};

// fails
assert_anywhere( sizeof (not_padded) == 5 );

struct padded
{
    int8  c;
    int8  pad [3];
    int32 l;
};

// passes
assert_anywhere( sizeof (padded) == 8 );






























































Sharing Program Resources































Sharing Data Resources
class MIDIOutObject {
public:
    MIDIOutObject();
    virtual ~MIDIOutObject();
    
    virtual void InitMIDIOutput();
    virtual void SetupMIDIPorts();
    virtual void SetupMIDIChannel(short channelNum, short patchNum);
    virtual void ShutdownMIDIOutput();
    
    virtual OSErr OutputMIDIPacket(MIDIPacketPtr packet);
};