Giter VIP home page Giter VIP logo

gnome-music's Introduction

Music is the new GNOME music playing application.

Where can I find more?

Music has a wiki page at https://wiki.gnome.org/Apps/Music (outdated).

You can join the developers on IRC: #gnome-music on GIMPNet.

Join the development

Follow the guide at https://wiki.gnome.org/Newcomers/ and choose Music as your project. There are bugs labeled for newcomers, which should provide an easy entry point. Of course, feel free to pick something more challenging. Pick bugs if you can, the goal is to make the current Music experience sound & stable and only then extend it's functionality.

Coding style

GNOME Music is written in Python and aspires to adhere to the coding style described in the python style guide PEP-8.

Since Music was written over many years and by many different contributors without a single style being enforced, it currently is in a mixed style state. The goal is to eventually consistently follow PEP-8 for style and PEP-257 for docstrings. The content of docstrings uses the Sphinx markup style.

Docstrings should be added to all (new) public functions.

Since looking at the surrounding code might give mixed results, take note of the following rules as a basic style guide.

Line length

Limit all lines to a maximum of 79 characters.

For flowing long blocks of text with fewer structural restrictions (docstrings or comments), the line length should be limited to 72 characters.

Indentation

Music uses hanging indents when the lines get too long.

When using a hanging indent the following should be considered; there should be no arguments on the first line and further indentation should be used to clearly distinguish itself as a continuation line.

# More indentation included to distinguish this from the rest.
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

# Hanging indents should add a level.
foo = long_function_name(
    var_one, var_two,
    var_three, var_four)

Line break before a binary operator

# Yes: easy to match operators with operands
income = (gross_wages
          + taxable_interest
          + (dividends - qualified_dividends)
          - ira_deduction
          - student_loan_interest)

# Add some extra indentation on the conditional continuation line.
if (this_is_one_thing
        and that_is_another_thing):
    do_something()

Class internals

All non-public classwide variables or methods should be prepended with an underscore.

_single_leading_underscore: weak "internal use" indicator. E.g. from M import * does not import objects whose name starts with an underscore.

PyGI specific

Use PyGI shorthands for manipulating GtkTreeModel & GtkListStore:

model[iter][0] = "artist"
artist, title = model[iter][1, 4]

gnome-music's People

Contributors

vrutkovs avatar kyoushuu avatar seiflotfy avatar marv-cz avatar sumansai14 avatar piotrdrag avatar dmustieles avatar ptitjano avatar garnacho avatar felipeborges avatar gquintard avatar shivanipods avatar yoseforb avatar ishehata avatar georgesstavracas avatar frandieguez avatar prescott66 avatar curiousdtu avatar tmtfx avatar milocasagrande avatar gcampax avatar jordimas avatar manish avatar maiamcc avatar dooteo avatar aurisc4 avatar enrico-br avatar mariobl avatar ibragimov avatar mirosnik1 avatar

Watchers

James Cloos avatar Arman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.