TEAMuP-dev / HARP

A sample editing application allowing for hosted, asynchronous, remote processing of audio with machine learning by routing through Gradio endpoints.
BSD 3-Clause "New" or "Revised" License
51 stars 3 forks source link

Abstraction of media display components. #180

Closed cwitkowitz closed 3 months ago

cwitkowitz commented 3 months ago

This PR introduces a generalized media display component that can be instantiated, managed, and interfaced with from within the main GUI. The display component can represent either an audio thumbnail or a MIDI pianoroll. These are intended to be largely self-contained, though any swapping between them based on the file type being displayed is handled through the main GUI.

For now, there is no MIDI playback, and the width, zooming, and scrolling of the midi pianoroll does not conform to the generalized media display component class. This is because I expect the MIDI display component will need to undergo relatively significant changes. I am leaving roughly the original MIDI implementation that Christos added and considering completion of the remaining work for the MIDI display component as a separate task.