Even if you want to do the filtering strictly in the frequency domain using FFTs, you will still need to compute the time-domain impulse response of your desired multi-band frequency modification and somehow limit the length of this impulse response that is above some noise floor. Then you will need to use longer FFTs and IFFTs that are as long or longer than the sum of the length of this impulse response plus the length of your data windows. If you want to process blocks or windows shorter than the entire length of your signal (entire song, etc.), then you will additionally have to use overlap-add or overlap-save processing to combine all the FFT fast convolution filter results.
If you don't do the above, you will get circular convolution artifacts corrupting your filter output.
Thus, even frequency domain filtering requires some creation and analysis of a time domain filter kernel, which may turn out to be non-trivial.
You may also need to evaluate the frequency response between your modification points (FFT bins, etc.), which can end up extremely distorted (ripple, pre-ring, etc.) near any sudden changes in your desired frequency control adjustments.