Review of "MusicAMP Player" version 1

Details Page Preview

Music player with playlist support.

Extension Homepage
https://github.com/mdoksa76/musicamp

No comments.

FAQ

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) warning 2

Shexli found 2 issues that may need reviewer attention.

EGO-L-003 warning

signals connected by extension should be disconnected in disable()

Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.

Disconnect all signals

  • extension.js:56
            bus.connect('message', (bus, message) => {
                switch (message.type) {
                    case Gst.MessageType.EOS:
                        console.debug('🎵 GStreamer EOS received');
                        this._onTrackEnded();
                        break;
                        
                    ca
  • extension.js:587
            this._loopButton.connect('clicked', () => {
                this.musicPlayer.toggleLoop();
                if (this.musicPlayer.loopEnabled) {
                    this._loopButton.label = '🔁 Loop: ON';
                    this._loopButton.style = 'min-width: 95px; max-width: 95px; width: 95px; height: 28px;
  • extension.js:574
            this._muteButton.connect('clicked', () => {
                this.musicPlayer.toggleMute();
                this._muteButton.label = this.musicPlayer.isMuted ? '🔇 Unmute' : '🔊 Mute';
            })
  • extension.js:509
            this._playButton.connect('clicked', () => {
                if (this.musicPlayer.isPlaying) {
                    this.musicPlayer.pause();
                    this._playButton.label = '▶️ Play';
                } else {
                    this.musicPlayer.play();
                    this._playButton.label = '⏸️ P
  • extension.js:654
            this._progressBar.connect('repaint', (area) => {
                this._drawProgressBar(area);
            })
  • extension.js:606
            this._shuffleButton.connect('clicked', () => {
                this.musicPlayer.toggleShuffle();
                if (this.musicPlayer.shuffleEnabled) {
                    this._shuffleButton.label = '🔀 Shuffle: ON';
                    this._shuffleButton.style = 'min-width: 120px; max-width: 120px; width:
  • extension.js:528
            this._stopButton.connect('clicked', () => {
                this.musicPlayer.stop();
                this._playButton.label = '▶️ Play';
                this._updateTrackLabel();
            })
  • extension.js:700
            this.menu.connect('open-state-changed', (menu, open) => {
                if (open) {
                    if (firstOpen) {
                        this._buildPlaylistItems();
                        firstOpen = false;
                    }
                    this._playlistSection.actor.queue_relayout();
              

EGO-L-004 warning

main loop sources should be removed in disable()

Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.

Remove main loop sources

  • extension.js:215
            GLib.timeout_add(GLib.PRIORITY_DEFAULT, 100, () => {
                if (this.loopEnabled) {
                    this.next();
                } else {
                    this.stop();
                    // Ipak pokreni sljedeću za kontinuirani playback
                    this.next();
                }
                ret
  • extension.js:308
                GLib.timeout_add(GLib.PRIORITY_DEFAULT, 200, () => {
                    this.play();
                    return GLib.SOURCE_REMOVE;
                })

All Versions

Version Status
2 Unreviewed
1 Rejected

Previous Reviews on this Version

mdoksa auto- rejected
Auto-rejected because of new version 2 was uploaded