A lot of the input in the Quickfort-generated macros are unnecessary because Quickfort seems to output all the possible bindings per key (e.g. bed, ballista etc).
In spite of being unnecessary, they are still processed by the game when the macro is played back. Filtering them out should help.
I use this sed script for cleaning up the .mak file for a furniture build phase after it's generated:
#!/usr/local/bin/gsed -nf
#1 s/\(.*\)/\1Clean/p
1p
2,$ {
/HOTKEY_BUILDING_MACHINE/d
/HOTKEY_BUILDING_CONSTRUCTION/d
/HOTKEY_BUILDING_WORKSHOP/d
/HOTKEY_BUILDING_FURNACE/d
/HOTKEY_BUILDING_SIEGEENGINE/d
/HOTKEY_BUILDING_TRAP/d
/HOTKEY_BUILDING/p
/CURSOR/p
/End/p
/SELECT$/p
/LEAVESCREEN/p
}
In your particular case, you would make a copy of your .mak file, go into this copied file and remove all lines after the first line (the title) that aren't one of:
CURSOR_* (CURSOR_UP, CURSOR_DOWN, CURSOR_DOWN_FAST, CURSOR_DOWNLEFT, etc)
End of group
End of macro
HOTKEY_BUILDING_BED
HOTKEY_BUILDING_DOOR
HOTKEY_BUILDING_CABINET
SELECT
SEC_SELECT
LEAVESCREEN
You should also rename the title or move the original .mak file from the macro folder.
At this point, you should be able run this macro with a higher MACRO_MS and it should finish fairly quickly.
Do bear in mind that it's ok to wait a little considering that you are designating 768 pieces of furniture.
Hope that helps,