rename project lol

This commit is contained in:
Erica Z 2024-10-12 20:52:29 +00:00
parent 4f4253da42
commit 59e9c6d7b4
28 changed files with 90 additions and 90 deletions

View file

@ -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

View file

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="wavelet">
<schema id="eu.callcc.Wavelet" path="/eu/callcc/Wavelet/">
</schema>
</schemalist>

View file

@ -1,3 +0,0 @@
[D-BUS Service]
Name=eu.callcc.Wavelet
Exec=@bindir@/wavelet --gapplication-service

View file

@ -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;

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="audrey">
<schema id="eu.callcc.audrey" path="/eu/callcc/audrey/">
</schema>
</schemalist>

View file

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>eu.callcc.Wavelet</id>
<id>eu.callcc.audrey</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>AGPL-3.0-or-later</project_license>
<name>Wavelet</name>
<name>audrey</name>
<summary>Keep the summary shorter, between 10 and 35 characters</summary>
<description>
<p>No description</p>
@ -33,10 +33,10 @@
<!--URLs of this type should point to a webpage showing information on how to contribute to the described software project -->
<url type="contribute">https://example.org/contribute</url>
<translation type="gettext">wavelet</translation>
<translation type="gettext">audrey</translation>
<!-- All graphical applications having a desktop file must have this tag in the MetaInfo.
If this is present, appstreamcli compose will pull icons, keywords and categories from the desktop file. -->
<launchable type="desktop-id">eu.callcc.Wavelet.desktop</launchable>
<launchable type="desktop-id">eu.callcc.audrey.desktop</launchable>
<!-- Use the OARS website (https://hughsie.github.io/oars/generate.html) to generate these and make sure to use oars-1.1 -->
<content_rating type="oars-1.1" />

View file

@ -0,0 +1,3 @@
[D-BUS Service]
Name=eu.callcc.audrey
Exec=@bindir@/audrey --gapplication-service

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -1,4 +1,4 @@
application_id = 'eu.callcc.Wavelet'
application_id = 'eu.callcc.audrey'
scalable_dir = 'hicolor' / 'scalable' / 'apps'
install_data(

View file

@ -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'
)

View file

@ -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)

View file

@ -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

View file

@ -1 +1 @@
i18n.gettext('wavelet', preset: 'glib')
i18n.gettext('audrey', preset: 'glib')

View file

@ -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 ();

View file

@ -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",
};

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/eu/callcc/Wavelet">
<file>wavelet.css</file>
<gresource prefix="/eu/callcc/audrey">
<file>audrey.css</file>
<file preprocess="xml-stripblanks">gtk/help-overlay.ui</file>
<file preprocess="xml-stripblanks">play_queue.ui</file>
<file preprocess="xml-stripblanks">setup.ui</file>

View file

@ -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);
}

View file

@ -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,
)

View file

@ -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 {}; } }
}

View file

@ -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;
};
}

View file

@ -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; }

View file

@ -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, () => {

View file

@ -1,7 +1,7 @@
using Gtk 4.0;
using Adw 1;
template $WaveletSetup: Adw.PreferencesDialog {
template $Setup: Adw.PreferencesDialog {
title: _("Setup");
Adw.ToolbarView {

View file

@ -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,

View file

@ -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;
}
}
}

View file

@ -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;