mirror of
https://github.com/Poniverse/Pony.fm.git
synced 2024-11-22 04:58:01 +01:00
Added ALAC upload support and improved the upload page.
This commit is contained in:
parent
4b3a0808a0
commit
093f7ffb9d
4 changed files with 15 additions and 14 deletions
|
@ -51,6 +51,7 @@ class GenerateTrackFilesCommand extends CommandBase
|
|||
'flac',
|
||||
'pcm',
|
||||
'adpcm',
|
||||
'alac'
|
||||
];
|
||||
|
||||
public function __construct(Track $track, SplFileInfo $sourceFile, bool $autoPublish = false)
|
||||
|
|
|
@ -112,8 +112,8 @@ class UploadTrackCommand extends CommandBase
|
|||
'track' =>
|
||||
'required|'
|
||||
. ($this->_allowLossy
|
||||
? 'audio_format:flac,pcm,adpcm,aac,mp3,vorbis|'
|
||||
: 'audio_format:flac,pcm,adpcm|')
|
||||
? 'audio_format:flac,alac,pcm,adpcm,aac,mp3,vorbis|'
|
||||
: 'audio_format:flac,alac,pcm,adpcm|')
|
||||
. ($this->_allowShortTrack ? '' : 'min_duration:30|')
|
||||
. 'audio_channels:1,2',
|
||||
|
||||
|
@ -250,22 +250,16 @@ class UploadTrackCommand extends CommandBase
|
|||
// all tags read by getID3, including the cover art
|
||||
$allTags = $getId3->analyze($file->getPathname());
|
||||
|
||||
// tags specific to a file format (ID3 or Atom), pre-normalization but with cover art removed
|
||||
$rawTags = [];
|
||||
|
||||
// normalized tags used by Pony.fm
|
||||
$parsedTags = [];
|
||||
// $rawTags => tags specific to a file format (ID3 or Atom), pre-normalization but with cover art removed
|
||||
// $parsedTags => normalized tags used by Pony.fm
|
||||
|
||||
if ($audioCodec === 'mp3') {
|
||||
list($parsedTags, $rawTags) = $this->getId3Tags($allTags);
|
||||
|
||||
} elseif (Str::startsWith($audioCodec, 'aac')) {
|
||||
} elseif (Str::startsWith($audioCodec, ['aac', 'alac'])) {
|
||||
list($parsedTags, $rawTags) = $this->getAtomTags($allTags);
|
||||
|
||||
} elseif ($audioCodec === 'vorbis') {
|
||||
list($parsedTags, $rawTags) = $this->getVorbisTags($allTags);
|
||||
|
||||
} elseif ($audioCodec === 'flac') {
|
||||
} elseif (in_array($audioCodec, ['vorbis', 'flac'])) {
|
||||
list($parsedTags, $rawTags) = $this->getVorbisTags($allTags);
|
||||
|
||||
} elseif (Str::startsWith($audioCodec, ['pcm', 'adpcm'])) {
|
||||
|
|
|
@ -64,6 +64,10 @@ class PfmValidator extends Illuminate\Validation\Validator
|
|||
return true;
|
||||
}
|
||||
|
||||
if (in_array('alac', $parameters) && Str::startsWith($codecString, 'alac')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return in_array($file->getAudioCodec(), $parameters);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,11 +3,13 @@
|
|||
<p>Drop files here to begin your upload!</p>
|
||||
</div>
|
||||
|
||||
<p>FLAC, WAV, and AIFF files will be accepted. Each file can be up to 200 MB in size.</p>
|
||||
<p>Our preferred formats are FLAC, WAV, AIFF, and ALAC (because lossless audio is awesome) but we accept a few others, too. Each file can be up to 200 MB in size.</p>
|
||||
|
||||
<p>Tracks must be a <strong>minimum</strong> of 30 seconds long.</p>
|
||||
|
||||
<p>Please note that you need to publish your tracks after uploading them before they will become available to the public.</p>
|
||||
<p>Note that you'll need to publish your tracks after uploading them before they'll become available to the public.</p>
|
||||
|
||||
<p>Contact <a href="mailto:feld0@pony.fm">feld0@pony.fm</a> if you run into any issues!</p>
|
||||
|
||||
<ul class="uploads">
|
||||
<li ng-repeat="upload in data.queue track by $index" ng-class="{'uploading': upload.isUploading, 'has-error': upload.error != null, 'is-processing': upload.isProcessing || upload.progress >= 100}" ng-animate="'upload-queue'">
|
||||
|
|
Loading…
Reference in a new issue