feat(legacy): visual cue point editor (#2947)

A visual cue point editor in the track editor view. This view displays the track as a waveform and allows you to set where the in- and out-cue points are set. These cue points determine the start and end points of the track.

---------

Co-authored-by: Thomas Göttgens <tgoettgens@mail.com>
Co-authored-by: Kyle Robbertze <paddatrapper@users.noreply.github.com>
This commit is contained in:
Thomas Göttgens 2024-04-21 11:13:43 +02:00 committed by GitHub
parent 71b20ae3c9
commit da02e74f21
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 9420 additions and 43 deletions

View file

@ -400,6 +400,12 @@ class LibraryController extends Zend_Controller_Action
$this->view->artist_name = $file->getPropelOrm()->getDbArtistName();
$this->view->filePath = $file->getPropelOrm()->getDbFilepath();
$this->view->artwork = $file->getPropelOrm()->getDbArtwork();
$this->view->replay_gain = $file->getPropelOrm()->getDbReplayGain();
$this->view->cuein = $file->getPropelOrm()->getDbCuein();
$this->view->cueout = $file->getPropelOrm()->getDbCueout();
$this->view->format = $file->getPropelOrm()->getDbFormat();
$this->view->bit_rate = $file->getPropelOrm()->getDbBitRate();
$this->view->sample_rate = $file->getPropelOrm()->getDbSampleRate();
$this->view->html = $this->view->render('library/edit-file-md.phtml');
}

View file

@ -217,6 +217,13 @@ class PageLayoutInitPlugin extends Zend_Controller_Plugin_Abstract
->appendFile(Assets::url('js/airtime/common/common.js'), 'text/javascript')
->appendFile(Assets::url('js/airtime/common/audioplaytest.js'), 'text/javascript');
// include wavesurfer.js for waveform display
$view->headScript()->appendFile(Assets::url('js/wavesurfer/wavesurfer.min.js'), 'text/javascript')
->appendFile(Assets::url('js/wavesurfer/timeline.min.js'), 'text/javascript')
->appendFile(Assets::url('js/wavesurfer/regions.min.js'), 'text/javascript')
->appendFile(Assets::url('js/wavesurfer/cursor.min.js'), 'text/javascript')
->appendFile(Assets::url('js/wavesurfer/libretime.js'), 'text/javascript');
$user = Application_Model_User::getCurrentUser();
if (!is_null($user)) {
$userType = $user->getType();