{ "info": { "author": "Aaron Krister Johnson", "author_email": "akjmicro@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "## pystepseq\n\nA commandline musical step-sequencer with some advanced features.\n\n### TO INSTALL:\n____________\n\n* Make sure you have Python installed\n\n* Choose as install method, *pip* or *git* (pip is recommended if you have it)\n\n**From pip:**\n```\n pip install pystepseq\n```\n__________________________________\n\n**From git:**\n\nEither download from the 'dist' directory here, or:\n```\n git clone https://github.com/akjmicro/pystepseq\n```\nOnce downloaded, in the 'pystepseq' directory:\n```\n python setup.py install\n```\n___________________________________\n\n* Files will be installed into a Python lib directory on your system. E.G.,\non a Linux system, something like `/usr/local/lib/Python3.6`\n\n* You may also want to edit the variables at the top of the 'constants.py'\nThese will reflect what MIDI port you are using (e.g., on Linux, \n'/dev/snd/midiC1D0') and also the multicast port you will be broadcasting\nthe metronome on (and the listeners listening on). Default is 8123.\n\n### Post-install SETUP:\n\n* YOU NEED TO SETUP YOUR COMPUTER FOR MULTICASTING VIA LOOPBACK.\n\nHere's how it's done on Linux (I don't know about anywhere else, sorry):\n\n```\n route add -net 224.0.0.0 netmask 240.0.0.0 dev lo\n```\n\nIF YOU DON'T DO THE ABOVE STEP, NO MIDI NOTES WILL BE TRIGGERED! The\nmetronome (tempotrigger.py) is dependant on the network multicasting for\nfunctionality.\n\n* YOU NEED TO MAKE SURE YOUR MIDI INSTRUMENTS ARE RECEIVING.\n\nOf course, set up your software (or hardware) synths to be listening on the\nsame MIDI port you have set up pystepseq to push MIDI messages to. It is\nbeyond the scope of this help to show you how to do that, since all synths\ndiffer. But as an example, you might set qjackctl to take the output of a\nvirtual MIDI port (e.g. '/dev/snd/midiC1D0', which will show up in a tool\nlike qjackctl as 'Virtual Raw Midi 1-0') and patch it to the MIDI input of\nthe synth/sampler of your choice.\n\n\n### Running:\n\nYou should be fine simply starting the script and using the online help.\n\nTo start pystepseq, do the following from the commandline:\n\n```\n pystepseq\n```\n\nYou will see a prompt:\n\n```\n pystepseq('h' for help)-->\n```\n\nThis will create a new voice called 'a' if you type what is after the prompt:\n\n```\n pystepseq('h' for help)--> =a\n```\n\nThis will start 'a' playing after a brief pause until the clock is lined up\nto a certain beat start:\n\n```\n pystepseq('h' for help)--> a/\n```\n\nThis will stop 'a' playing after all its current cycle is exhausted:\n\n```\n pystepseq('h' for help)--> a\\\n```\n\nThe online help will give you a hang of the rest of the commands. The system\nis designed to be succint, in that all the commands have been designed to\nminimize typing, and are usually a single character, or two-character\nmnemonic. So for instance, \"Take voice 'a' and randomize its volume\nsequence\" would be:\n\n```\n pystepseq('h' for help)--> arv\n```\n\n...which stands for \" 'a' random volumes \"\n\nMuch more sense will be had once you play with it via the online help.\n\nEnjoy!\n\nAaron Krister Johnson\n\nPlease report bugs and successes to akjmicro@gmail.com\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/akjmicro/pystepseq", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pystepseq", "package_url": "https://pypi.org/project/pystepseq/", "platform": "", "project_url": "https://pypi.org/project/pystepseq/", "project_urls": { "Homepage": "https://github.com/akjmicro/pystepseq" }, "release_url": "https://pypi.org/project/pystepseq/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "A multi-featured commandline interface MIDI step sequencer", "version": "1.0.1" }, "last_serial": 5689437, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "8af54dcead415ccedab70c5656a4167f", "sha256": "2fa4e1d74a82749f5092d5a1876b1b0e82132acbf0113ca3ef67c85ab3dc8225" }, "downloads": -1, "filename": "pystepseq-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8af54dcead415ccedab70c5656a4167f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27965, "upload_time": "2019-07-28T22:00:48", "url": "https://files.pythonhosted.org/packages/48/90/ad7c9fda5ddbcda033d63be5ecd2a02cc4bbecf9494977ebe1742cb69f23/pystepseq-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8a6f788be8f09a777a3b8aca885a8cb", "sha256": "19eb18c5d335ce7f7f22726f337edbc2ef5a98840132758710449c3578727ce5" }, "downloads": -1, "filename": "pystepseq-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e8a6f788be8f09a777a3b8aca885a8cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25109, "upload_time": "2019-07-28T22:00:50", "url": "https://files.pythonhosted.org/packages/dc/74/19aad234c15b41d8c2c3ff1c6e76410911817a48833ef3926ec7106952ed/pystepseq-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "85fc8bc1786d852bc746d1dee9ebb96d", "sha256": "6a0e4f777bb0373087992bde7bbda3aa492acd631a3a4381649767c5c6389ef6" }, "downloads": -1, "filename": "pystepseq-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "85fc8bc1786d852bc746d1dee9ebb96d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27767, "upload_time": "2019-08-16T20:45:23", "url": "https://files.pythonhosted.org/packages/87/23/520760b691bd57c8a6a04dcc5950c20994a05d67aaf706f5de725dc4e094/pystepseq-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3f20d4f12c864655d16ee9903725d72", "sha256": "3e5c26253b645ae5035f6ee0520b19b7d6fdf6ced6310bf2e0b714826d8467eb" }, "downloads": -1, "filename": "pystepseq-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f3f20d4f12c864655d16ee9903725d72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24920, "upload_time": "2019-08-16T20:45:25", "url": "https://files.pythonhosted.org/packages/2c/88/07aa47b770821344deb80c2bba2384373221c1866d4343ef207f9b93b20b/pystepseq-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "85fc8bc1786d852bc746d1dee9ebb96d", "sha256": "6a0e4f777bb0373087992bde7bbda3aa492acd631a3a4381649767c5c6389ef6" }, "downloads": -1, "filename": "pystepseq-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "85fc8bc1786d852bc746d1dee9ebb96d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27767, "upload_time": "2019-08-16T20:45:23", "url": "https://files.pythonhosted.org/packages/87/23/520760b691bd57c8a6a04dcc5950c20994a05d67aaf706f5de725dc4e094/pystepseq-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3f20d4f12c864655d16ee9903725d72", "sha256": "3e5c26253b645ae5035f6ee0520b19b7d6fdf6ced6310bf2e0b714826d8467eb" }, "downloads": -1, "filename": "pystepseq-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f3f20d4f12c864655d16ee9903725d72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24920, "upload_time": "2019-08-16T20:45:25", "url": "https://files.pythonhosted.org/packages/2c/88/07aa47b770821344deb80c2bba2384373221c1866d4343ef207f9b93b20b/pystepseq-1.0.1.tar.gz" } ] }