add wave.cpp