There are two directions that you can go. If you wish to define your function ff outside of the Manipulate then you should use the option
SaveDefinitions->True
as in,
ff[q_, t_] := q*Sin[t] + (1 - q)*Sin[2*t]
Manipulate[Plot[ff[q, t], {t, 0, 2*Pi}], {q, 0, 1},
SaveDefinitions -> True]
Note that I slightly changed your expression for ff to (a) have both variables with in a single argument structure (you could go either way) and (b) to make its definition a delayed evaluation (:=) rather than an immediate evaluation (=).
The alternative approach is to include the definition of ff in the Initialization option to Manipulate as in:
Manipulate[Plot[ff[q, t], {t, 0, 2*Pi}], {q, 0, 1},
Initialization :> {ff[q_, t_] := q*Sin[t] + (1 - q)*Sin[2*t]}]
Note that the Initialization option is expressed as a delayed rule.