some errata:
the set_play above has the wrong value defined
it should be 0x80 not 0x49
corrected code:
#define SET_PLAY 0x80
also one user reported the isd worked with with the decimilia but not the older arduino. thanks eggplant.
also a brain fart on the last example it should be end>>8 and not start>>8
corrected code:
spi_transfer(end&255); // data byte stop
spi_transfer(end>>8); // data byte last 3 bits