diff --git a/README.md b/README.md
index a63446b..cd6e0be 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,3 @@
-# wavelet
+# audrey
-A description of this project.
+a native navidrome/subsonic player with all of the right features and none of the wrong ones
diff --git a/data/eu.callcc.Wavelet.gschema.xml b/data/eu.callcc.Wavelet.gschema.xml
deleted file mode 100644
index 9fe5bab..0000000
--- a/data/eu.callcc.Wavelet.gschema.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/data/eu.callcc.Wavelet.service.in b/data/eu.callcc.Wavelet.service.in
deleted file mode 100644
index 97369b5..0000000
--- a/data/eu.callcc.Wavelet.service.in
+++ /dev/null
@@ -1,3 +0,0 @@
-[D-BUS Service]
-Name=eu.callcc.Wavelet
-Exec=@bindir@/wavelet --gapplication-service
diff --git a/data/eu.callcc.Wavelet.desktop.in b/data/eu.callcc.audrey.desktop.in
similarity index 71%
rename from data/eu.callcc.Wavelet.desktop.in
rename to data/eu.callcc.audrey.desktop.in
index 9ce746d..91310db 100644
--- a/data/eu.callcc.Wavelet.desktop.in
+++ b/data/eu.callcc.audrey.desktop.in
@@ -1,7 +1,7 @@
[Desktop Entry]
-Name=wavelet
-Exec=wavelet
-Icon=eu.callcc.Wavelet
+Name=audrey
+Exec=audrey
+Icon=eu.callcc.audrey
Terminal=false
Type=Application
Categories=Utility;
diff --git a/data/eu.callcc.audrey.gschema.xml b/data/eu.callcc.audrey.gschema.xml
new file mode 100644
index 0000000..ba0ae72
--- /dev/null
+++ b/data/eu.callcc.audrey.gschema.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/data/eu.callcc.Wavelet.metainfo.xml.in b/data/eu.callcc.audrey.metainfo.xml.in
similarity index 94%
rename from data/eu.callcc.Wavelet.metainfo.xml.in
rename to data/eu.callcc.audrey.metainfo.xml.in
index 200bd74..92263bd 100644
--- a/data/eu.callcc.Wavelet.metainfo.xml.in
+++ b/data/eu.callcc.audrey.metainfo.xml.in
@@ -1,10 +1,10 @@
- eu.callcc.Wavelet
+ eu.callcc.audrey
CC0-1.0
AGPL-3.0-or-later
- Wavelet
+ audrey
Keep the summary shorter, between 10 and 35 characters
No description
@@ -33,10 +33,10 @@
https://example.org/contribute
- wavelet
+ audrey
- eu.callcc.Wavelet.desktop
+ eu.callcc.audrey.desktop
diff --git a/data/eu.callcc.audrey.service.in b/data/eu.callcc.audrey.service.in
new file mode 100644
index 0000000..82322dd
--- /dev/null
+++ b/data/eu.callcc.audrey.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=eu.callcc.audrey
+Exec=@bindir@/audrey --gapplication-service
diff --git a/data/icons/hicolor/scalable/apps/eu.callcc.Wavelet.svg b/data/icons/hicolor/scalable/apps/eu.callcc.audrey.svg
similarity index 100%
rename from data/icons/hicolor/scalable/apps/eu.callcc.Wavelet.svg
rename to data/icons/hicolor/scalable/apps/eu.callcc.audrey.svg
diff --git a/data/icons/hicolor/symbolic/apps/eu.callcc.Wavelet-symbolic.svg b/data/icons/hicolor/symbolic/apps/eu.callcc.audrey-symbolic.svg
similarity index 100%
rename from data/icons/hicolor/symbolic/apps/eu.callcc.Wavelet-symbolic.svg
rename to data/icons/hicolor/symbolic/apps/eu.callcc.audrey-symbolic.svg
diff --git a/data/icons/meson.build b/data/icons/meson.build
index f1fbc64..a2752b5 100644
--- a/data/icons/meson.build
+++ b/data/icons/meson.build
@@ -1,4 +1,4 @@
-application_id = 'eu.callcc.Wavelet'
+application_id = 'eu.callcc.audrey'
scalable_dir = 'hicolor' / 'scalable' / 'apps'
install_data(
diff --git a/data/meson.build b/data/meson.build
index 0edc8a6..ccc00ff 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,6 +1,6 @@
desktop_file = i18n.merge_file(
- input: 'eu.callcc.Wavelet.desktop.in',
- output: 'eu.callcc.Wavelet.desktop',
+ input: 'eu.callcc.audrey.desktop.in',
+ output: 'eu.callcc.audrey.desktop',
type: 'desktop',
po_dir: '../po',
install: true,
@@ -13,8 +13,8 @@ if desktop_utils.found()
endif
appstream_file = i18n.merge_file(
- input: 'eu.callcc.Wavelet.metainfo.xml.in',
- output: 'eu.callcc.Wavelet.metainfo.xml',
+ input: 'eu.callcc.audrey.metainfo.xml.in',
+ output: 'eu.callcc.audrey.metainfo.xml',
po_dir: '../po',
install: true,
install_dir: get_option('datadir') / 'metainfo'
@@ -24,7 +24,7 @@ appstreamcli = find_program('appstreamcli', required: false, disabler: true)
test('Validate appstream file', appstreamcli,
args: ['validate', '--no-net', '--explain', appstream_file])
-install_data('eu.callcc.Wavelet.gschema.xml',
+install_data('eu.callcc.audrey.gschema.xml',
install_dir: get_option('datadir') / 'glib-2.0' / 'schemas'
)
@@ -37,8 +37,8 @@ test('Validate schema file',
service_conf = configuration_data()
service_conf.set('bindir', get_option('prefix') / get_option('bindir'))
configure_file(
- input: 'eu.callcc.Wavelet.service.in',
- output: 'eu.callcc.Wavelet.service',
+ input: 'eu.callcc.audrey.service.in',
+ output: 'eu.callcc.audrey.service',
configuration: service_conf,
install_dir: get_option('datadir') / 'dbus-1' / 'services'
)
diff --git a/meson.build b/meson.build
index 28eca06..b8247d6 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
-project('wavelet', ['c', 'vala'],
- version: '0.1.0', # WAVELET_VERSION
+project('audrey', ['c', 'vala'],
+ version: '0.1.0', # AUDREY_VERSION
meson_version: '>= 1.0.0',
default_options: [ 'warning_level=0', 'werror=false', ],
)
@@ -13,7 +13,7 @@ srcdir = meson.project_source_root() / 'src'
config_h = configuration_data()
config_h.set_quoted('PACKAGE_VERSION', meson.project_version ())
-config_h.set_quoted('GETTEXT_PACKAGE', 'wavelet')
+config_h.set_quoted('GETTEXT_PACKAGE', 'audrey')
config_h.set_quoted('LOCALEDIR', get_option('prefix') / get_option('localedir'))
configure_file(output: 'config.h', configuration: config_h)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 015ca7c..9ca1808 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,8 +1,8 @@
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
-data/eu.callcc.Wavelet.desktop.in
-data/eu.callcc.Wavelet.metainfo.xml.in
-data/eu.callcc.Wavelet.gschema.xml
+data/eu.callcc.audrey.desktop.in
+data/eu.callcc.audrey.metainfo.xml.in
+data/eu.callcc.audrey.gschema.xml
src/main.vala
src/window.vala
src/window.ui
diff --git a/po/meson.build b/po/meson.build
index 97abaf9..951cb98 100644
--- a/po/meson.build
+++ b/po/meson.build
@@ -1 +1 @@
-i18n.gettext('wavelet', preset: 'glib')
+i18n.gettext('audrey', preset: 'glib')
diff --git a/src/api.vala b/src/api.vala
index f6e9827..7e9f709 100644
--- a/src/api.vala
+++ b/src/api.vala
@@ -3,9 +3,9 @@ errordomain SubsonicError {
ERROR,
}
-public delegate void Wavelet.SongCallback (Song song);
+public delegate void SongCallback (Song song);
-public class Wavelet.Artist : Object, Json.Serializable {
+public class Artist : Object, Json.Serializable {
public string index;
public string id;
public string name { get; private set; }
@@ -38,7 +38,7 @@ public class Wavelet.Artist : Object, Json.Serializable {
}
}
-public class Wavelet.Album : Object {
+public class Album : Object {
public string id;
public string name;
@@ -53,7 +53,7 @@ public class Wavelet.Album : Object {
}
}
-public class Wavelet.Song : Object {
+public class Song : Object {
public string id { get; private set; }
public string title { get; private set; }
public string album { get; private set; }
@@ -89,7 +89,7 @@ public class Wavelet.Song : Object {
}
}
-public struct Wavelet.API.PlayQueue {
+public struct API.PlayQueue {
public string current;
public int64 position;
public DateTime changed;
@@ -128,7 +128,7 @@ public struct Wavelet.API.PlayQueue {
}
}
-public class Wavelet.Subsonic : Object {
+public class Subsonic : Object {
public ListStore artist_list;
public ListStore album_list;
public ListStore song_list;
@@ -139,10 +139,10 @@ public class Wavelet.Subsonic : Object {
public Subsonic.with_password (string url, string username, string password) {
this.url = url;
- this.parameters = @"u=$(Uri.escape_string(username))&p=$(Uri.escape_string(password))&v=1.16.1&c=eu.callcc.Wavelet";
+ this.parameters = @"u=$(Uri.escape_string(username))&p=$(Uri.escape_string(password))&v=1.16.1&c=eu.callcc.audrey";
this.session = new Soup.Session ();
- this.session.user_agent = "Wavelet/0.1.0 (Linux)"; // WAVELET_VERSION
+ this.session.user_agent = "audrey/0.1.0 (Linux)"; // AUDREY_VERSION
this.artist_list = new ListStore (typeof (Artist));
this.album_list = new ListStore (typeof (Album));
@@ -151,7 +151,7 @@ public class Wavelet.Subsonic : Object {
public Subsonic.with_token (string url, string username, string token, string salt) {
this.url = url;
- this.parameters = @"u=$(Uri.escape_string(username))&t=$(Uri.escape_string(token))&s=$(Uri.escape_string(salt))&v=1.16.1&c=eu.callcc.Wavelet";
+ this.parameters = @"u=$(Uri.escape_string(username))&t=$(Uri.escape_string(token))&s=$(Uri.escape_string(salt))&v=1.16.1&c=eu.callcc.audrey";
this.session = new Soup.Session ();
diff --git a/src/application.vala b/src/application.vala
index 21af66d..29ddd8f 100644
--- a/src/application.vala
+++ b/src/application.vala
@@ -1,9 +1,9 @@
-Wavelet.Subsonic public_api;
+Subsonic public_api;
-public class Wavelet.Application : Adw.Application {
+public class Application : Adw.Application {
public Application () {
Object (
- application_id: "eu.callcc.Wavelet",
+ application_id: "eu.callcc.audrey",
flags: ApplicationFlags.DEFAULT_FLAGS
);
}
@@ -21,18 +21,18 @@ public class Wavelet.Application : Adw.Application {
public override void activate () {
base.activate ();
// if this.active_window not null, this isnt the primary instance
- var win = this.active_window ?? new Wavelet.Window (this);
+ var win = this.active_window ?? new Window (this);
win.present ();
}
private void on_about_action () {
string[] developers = { "Erica Z" };
var about = new Adw.AboutDialog () {
- application_name = "wavelet",
- application_icon = "eu.callcc.Wavelet",
+ application_name = "audrey",
+ application_icon = "eu.callcc.audrey",
developer_name = "Erica Z",
translator_credits = _("translator-credits"),
- version = "0.1.0", // WAVELET_VERSION
+ version = "0.1.0", // AUDREY_VERSION
developers = developers,
copyright = "© 2024 Erica Z",
};
diff --git a/src/wavelet.css b/src/audrey.css
similarity index 100%
rename from src/wavelet.css
rename to src/audrey.css
diff --git a/src/wavelet.gresource.xml b/src/audrey.gresource.xml
similarity index 81%
rename from src/wavelet.gresource.xml
rename to src/audrey.gresource.xml
index 4ab409c..54d0e3d 100644
--- a/src/wavelet.gresource.xml
+++ b/src/audrey.gresource.xml
@@ -1,7 +1,7 @@
-
- wavelet.css
+
+ audrey.css
gtk/help-overlay.ui
play_queue.ui
setup.ui
diff --git a/src/main.vala b/src/main.vala
index 026506b..0ed3841 100644
--- a/src/main.vala
+++ b/src/main.vala
@@ -5,6 +5,6 @@ int main (string[] args) {
Gst.init (ref args);
- var app = new Wavelet.Application ();
+ var app = new Application ();
return app.run (args);
}
diff --git a/src/meson.build b/src/meson.build
index 4ee8d3c..6cc684c 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,4 +1,4 @@
-wavelet_sources = [
+audrey_sources = [
'api.vala',
'application.vala',
'main.vala',
@@ -9,7 +9,7 @@ wavelet_sources = [
'window.vala',
]
-wavelet_deps = [
+audrey_deps = [
config_dep,
dependency('gstreamer-1.0'),
dependency('gstreamer-audio-1.0'),
@@ -40,14 +40,14 @@ blueprints = custom_target('blueprints',
],
)
-wavelet_sources += gnome.compile_resources('wavelet-resources',
- 'wavelet.gresource.xml',
- c_name: 'wavelet',
+audrey_sources += gnome.compile_resources('audrey-resources',
+ 'audrey.gresource.xml',
+ c_name: 'audrey',
dependencies: blueprints,
)
-executable('wavelet', wavelet_sources,
- dependencies: wavelet_deps,
+executable('audrey', audrey_sources,
+ dependencies: audrey_deps,
include_directories: config_inc,
install: true,
)
diff --git a/src/mpris.vala b/src/mpris.vala
index 2c777af..96b16cf 100644
--- a/src/mpris.vala
+++ b/src/mpris.vala
@@ -16,8 +16,8 @@ class Mpris : Object {
public bool can_set_fullscreen { get { return false; } }
public bool fullscreen { get { return false; } set { assert (false); } }
public bool has_track_list { get { return false; } }
- public string identity { owned get { return "Wavelet"; } }
- public string desktop_entry { owned get { return "wavelet"; } }
+ public string identity { owned get { return "audrey"; } }
+ public string desktop_entry { owned get { return "eu.callcc.audrey"; } }
public string[] supported_uri_schemes { owned get { return {}; } }
public string[] supported_mime_types { owned get { return {}; } }
}
diff --git a/src/play_queue.blp b/src/play_queue.blp
index ef57322..0a52a94 100644
--- a/src/play_queue.blp
+++ b/src/play_queue.blp
@@ -1,7 +1,7 @@
using Gtk 4.0;
using Adw 1;
-template $WaveletPlayQueue: Adw.NavigationPage {
+template $PlayQueue: Adw.NavigationPage {
title: _("Play queue");
Adw.ToolbarView {
@@ -38,8 +38,8 @@ template $WaveletPlayQueue: Adw.NavigationPage {
template ColumnViewCell {
child: Label {
halign: start;
- label: bind template.item as <$WaveletSong>.title;
- tooltip-text: bind template.item as <$WaveletSong>.title;
+ label: bind template.item as <$Song>.title;
+ tooltip-text: bind template.item as <$Song>.title;
ellipsize: end;
};
}
@@ -54,8 +54,8 @@ template $WaveletPlayQueue: Adw.NavigationPage {
template ColumnViewCell {
child: Label {
halign: start;
- label: bind template.item as <$WaveletSong>.artist;
- tooltip-text: bind template.item as <$WaveletSong>.artist;
+ label: bind template.item as <$Song>.artist;
+ tooltip-text: bind template.item as <$Song>.artist;
ellipsize: end;
};
}
diff --git a/src/play_queue.vala b/src/play_queue.vala
index fe93747..bae49de 100644
--- a/src/play_queue.vala
+++ b/src/play_queue.vala
@@ -1,5 +1,5 @@
-[GtkTemplate (ui = "/eu/callcc/Wavelet/play_queue.ui")]
-public class Wavelet.PlayQueue : Adw.NavigationPage {
+[GtkTemplate (ui = "/eu/callcc/audrey/play_queue.ui")]
+public class PlayQueue : Adw.NavigationPage {
public ListStore songs { get; private set; }
public uint selected_index { get; set; }
diff --git a/src/playbin.vala b/src/playbin.vala
index 49ab15b..8c9f8ca 100644
--- a/src/playbin.vala
+++ b/src/playbin.vala
@@ -30,9 +30,9 @@ class Playbin : Object {
this.playbin = Gst.ElementFactory.make ("playbin3", null);
assert (this.playbin != null);
- //dynamic Gst.Element souphttpsrc = ((Gst.Bin) this.playbin).get_by_name ("souphttpsrc");
+ //dynamic Gst.Element souphttpsrc = ((Gst.Bin) this.playbin).get_by_name ("souphttpsrc0");
//assert (souphttpsrc != null);
- //souphttpsrc.user_agent = "Wavelet/0.1.0 (Linux)"; // WAVELET_VERSION
+ //souphttpsrc.user_agent = "audrey/0.1.0 (Linux)"; // AUDREY_VERSION
// regularly update position
Timeout.add (500, () => {
diff --git a/src/setup.blp b/src/setup.blp
index f886e69..de0d92f 100644
--- a/src/setup.blp
+++ b/src/setup.blp
@@ -1,7 +1,7 @@
using Gtk 4.0;
using Adw 1;
-template $WaveletSetup: Adw.PreferencesDialog {
+template $Setup: Adw.PreferencesDialog {
title: _("Setup");
Adw.ToolbarView {
diff --git a/src/setup.vala b/src/setup.vala
index a3d9e7b..09cd176 100644
--- a/src/setup.vala
+++ b/src/setup.vala
@@ -1,8 +1,8 @@
[CCode (cname = "sqlite3_randomness")]
public extern void randomness (int N, void *P);
-[GtkTemplate (ui = "/eu/callcc/Wavelet/setup.ui")]
-public class Wavelet.Setup : Adw.PreferencesDialog {
+[GtkTemplate (ui = "/eu/callcc/audrey/setup.ui")]
+public class Setup : Adw.PreferencesDialog {
public string status { get; private set; default = _("Not connected"); }
public bool authn_can_edit { get; private set; default = true; }
@@ -14,14 +14,14 @@ public class Wavelet.Setup : Adw.PreferencesDialog {
public string token;
public string salt;
- public signal void connected (Wavelet.Subsonic api);
+ public signal void connected (Subsonic api);
private Sqlite.Database db;
private Sqlite.Statement db_get;
private Sqlite.Statement db_set;
construct {
- var app_config_dir = Path.build_filename (Environment.get_user_config_dir (), "wavelet");
+ var app_config_dir = Path.build_filename (Environment.get_user_config_dir (), "audrey");
try {
File.new_build_filename (app_config_dir).make_directory_with_parents ();
@@ -60,7 +60,7 @@ public class Wavelet.Setup : Adw.PreferencesDialog {
new_token = this.token;
new_salt = this.salt;
}
- var api = new Wavelet.Subsonic.with_token (
+ var api = new Subsonic.with_token (
this.server_url,
this.username,
new_token,
diff --git a/src/window.blp b/src/window.blp
index 78260aa..b3f83b2 100644
--- a/src/window.blp
+++ b/src/window.blp
@@ -1,8 +1,8 @@
using Gtk 4.0;
using Adw 1;
-template $WaveletWindow: Adw.ApplicationWindow {
- title: _("Wavelet");
+template $Window: Adw.ApplicationWindow {
+ title: _("audrey");
default-width: 800;
default-height: 600;
@@ -15,7 +15,7 @@ template $WaveletWindow: Adw.ApplicationWindow {
[sidebar]
Adw.NavigationPage {
width-request: 100;
- title: _("Wavelet");
+ title: _("audrey");
Adw.ToolbarView {
[top]
@@ -81,7 +81,7 @@ paintable: bind template.playing_cover_art;
name: "play_queue";
title: _("Play queue");
- child: $WaveletPlayQueue play_queue {};
+ child: $PlayQueue play_queue {};
}
}
}
@@ -100,14 +100,14 @@ paintable: bind template.playing_cover_art;
Label {
styles [ "heading" ]
halign: start;
- label: bind template.song as <$WaveletSong>.title;
+ label: bind template.song as <$Song>.title;
}
Box {
halign: start;
Label {
styles [ "caption" ]
- label: bind template.song as <$WaveletSong>.artist;
+ label: bind template.song as <$Song>.artist;
}
Label {
styles [ "caption" ]
@@ -115,7 +115,7 @@ paintable: bind template.playing_cover_art;
}
Label {
styles [ "caption" ]
- label: bind template.song as <$WaveletSong>.album;
+ label: bind template.song as <$Song>.album;
}
Label {
styles [ "caption" ]
@@ -123,7 +123,7 @@ paintable: bind template.playing_cover_art;
}
Label {
styles [ "caption" ]
- label: bind template.song as <$WaveletSong>.year;
+ label: bind template.song as <$Song>.year;
}
}
}
diff --git a/src/window.vala b/src/window.vala
index 7544f1f..3d8254d 100644
--- a/src/window.vala
+++ b/src/window.vala
@@ -1,13 +1,13 @@
-[GtkTemplate (ui = "/eu/callcc/Wavelet/window.ui")]
-class Wavelet.Window : Adw.ApplicationWindow {
+[GtkTemplate (ui = "/eu/callcc/audrey/window.ui")]
+class Window : Adw.ApplicationWindow {
[GtkChild] private unowned Gtk.ListBox sidebar;
[GtkChild] private unowned Gtk.ListBoxRow sidebar_play_queue;
[GtkChild] private unowned Gtk.Stack stack;
- [GtkChild] public unowned Wavelet.PlayQueue play_queue;
+ [GtkChild] public unowned PlayQueue play_queue;
[GtkChild] public unowned Adw.ButtonRow shuffle_all_tracks;
- private Wavelet.Setup setup;
+ private Setup setup;
public bool playing { get; private set; default = false; }
@@ -36,7 +36,7 @@ class Wavelet.Window : Adw.ApplicationWindow {
Object (application: app);
var provider = new Gtk.CssProvider ();
- provider.load_from_resource("/eu/callcc/Wavelet/wavelet.css");
+ provider.load_from_resource("/eu/callcc/audrey/audrey.css");
Gtk.StyleContext.add_provider_for_display (Gdk.Display.get_default (), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
@@ -49,7 +49,7 @@ class Wavelet.Window : Adw.ApplicationWindow {
construct {
Bus.own_name (
BusType.SESSION,
- "org.mpris.MediaPlayer2.wavelet",
+ "org.mpris.MediaPlayer2.audrey",
BusNameOwnerFlags.NONE,
(conn) => {
try {
@@ -61,7 +61,7 @@ class Wavelet.Window : Adw.ApplicationWindow {
() => {},
() => { error ("could not acquire dbus name"); });
- this.setup = new Wavelet.Setup ();
+ this.setup = new Setup ();
this.setup.connected.connect ((api) => {
public_api = api;