Skip to main content

Small ArrowVortex clipboard processing library

Project description

Description

Small Arrow Vortex clipboard processing library.

Install

You can install this library from PyPI with pip install av-clipboard-lib or compile it from source with python setup.py build.

Usage

import av_clipboard_lib as av

# A copy of [12][23][14] pattern, 16ths. 
row_based_copy = """ArrowVortex:notes:!!WE'!<<-/!Xo&G!uM"""
# A copy of [12][23][13] pattern, 16ths.
changed_row_based_copy = """ArrowVortex:notes:!!WE'!<<-/!Xo&G!Z1"""
# Same copy of [12][23][14] pattern, 0.5 seconds between each chord.
time_based_copy = """ArrowVortex:notes:!<rN(z!!!!"zz!<<*"!!!#W56:fbzi'.2Az!:W2Tz!!)LQ"""
# A copy of two BPM changes and a stop. 60 BPM, 90 BPM and 0.75 second stop.
structural_copy = """ArrowVortex:tempo:!WW3#zz:-]Wrz!!!"L<^6Zd0E;(Qz!!)4I!!"""

parsed_row_copy = av.parse_av_clipboard_data(row_based_copy)
assert parsed_row_copy == av.clipboard_data.RowCopy(objects=[
    av.Tap(column=0, position=av.RowPosition(0)), av.Tap(1, av.RowPosition(0)),  # First argument: column, second: row.
    av.Tap(1, av.RowPosition(12)), av.Tap(2, av.RowPosition(12)),  # 12th row --> 16th.
    av.Tap(0, av.RowPosition(24)), av.Tap(3, av.RowPosition(24)),
])

parsed_row_copy.objects[-1].column = 2  # Shift last tap to third column
# Overall pattern now: [12][23][13]

assert av.produce_av_clipboard_data(parsed_row_copy) == changed_row_based_copy

# It's up to you to make sure data is correct however
parsed_row_copy.objects[-1].column = 0
# No error, but AV will report overlapping notes
av.produce_av_clipboard_data(parsed_row_copy)

# Similar interface is used for other types of copies, though they return different objects
parsed_time_copy = av.parse_av_clipboard_data(time_based_copy)
assert parsed_time_copy == av.clipboard_data.TimeCopy(objects=[
    av.Tap(0, av.TimePosition(0.0)), av.Tap(1, av.TimePosition(0.0)),
    av.Tap(1, av.TimePosition(0.5)), av.Tap(2, av.TimePosition(0.5)),
    av.Tap(0, av.TimePosition(1.0)), av.Tap(3, av.TimePosition(1.0)),
])

parsed_structure_copy = av.parse_av_clipboard_data(structural_copy)
assert parsed_structure_copy == av.clipboard_data.StructureCopy(objects=[
    av.BPM(av.RowPosition(0), bpm=60.000),
    av.BPM(av.RowPosition(24), bpm=90.000),
    av.Stop(av.RowPosition(48), time=0.750)
])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

av-clipboard-lib-1.9.1.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

av_clipboard_lib-1.9.1-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file av-clipboard-lib-1.9.1.tar.gz.

File metadata

  • Download URL: av-clipboard-lib-1.9.1.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for av-clipboard-lib-1.9.1.tar.gz
Algorithm Hash digest
SHA256 44fc665db0c48d67f4027795f23443b94f6d4b4f899ebb481c0e87b457466145
MD5 12c2f8484d55be9898eaf45f1e9ed4e8
BLAKE2b-256 93b0bcd154ca6465023aceefbd2b2e47c26a6585c9e1f3c51fe116d3a8a20088

See more details on using hashes here.

File details

Details for the file av_clipboard_lib-1.9.1-py3-none-any.whl.

File metadata

  • Download URL: av_clipboard_lib-1.9.1-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.1.post20201107 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for av_clipboard_lib-1.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 540f9baf6a39432734b18ffd3313d713b1ffd7240cf8b500a51a400a30efa76f
MD5 9e4a3bcc680044931434818f177cb4e7
BLAKE2b-256 1d6978520bed36a9778eecbd8073ab8014c7eee0b27b2cd33b04d61f96e8279d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page