Commit 0a3e9a46 authored by Canek Peláez's avatar Canek Peláez
Browse files

Normalize with Rolas.

parent 79492b82
Loading
Loading
Loading
Loading
+78 −147
Original line number Diff line number Diff line
@@ -99,8 +99,6 @@ namespace MLM {
        private Gee.HashMap<string, int?> int_frames;
        /* Data frames. */
        private Gee.HashMap<int, GLib.Bytes> data_frames;
        /* Invalid frames. */
        private Gee.ArrayList<Id3Tag.Frame> invalid_frames;

        /**
         * The artist.
@@ -275,76 +273,24 @@ namespace MLM {
            if (tag.frames.length == 0)
                return;

            invalid_frames = new Gee.ArrayList<Id3Tag.Frame>();
            for (int i = 0; i < tag.frames.length; i++)
                set_frame(tag.frames[i]);
            foreach (Id3Tag.Frame frame in invalid_frames) {
                tag.detachframe(frame);
            }
            invalid_frames = null;
        }

        /* Sets a frame. */
        private void set_frame(Id3Tag.Frame frame) {
            var invalid_frames = new Gee.ArrayList<Id3Tag.Frame>();
            for (int i = 0; i < tag.frames.length; i++) {
                var frame = tag.frames[i];
                if (frame.id == FrameId.ARTIST) {
                set_artist_frame(frame);
                    string_frames[FrameId.ARTIST] = _artist = frame.get_text();
                } else if (frame.id == FrameId.TITLE) {
                set_title_frame(frame);
                    string_frames[FrameId.TITLE] = _title = frame.get_text();
                } else if (frame.id == FrameId.ALBUM) {
                set_album_frame(frame);
                    string_frames[FrameId.ALBUM] = _album = frame.get_text();
                } else if (frame.id == FrameId.BAND) {
                set_band_frame(frame);
                    string_frames[FrameId.BAND] = _band = frame.get_text();
                } else if (frame.id == FrameId.YEAR) {
                set_year_frame(frame);
                    int_frames[FrameId.YEAR] = _year =
                        int.parse(frame.get_text());
                } else if (frame.id == FrameId.TRACK) {
                set_track_frame(frame);
            } else if (frame.id == FrameId.DISC) {
                set_disc_frame(frame);
            } else if (frame.id == FrameId.GENRE) {
                set_genre_frame(frame);
            } else if (frame.id == FrameId.COMMENT) {
                set_comment_frame(frame);
            } else if (frame.id == FrameId.COMPOSER) {
                set_composer_frame(frame);
            } else if (frame.id == FrameId.ORIGINAL) {
                set_original_frame(frame);
            } else if (frame.id == FrameId.PICTURE) {
                set_picture_frame(frame);
            } else {
                set_invalid_frame(frame);
            }
        }

        /* Sets the artist frame. */
        private void set_artist_frame(Id3Tag.Frame frame) {
            string_frames[FrameId.ARTIST] = _artist = frame.get_text();
        }

        /* Sets the artist frame. */
        private void set_title_frame(Id3Tag.Frame frame) {
            string_frames[FrameId.TITLE] = _title = frame.get_text();
        }

        /* Sets the album frame. */
        private void set_album_frame(Id3Tag.Frame frame) {
            string_frames[FrameId.ALBUM] = _album = frame.get_text();
        }

        /* Sets the band frame. */
        private void set_band_frame(Id3Tag.Frame frame) {
            string_frames[FrameId.BAND] = _band = frame.get_text();
        }

        /* Sets the year frame. */
        private void set_year_frame(Id3Tag.Frame frame) {
            int_frames[FrameId.YEAR] = _year = int.parse(frame.get_text());
        }

        /* Sets the track frame. */
        private void set_track_frame(Id3Tag.Frame frame) {
                    string track = frame.get_text();
                    if (track == null)
                    return;
                        continue;
                    string_frames[FrameId.TRACK] = track;
                    if (track.index_of("/") != -1) {
                        string[] t = track.split("/");
@@ -354,22 +300,16 @@ namespace MLM {
                        _track = int.parse(track);
                        _total = -1;
                    }
        }

        /* Sets the disc frame. */
        private void set_disc_frame(Id3Tag.Frame frame) {
            int_frames[FrameId.DISC] = _disc = int.parse(frame.get_text());
        }

        /* Sets the genre frame. */
        private void set_genre_frame(Id3Tag.Frame frame) {
                } else if (frame.id == FrameId.DISC) {
                    _disc = int.parse(frame.get_text());
                } else if (frame.id == FrameId.GENRE) {
                    var g = frame.get_text();
                    if (g == null)
                    return;
                        continue;
                    _genre = Genre.index_of(g);
                    if (_genre != -1) {
                        int_frames[FrameId.GENRE] = _genre;
                    return;
                        continue;
                    }
                    int n = int.parse(g);
                    if (0 <= n && n < Genre.total()) {
@@ -378,28 +318,16 @@ namespace MLM {
                    } else {
                        invalid_frames.add(frame);
                    }
        }

        /* Sets the comment frame. */
        private void set_comment_frame(Id3Tag.Frame frame) {
            _comment = frame.get_comment_text();
            string_frames[FrameId.COMMENT] = _comment;
        }

        /* Sets the composer frame. */
        private void set_composer_frame(Id3Tag.Frame frame) {
            _composer = frame.get_text();
            string_frames[FrameId.COMPOSER] = _composer;
        }

        /* Sets the original frame. */
        private void set_original_frame(Id3Tag.Frame frame) {
            _original = frame.get_text();
            string_frames[FrameId.ORIGINAL] = _original;
        }

        /* Sets the picture frame. */
        private void set_picture_frame(Id3Tag.Frame frame) {
                } else if (frame.id == FrameId.COMMENT) {
                    string_frames[FrameId.COMMENT] = _comment =
                        frame.get_comment_text();
                } else if (frame.id == FrameId.COMPOSER) {
                    string_frames[FrameId.COMPOSER] = _composer =
                        frame.get_text();
                } else if (frame.id == FrameId.ORIGINAL) {
                    string_frames[FrameId.ORIGINAL] = _original =
                        frame.get_text();
                } else if (frame.id == FrameId.PICTURE) {
                    var fc_data =
                        frame.get_picture(Id3Tag.PictureType.COVERFRONT);
                    if (fc_data != null) {
@@ -417,13 +345,16 @@ namespace MLM {
                        artist_description =
                            frame.get_picture_description();
                    }
        }

        /* Sets an invalid frame. */
        private void set_invalid_frame(Id3Tag.Frame frame) {
            GLib.warning("Invalid frame ‘%s’ will be deleted.\n", frame.id);
                } else {
                    GLib.warning("Invalid frame ‘%s’ will be deleted.\n",
                                 frame.id);
                    invalid_frames.add(frame);
                }
            }
            foreach (Id3Tag.Frame frame in invalid_frames) {
                tag.detachframe(frame);
            }
        }

        /**
         * Removes the tags from the file.
+3 −4
Original line number Diff line number Diff line
@@ -25,11 +25,10 @@ namespace MLM {
    public class Main {

        public static int main(string[] args) {
            Intl.bindtextdomain(Config.GETTEXT_PACKAGE, Config.LOCALEDIR);
            Intl.bind_textdomain_codeset(Config.GETTEXT_PACKAGE, "UTF-8");
            Intl.textdomain(Config.GETTEXT_PACKAGE);
            GLib.Intl.bindtextdomain(Config.GETTEXT_PACKAGE, Config.LOCALEDIR);
            GLib.Intl.bind_textdomain_codeset(Config.GETTEXT_PACKAGE, "UTF-8");
            GLib.Intl.textdomain(Config.GETTEXT_PACKAGE);
            GLib.Environment.set_application_name("MLM");
            Gtk.init(ref args);
            Gst.init(ref args);

            var mlm = new Application();
+3 −2
Original line number Diff line number Diff line
@@ -170,7 +170,8 @@ Format for printing:
            }
            var file_tags = new FileTags(filename);
            if (!file_tags.has_tags) {
                stderr.printf("The file ‘%s’ has no ID3 v2.4.0 tags.\n", filename);
                stderr.printf("The file ‘%s’ has no ID3 v2.4.0 tags.\n",
                              filename);
                return;
            }
            var box = new PrettyBox(80, Color.RED);