diff --git a/airtime_mvc/application/models/airtime/map/CcFilesTableMap.php b/airtime_mvc/application/models/airtime/map/CcFilesTableMap.php index 7ba8d3cb4..3b48a5327 100644 --- a/airtime_mvc/application/models/airtime/map/CcFilesTableMap.php +++ b/airtime_mvc/application/models/airtime/map/CcFilesTableMap.php @@ -101,7 +101,7 @@ class CcFilesTableMap extends TableMap { $this->addColumn('SOUNDCLOUD_ERROR_MSG', 'DbSoundcloudErrorMsg', 'VARCHAR', false, 512, null); $this->addColumn('SOUNDCLOUD_LINK_TO_FILE', 'DbSoundcloudLinkToFile', 'VARCHAR', false, 4096, null); $this->addColumn('SOUNDCLOUD_UPLOAD_TIME', 'DbSoundCloundUploadTime', 'TIMESTAMP', false, 6, null); - $this->addColumn('REPLAY_GAIN', 'DbReplayGain', 'VARCHAR', false, 16, null); + $this->addColumn('REPLAY_GAIN', 'DbReplayGain', 'VARCHAR', false, 16, '0'); // validators } // initialize() diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFiles.php b/airtime_mvc/application/models/airtime/om/BaseCcFiles.php index 9473418db..2bbf894cd 100644 --- a/airtime_mvc/application/models/airtime/om/BaseCcFiles.php +++ b/airtime_mvc/application/models/airtime/om/BaseCcFiles.php @@ -412,6 +412,7 @@ abstract class BaseCcFiles extends BaseObject implements Persistent /** * The value for the replay_gain field. + * Note: this column has a database default value of: '0' * @var string */ protected $replay_gain; @@ -471,6 +472,7 @@ abstract class BaseCcFiles extends BaseObject implements Persistent $this->currentlyaccessing = 0; $this->length = '00:00:00'; $this->file_exists = true; + $this->replay_gain = '0'; } /** @@ -2611,7 +2613,7 @@ abstract class BaseCcFiles extends BaseObject implements Persistent $v = (string) $v; } - if ($this->replay_gain !== $v) { + if ($this->replay_gain !== $v || $this->isNew()) { $this->replay_gain = $v; $this->modifiedColumns[] = CcFilesPeer::REPLAY_GAIN; } @@ -2661,6 +2663,10 @@ abstract class BaseCcFiles extends BaseObject implements Persistent return false; } + if ($this->replay_gain !== '0') { + return false; + } + // otherwise, everything was equal, so return TRUE return true; } // hasOnlyDefaultValues() diff --git a/airtime_mvc/build/schema.xml b/airtime_mvc/build/schema.xml index dbc13cf27..1850a6aff 100644 --- a/airtime_mvc/build/schema.xml +++ b/airtime_mvc/build/schema.xml @@ -98,7 +98,7 @@ - + diff --git a/airtime_mvc/build/sql/schema.sql b/airtime_mvc/build/sql/schema.sql index fc317e09b..78e58cfe8 100644 --- a/airtime_mvc/build/sql/schema.sql +++ b/airtime_mvc/build/sql/schema.sql @@ -124,7 +124,7 @@ CREATE TABLE "cc_files" "soundcloud_error_msg" VARCHAR(512), "soundcloud_link_to_file" VARCHAR(4096), "soundcloud_upload_time" TIMESTAMP(6), - "replay_gain" VARCHAR(16), + "replay_gain" VARCHAR(16) default '0', PRIMARY KEY ("id"), CONSTRAINT "cc_files_gunid_idx" UNIQUE ("gunid") ); diff --git a/python_apps/media-monitor/airtimefilemonitor/replay_gain.py b/python_apps/media-monitor/airtimefilemonitor/replay_gain.py index 2cd0fd397..8207deaa8 100644 --- a/python_apps/media-monitor/airtimefilemonitor/replay_gain.py +++ b/python_apps/media-monitor/airtimefilemonitor/replay_gain.py @@ -28,8 +28,8 @@ def get_mime_type(file_path): def calculate_replay_gain(file_path): """ - This function accepts files of type mp3/ogg/flac and returns a calculated ReplayGain value. - If the value cannot be calculated for some reason, then we default to 1. + This function accepts files of type mp3/ogg/flac and returns a calculated ReplayGain value in dB. + If the value cannot be calculated for some reason, then we default to 0 (Unity Gain). TODO: Currently some of the subprocesses called will actually insert metadata into the file itself, @@ -66,7 +66,7 @@ def calculate_replay_gain(file_path): pass #Log unknown file type. - replay_gain = 1 + replay_gain = 0 if search: matches = search.groups() if len(matches) == 1: