State machine doesn't function
I don't know enough about how tapes work to comment on the sense of what you're doing, but some problems with the code:

You are reading the input and setting buttonstate once only in setup(). You need to read it repeatedly, by putting it in loop().

You also have three variables called state: one global which is never set, and two with very restricted scope which are set but never used - they go out of scope immediately. Remove the ints where you set state in your loop().

This part is useless because you've already done it just above, but probably not hurting anything:

if (stopState == LOW) { 
    state = STOP; 
}


That's as far as I got. If that doesn't fix it, consider adding trace: you'd have found these two problems pretty quickly if you'd printed out the variables to check your assumptions.