mirror of
https://github.com/clangen/musikcube.git
synced 2025-02-11 18:40:28 +00:00
Merge branch 'master' into clangen/sndiotest
This commit is contained in:
commit
80185085ec
@ -1,3 +1,14 @@
|
||||
0.60.1
|
||||
|
||||
musikcube:
|
||||
* fixed m4a playback
|
||||
* added support for aac and alac playback
|
||||
|
||||
musikdroid:
|
||||
* fixed crash on startup on some versions of Android. oops.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
0.60.0
|
||||
|
||||
musikcube:
|
||||
|
@ -8,7 +8,7 @@ cmake_minimum_required(VERSION 3.0)
|
||||
project(musikcube)
|
||||
set (musikcube_VERSION_MAJOR 0)
|
||||
set (musikcube_VERSION_MINOR 60)
|
||||
set (musikcube_VERSION_PATCH 0)
|
||||
set (musikcube_VERSION_PATCH 1)
|
||||
set (musikcube_VERSION "${musikcube_VERSION_MAJOR}.${musikcube_VERSION_MINOR}.${musikcube_VERSION_PATCH}")
|
||||
|
||||
include(CMakeToolsHelpers OPTIONAL)
|
||||
|
@ -1,6 +1,6 @@
|
||||
%define name musikcube
|
||||
%define build_timestamp %{lua: print(os.date("%Y%m%d"))}
|
||||
%define version 0.60.0
|
||||
%define version 0.60.1
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{dist}
|
||||
|
2
src/3rdparty/bin
vendored
2
src/3rdparty/bin
vendored
@ -1 +1 @@
|
||||
Subproject commit 549f033102ef7550b80db1e54ca03070f1dc20c5
|
||||
Subproject commit f77857c24dec5e4d6d900995ed3d140088657eb6
|
@ -61,7 +61,6 @@ TrackList::TrackList(ILibraryPtr library) {
|
||||
TrackList::TrackList(TrackList* other)
|
||||
: ids(other->ids)
|
||||
, library(other->library) {
|
||||
this->library = library;
|
||||
}
|
||||
|
||||
TrackList::TrackList(ILibraryPtr library, const int64_t* trackIds, size_t trackIdCount)
|
||||
@ -274,4 +273,4 @@ void TrackListEditor::Clear() {
|
||||
|
||||
void TrackListEditor::Shuffle() {
|
||||
this->trackList->Shuffle();
|
||||
}
|
||||
}
|
||||
|
@ -55,6 +55,7 @@
|
||||
#include <ostream>
|
||||
#include <iomanip>
|
||||
#include <limits>
|
||||
#include <sstream>
|
||||
|
||||
using namespace musik::core;
|
||||
using namespace musik::core::sdk;
|
||||
|
@ -46,6 +46,8 @@
|
||||
#include <cursespp/DialogOverlay.h>
|
||||
#include <cursespp/Screen.h>
|
||||
|
||||
#include <sstream>
|
||||
|
||||
using namespace musik;
|
||||
using namespace musik::core;
|
||||
using namespace musik::core::sdk;
|
||||
@ -258,4 +260,4 @@ void PreampOverlay::RecalculateSize() {
|
||||
this->width = std::max(0, std::min(Screen::GetWidth(), this->width));
|
||||
this->y = VERTICAL_PADDING;
|
||||
this->x = (Screen::GetWidth() / 2) - (this->width / 2);
|
||||
}
|
||||
}
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include <app/util/Playback.h>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
#include <iostream>
|
||||
|
||||
using namespace musik::cube;
|
||||
using namespace musik::core;
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
#define VERSION_MAJOR 0
|
||||
#define VERSION_MINOR 60
|
||||
#define VERSION_PATCH 0
|
||||
#define VERSION "0.60.0"
|
||||
#define VERSION_PATCH 1
|
||||
#define VERSION "0.60.1"
|
||||
|
||||
namespace musik {
|
||||
namespace cube {
|
||||
|
@ -44,6 +44,7 @@
|
||||
#include <cursespp/Screen.h>
|
||||
#include <algorithm>
|
||||
#include <thread>
|
||||
#include <iostream>
|
||||
|
||||
#ifdef WIN32
|
||||
#include <cursespp/Win32Util.h>
|
||||
|
@ -103,7 +103,6 @@ InputOverlay& InputOverlay::SetTitle(const std::string& title) {
|
||||
}
|
||||
|
||||
InputOverlay& InputOverlay::SetText(const std::string& text) {
|
||||
this->title = title;
|
||||
this->textInput->SetText(text);
|
||||
return *this;
|
||||
}
|
||||
@ -205,4 +204,4 @@ void InputOverlay::Redraw() {
|
||||
checked_wprintw(c, text::Align(this->title, text::AlignCenter, this->width - 4).c_str());
|
||||
wattroff(c, A_BOLD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
@ -22,8 +22,8 @@ android {
|
||||
applicationId "io.casey.musikcube.remote"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 28
|
||||
versionCode 60
|
||||
versionName "0.60.0"
|
||||
versionCode 61
|
||||
versionName "0.60.1"
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
|
||||
|
||||
<application
|
||||
|
@ -1,5 +1,5 @@
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.2.71'
|
||||
ext.kotlin_version = '1.3.11'
|
||||
|
||||
repositories {
|
||||
google()
|
||||
|
@ -92,11 +92,13 @@ class FfmpegDecoderFactory : public musik::core::sdk::IDecoderFactory {
|
||||
{ ".opus", AV_CODEC_ID_OPUS },
|
||||
{ ".flac", AV_CODEC_ID_FLAC },
|
||||
{ "audio/flac", AV_CODEC_ID_FLAC },
|
||||
{ ".alac", AV_CODEC_ID_ALAC },
|
||||
{ ".aac", AV_CODEC_ID_AAC },
|
||||
{ "audio/aac", AV_CODEC_ID_AAC },
|
||||
{ ".mp4", AV_CODEC_ID_MPEG4 },
|
||||
{ "audio/mp4", AV_CODEC_ID_MPEG4 },
|
||||
{ ".m4a", AV_CODEC_ID_MPEG4 },
|
||||
{ ".aac", AV_CODEC_ID_AAC },
|
||||
{ ".m4a", AV_CODEC_ID_AAC },
|
||||
{ ".mpc", AV_CODEC_ID_MUSEPACK8 },
|
||||
{ ".mp+", AV_CODEC_ID_MUSEPACK8 },
|
||||
{ ".mpp", AV_CODEC_ID_MUSEPACK8 },
|
||||
|
@ -159,6 +159,7 @@ bool TaglibMetadataReader::CanRead(const char *extension) {
|
||||
ext.compare("ape") == 0 ||
|
||||
ext.compare("mpc") == 0 ||
|
||||
ext.compare("aac") == 0 ||
|
||||
ext.compare("alac") == 0 ||
|
||||
#endif
|
||||
ext.compare("mp3") == 0 ||
|
||||
ext.compare("ogg") == 0 ||
|
||||
@ -178,14 +179,19 @@ bool TaglibMetadataReader::Read(const char* uri, ITagStore *track) {
|
||||
extension = path.substr(lastDot + 1).c_str();
|
||||
}
|
||||
|
||||
bool success = false;
|
||||
try {
|
||||
this->ReadGeneric(uri, track);
|
||||
}
|
||||
catch (...) {
|
||||
std::cerr << "generic tag read for " << uri << "failed!";
|
||||
}
|
||||
|
||||
if (extension.size()) {
|
||||
boost::algorithm::to_lower(extension);
|
||||
|
||||
if (extension == "mp3") {
|
||||
try {
|
||||
success = this->ReadID3V2(uri, track);
|
||||
this->ReadID3V2(uri, track);
|
||||
}
|
||||
catch (...) {
|
||||
std::cerr << "id3v2 tag read for " << uri << "failed!";
|
||||
@ -193,14 +199,7 @@ bool TaglibMetadataReader::Read(const char* uri, ITagStore *track) {
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
success |= this->ReadGeneric(uri, track);
|
||||
}
|
||||
catch (...) {
|
||||
std::cerr << "generic tag read for " << uri << "failed!";
|
||||
}
|
||||
|
||||
return success;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TaglibMetadataReader::ReadGeneric(const char* uri, ITagStore *target) {
|
||||
@ -210,7 +209,10 @@ bool TaglibMetadataReader::ReadGeneric(const char* uri, ITagStore *target) {
|
||||
TagLib::FileRef file(uri);
|
||||
#endif
|
||||
|
||||
if (!file.isNull()) {
|
||||
if (file.isNull()) {
|
||||
this->SetTagValue("title", uri, target);
|
||||
}
|
||||
else {
|
||||
TagLib::Tag *tag = file.tag();
|
||||
|
||||
if (tag) {
|
||||
@ -221,10 +223,10 @@ bool TaglibMetadataReader::ReadGeneric(const char* uri, ITagStore *target) {
|
||||
this->SetTagValue("title", uri, target);
|
||||
}
|
||||
|
||||
this->SetTagValue("album",tag->album(), target);
|
||||
this->SetSlashSeparatedValues("artist",tag->artist() , target);
|
||||
this->SetTagValue("genre",tag->genre(), target);
|
||||
this->SetTagValue("comment",tag->comment(), target);
|
||||
this->SetTagValue("album", tag->album(),target);
|
||||
this->SetSlashSeparatedValues("artist", tag->artist(), target);
|
||||
this->SetTagValue("genre", tag->genre(), target);
|
||||
this->SetTagValue("comment", tag->comment(), target);
|
||||
|
||||
if (tag->track()) {
|
||||
this->SetTagValue("track", tag->track(), target);
|
||||
@ -285,12 +287,10 @@ bool TaglibMetadataReader::ReadGeneric(const char* uri, ITagStore *target) {
|
||||
|
||||
TagLib::AudioProperties *audio = file.audioProperties();
|
||||
this->SetAudioProperties(audio, target);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void TaglibMetadataReader::ExtractValueForKey(
|
||||
|
Loading…
x
Reference in New Issue
Block a user