How to send Multiple decoded IR signals in one script
I'm not 100% certain what you are asking, so sorry if there is superfluous info in here.

Given that:

void loop() {
    for (int i = 0; i &lt; 2; i++) {
        irsend.sendNEC(0x10676897, 32);
        delay(40);
    }
    delay(5000); //5 second delay between each signal burst
}


Sends a single command twice as one burst I think what you want to do is this:

void loop() {
    for (int i = 0; i &lt; 2; i++) {
        irsend.sendNEC(106722DD, 32);
        delay(40);
        irsend.sendNEC(10676897, 32);
        delay(40);
        irsend.sendNEC(10678877, 32);
        delay(40);
    }
    delay(5000); //5 second delay between each signal burst
}


If that works it could be generalised into:

// New function to send 'items' codes which are held in the array 'data'
void sendMulti (const uint8_t&amp; items, const uint32_t* data)
{
    for (int i = 0; i &lt; 2; i++) 
    {
        for (uint8_t itemIndex = 0; itemIndex &lt; items; ++itemIndex)
        {
            irsend.sendNEC(data[itemIndex], 32);
            delay(40);
        }
    }
    delay(5000); //5 second delay between each signal burst
}

void loop () {
    static const uint8_t MaxItems = 3;
    uint32_t  data[MaxItems] = {106722DD, 10676897, 10678877};

    sendMulti(MaxItems, data);
}


Then you could move onto reading the codes from serial or a network, etc.