Make sure state.is_recording is always correct.

previously it was never set to False after a recording. i think it is probably best to keep this status in sync within Recorder but maybe there is a better option?