Compare commits
No commits in common. "ef19337bad881d50884f8977c025a6124046841b" and "7601a754afd997f83efbf0bd7d01978a51d3df86" have entirely different histories.
ef19337bad
...
7601a754af
@ -1,5 +1,5 @@
|
|||||||
cmake_minimum_required (VERSION 3.0...3.27)
|
cmake_minimum_required (VERSION 3.0...3.27)
|
||||||
project (nncmpp VERSION 2.1.0 LANGUAGES C)
|
project (nncmpp VERSION 2.0.0 LANGUAGES C)
|
||||||
|
|
||||||
# Moar warnings
|
# Moar warnings
|
||||||
if ("${CMAKE_C_COMPILER_ID}" MATCHES "GNU" OR CMAKE_COMPILER_IS_GNUCC)
|
if ("${CMAKE_C_COMPILER_ID}" MATCHES "GNU" OR CMAKE_COMPILER_IS_GNUCC)
|
||||||
|
6
NEWS
6
NEWS
@ -1,4 +1,4 @@
|
|||||||
2.1.0 (2024-02-11)
|
Unreleased
|
||||||
|
|
||||||
* Added ability to look up song lyrics,
|
* Added ability to look up song lyrics,
|
||||||
using a new scriptable extension interface for the Info tab
|
using a new scriptable extension interface for the Info tab
|
||||||
@ -13,14 +13,10 @@
|
|||||||
|
|
||||||
* X11: fixed rendering of overflowing, partially visible list items
|
* X11: fixed rendering of overflowing, partially visible list items
|
||||||
|
|
||||||
* X11: fixed a crash when resizing the window to zero dimensions
|
|
||||||
|
|
||||||
* Added a "o" binding to select the currently playing song
|
* Added a "o" binding to select the currently playing song
|
||||||
|
|
||||||
* Added Readline-like M-u, M-l, M-c editor bindings
|
* Added Readline-like M-u, M-l, M-c editor bindings
|
||||||
|
|
||||||
* Made the scroll wheel work on the elapsed time gauge and the volume display
|
|
||||||
|
|
||||||
* Changed volume adjustment bindings to use +/- keys
|
* Changed volume adjustment bindings to use +/- keys
|
||||||
|
|
||||||
* Changed volume adjustment to go in steps of 5 rather than 10 %
|
* Changed volume adjustment to go in steps of 5 rather than 10 %
|
||||||
|
9
nncmpp.c
9
nncmpp.c
@ -3843,13 +3843,8 @@ streams_tab_parse_playlist (const char *playlist, const char *content_type,
|
|||||||
|| (content_type && is_content_type (content_type, "audio", "x-scpls")))
|
|| (content_type && is_content_type (content_type, "audio", "x-scpls")))
|
||||||
extract_re = "^File[^=]*=(.+)";
|
extract_re = "^File[^=]*=(.+)";
|
||||||
else if ((lines.len && !strcasecmp_ascii (lines.vector[0], "#EXTM3U"))
|
else if ((lines.len && !strcasecmp_ascii (lines.vector[0], "#EXTM3U"))
|
||||||
|| (content_type && is_content_type (content_type, "audio", "mpegurl"))
|
|
||||||
|| (content_type && is_content_type (content_type, "audio", "x-mpegurl")))
|
|| (content_type && is_content_type (content_type, "audio", "x-mpegurl")))
|
||||||
// This could be "^([^#].*)", however 1. we would need to resolve
|
extract_re = "^([^#].*)";
|
||||||
// relative URIs, and 2. relative URIs probably mean a Media Playlist,
|
|
||||||
// which must be passed to MPD. The better thing to do here would be to
|
|
||||||
// reject anything with EXT-X-TARGETDURATION, and to resolve the URIs.
|
|
||||||
extract_re = "^(https?://.+)";
|
|
||||||
|
|
||||||
regex_t *re = regex_compile (extract_re, REG_EXTENDED, NULL);
|
regex_t *re = regex_compile (extract_re, REG_EXTENDED, NULL);
|
||||||
hard_assert (re != NULL);
|
hard_assert (re != NULL);
|
||||||
@ -3872,7 +3867,7 @@ streams_tab_extract_links (struct str *data, const char *content_type,
|
|||||||
}
|
}
|
||||||
|
|
||||||
streams_tab_parse_playlist (data->str, content_type, out);
|
streams_tab_parse_playlist (data->str, content_type, out);
|
||||||
return out->len != 0;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user