mirror of
https://github.com/clangen/musikcube.git
synced 2025-01-29 03:32:42 +00:00
commit
f1c45b2746
@ -699,7 +699,7 @@ sdk:
|
||||
FreeBSD only release.
|
||||
|
||||
musikcube:
|
||||
* *finally* fixed the FreeBSD scrollbar crasher. yeesh.
|
||||
* *finally* fixed the FreeBSD scrollbar crash. yeesh.
|
||||
* fixed a bug in the `sndio` output plugin that may cause the first few buffers
|
||||
of audio data to be discarded when manually changing tracks.
|
||||
|
||||
@ -1581,7 +1581,7 @@ win32 only release:
|
||||
|
||||
user-facing:
|
||||
|
||||
* added new `musikdroid` android remote control! super userful with a Raspberry
|
||||
* added new `musikdroid` android remote control! super useful with a Raspberry
|
||||
Pi. run musikbox in the background and control it from your phone.
|
||||
* added a new `websocket_remote` plugin that allows any client capable of
|
||||
communciating with websockets the ability to control playback and query
|
||||
|
@ -2,7 +2,7 @@
|
||||
import sys
|
||||
import os
|
||||
|
||||
# Take a sysroot directory and turn all the abolute symlinks and turn them into
|
||||
# Take a sysroot directory and turn all the absolute symlinks into
|
||||
# relative ones such that the sysroot is usable within another system.
|
||||
|
||||
if len(sys.argv) != 2:
|
||||
|
@ -1160,4 +1160,4 @@ ITransport::Gain PlaybackService::GainAtIndex(size_t index) {
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
@ -384,7 +384,7 @@ void musik::core::audio::playerThreadLoop(Player* player) {
|
||||
specific callback time because its internal buffer is full. */
|
||||
if ((int) playResult >= 0) {
|
||||
/* if there is no visualizer active, we can introduce an
|
||||
artifical delay of 25% of the buffer size to ease CPU load */
|
||||
artificial delay of 25% of the buffer size to ease CPU load */
|
||||
auto visualizer = vis::SelectedVisualizer();
|
||||
if (!visualizer || !visualizer->Visible()) {
|
||||
sleepMs = std::max(
|
||||
|
@ -683,7 +683,7 @@ static int patternCompare(
|
||||
|
||||
/*
|
||||
** Implementation of the like() SQL function. This function implements
|
||||
** the build-in LIKE operator. The first argument to the function is the
|
||||
** the built-in LIKE operator. The first argument to the function is the
|
||||
** pattern and the second argument is the string. So, the SQL statements:
|
||||
**
|
||||
** A LIKE B
|
||||
|
@ -98,7 +98,7 @@ ILibraryPtr LibraryFactory::CreateLibrary(const std::string& name, ILibrary::Typ
|
||||
new unique identifier for this one... */
|
||||
|
||||
int existingId = -1;
|
||||
int nextId = 0; /* we start at 1 becuase we always have. */
|
||||
int nextId = 0; /* we start at 1 because we always have. */
|
||||
for (size_t i = 0; i < libraries.size(); i++) {
|
||||
std::string n = libraries.at(i);
|
||||
int id = prefs->GetInt(name);
|
||||
|
@ -89,7 +89,7 @@ namespace musik { namespace core { namespace library { namespace query {
|
||||
respective IDs for regular properties, that is, albums, artists, album artists,
|
||||
and genres. these resource types are the most common, and are optimized for display.
|
||||
the query may also be predicated to select all resources that are related to other
|
||||
resources, including extended resources. the full requerly propety looks something
|
||||
resources, including extended resources. the full requerly property looks something
|
||||
like the following example where we query all albums made in "1995" by "J. Cantrell": */
|
||||
|
||||
// SELECT DISTINCT albums.id, albums.name
|
||||
@ -155,7 +155,7 @@ namespace musik { namespace core { namespace library { namespace query {
|
||||
"ORDER BY extended_metadata.value ASC";
|
||||
|
||||
/* used to select all tracks that match a specified set of predicates. both
|
||||
regular and extended predicates are supported. in essense: */
|
||||
regular and extended predicates are supported. in essence: */
|
||||
|
||||
// SELECT DISTINCT tracks.*
|
||||
// FROM tracks
|
||||
|
@ -255,7 +255,7 @@ bool AppLayout::KeyPress(const std::string& key) {
|
||||
}
|
||||
|
||||
/* the child layout didn't handle it directly, so let's walk
|
||||
up the parent hierarhcy to see if there's someone who can. */
|
||||
up the parent hierarchy to see if there's someone who can. */
|
||||
auto focus = this->layout->GetFocus().get();
|
||||
while (focus != nullptr && focus != this) {
|
||||
auto asKeyHandler = dynamic_cast<IKeyHandler*>(focus);
|
||||
|
@ -48,7 +48,7 @@ using namespace nlohmann;
|
||||
using namespace boost::filesystem;
|
||||
|
||||
/* if the terminal supports custom colors, these are the palette
|
||||
indicies we'll use to store them */
|
||||
indices we'll use to store them */
|
||||
#define THEME_COLOR_BACKGROUND 16
|
||||
#define THEME_COLOR_FOREGROUND 17
|
||||
#define THEME_COLOR_FRAME_FOCUSED 18
|
||||
|
@ -20,7 +20,7 @@ import kotlin.math.min
|
||||
|
||||
/**
|
||||
* When MP3 files are transcoded on-demand, the required metadata for gapless playback isn't
|
||||
* available yet. So, once we know the transocded files have been downloaded, we run this
|
||||
* available yet. So, once we know the transcoded files have been downloaded, we run this
|
||||
* service to fetch and replace the first few bytes of the file, which should ensure the
|
||||
* required header is present, and subsequent plays are gapless.
|
||||
*/
|
||||
|
@ -107,7 +107,7 @@ class ItemContextMenuMixin(private val activity: AppCompatActivity,
|
||||
EnterPlaylistNameDialog.showForCreate(activity, this)
|
||||
|
||||
fun createPlaylist(playlistName: String) {
|
||||
@Suppress("ununsed")
|
||||
@Suppress("unused")
|
||||
provider.createPlaylist(playlistName).subscribeBy(
|
||||
onNext = { id ->
|
||||
if (id > 0L) {
|
||||
|
@ -135,8 +135,8 @@ class PipeWireOut : public IOutput {
|
||||
this->buffer = buffer;
|
||||
if (buffer) {
|
||||
struct spa_buffer* spaBuffer = buffer->buffer;
|
||||
this->writePtr = (char*) spaBuffer->datas[0].data;
|
||||
this->remaining = spaBuffer->datas[0].maxsize;
|
||||
this->writePtr = (char*) spaBuffer->data[0].data;
|
||||
this->remaining = spaBuffer->data[0].maxsize;
|
||||
this->total = this->remaining;
|
||||
}
|
||||
else {
|
||||
@ -155,7 +155,7 @@ class PipeWireOut : public IOutput {
|
||||
}
|
||||
void Finalize(pw_stream* stream, uint32_t stride) {
|
||||
if (this->Valid()) {
|
||||
spa_data& data = this->buffer->buffer->datas[0];
|
||||
spa_data& data = this->buffer->buffer->data[0];
|
||||
data.chunk->offset = 0;
|
||||
data.chunk->stride = stride;
|
||||
data.chunk->size = this->total - this->remaining;
|
||||
|
@ -780,7 +780,7 @@ void WebSocketServer::RespondWithPlayQueueTracks(connection_hdl connection, json
|
||||
|
||||
/* note: the user can query the "live" (i.e. current) play queue, or a
|
||||
a previously "snapshotted" playqueue. the former is generally used for
|
||||
remote playback, the latter is used for transfering context from remote
|
||||
remote playback, the latter is used for transferring context from remote
|
||||
to streaming. */
|
||||
std::string type = value::live;
|
||||
|
||||
|
@ -140,7 +140,7 @@ class WebSocketServer {
|
||||
|
||||
void RespondWithSendRawQuery(connection_hdl connection, json& request);
|
||||
void RespondWithSetVolume(connection_hdl connection, json& request);
|
||||
void RespondWithPlaybackOverview(connection_hdl connection, json& reuest);
|
||||
void RespondWithPlaybackOverview(connection_hdl connection, json& request);
|
||||
bool RespondWithTracks(connection_hdl connection, json& request, ITrackList* tracks, int limit, int offset);
|
||||
void RespondWithQueryTracks(connection_hdl connection, json& request);
|
||||
void RespondWithQueryTracksByExternalIds(connection_hdl connection, json& request);
|
||||
|
@ -103,7 +103,7 @@ class WaveOut : public IOutput {
|
||||
double currentVolume;
|
||||
bool playing;
|
||||
|
||||
/* a queue of buffers we've recieved from the core Player, and have enqueued
|
||||
/* a queue of buffers we've received from the core Player, and have enqueued
|
||||
to the output device. we need to notify the IBufferProvider when they have finished
|
||||
playing. */
|
||||
BufferList queuedBuffers;
|
||||
|
@ -52,7 +52,7 @@ namespace win32cpp {
|
||||
///
|
||||
///When performing graphics operations on a Window's DC, changes are drawn
|
||||
///directly to screen; this leads to flickering. MemoryDC creates an offscreen
|
||||
///buffer that "accumulates" changes, which are copied to a desination DC
|
||||
///buffer that "accumulates" changes, which are copied to a destination DC
|
||||
///when all drawing has finished.
|
||||
///
|
||||
///MemoryDC is constructed with an HDC and a Rect as parameters, and provides
|
||||
|
Loading…
x
Reference in New Issue
Block a user