After a long period of development, we have finally merge the librarify branch 19 into the main branch and we release it here as v0.3.0 🎉
* We finally split the original `Score.hpp` into multiple files successfully, and make them a c++ library, which means now you could use symusic easily in your own c++ project! Yikai-Liao lzqlzzq
* A branch new [SoA](https://en.wikipedia.org/wiki/AoS_and_SoA) interface #18 in this version Yikai-Liao, and more `SoA` based functions will be introduced in the future 10.
Here is an example:
python
note_arr: Dict[str, np.ndarray] = score.tracks[0].notes.numpy()
* Re-implement Pianoroll 16 lzqlzzq
* Second is fully supported now 17 Yikai-Liao ilya16
* [nanobind](https://github.com/wjakob/nanobind) is introduced as the new python binding framework instead of pybind11, to reduce overhead. Yikai-Liao The overhead benchmark is available in #18
* A yet to be completed [document](https://yikai-liao.github.io/symusic/) is added to github pages. We choose [mdbook](https://github.com/rust-lang/mdBook) as the framework. Yikai-Liao
* A filter method is added for all the List like objects in symusic Yikai-Liao , you can use them like this:
python
score.tracks[0].notes.filter(lambda note: note.pitch > 60, inplace=True)
`