sorta-reaper 0.1.1 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7fc58da1c659eb77fc74fd6506d45e2bdc6c5b700fe172e0d0e4e1fa04691b9a
4
- data.tar.gz: fa51e41f96d7051ea2c807615cd4c7c9fdd9d82fd99dbed56cc75b6bac81a252
3
+ metadata.gz: 0f473fa310ba8023cf66fd6b0e13177d9f3ece2cc3c9a6a47ad1f6e772a9ac5f
4
+ data.tar.gz: 323fe6645bf1f68b90c412a99382d0da33113b52754c6b38905f734a96f33c17
5
5
  SHA512:
6
- metadata.gz: f75931852a51071f5117a8a75593a969f2db4f548c095be7a8e95e22396f10cb9387b9ab6d3f0d9db11d2e63d23acf3d493b9457b37d7d831bbccd94c5c72e1a
7
- data.tar.gz: bc1e51d6bf5057a0247cc6c9e91948936a97a985ea79729524c617f2a2b2b371e9d65ac77c6e544ead78c5dc90c9cfca3247712c27e8680975547f101f41bde6
6
+ metadata.gz: efdaede5a89466c8859d755c7899e86d70776390b31f07bb07ad802cac6763c3255b20e6f73376ee18108bbb08ba09a17f90f140a9b3397b381cfb446f2cfffa
7
+ data.tar.gz: d2a8dc8b13c19da85b6ef9bde28de3286760638fe5995d15b08ced31af0427fe244ac0fa9154767d024413da6852b1ca1be0c7b11679c3c0107b6658b28b79cd
data/Gemfile CHANGED
@@ -11,5 +11,5 @@ gem "rspec", "~> 3.0"
11
11
 
12
12
  gem "rubocop", "~> 1.21"
13
13
 
14
- gem "dry-struct"
15
- gem "dry-types"
14
+ gem "dry-struct", "~> 1.4.0"
15
+ gem "dry-types", "~> 1.5.1"
data/Gemfile.lock CHANGED
@@ -1,7 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sorta-reaper (0.1.0)
4
+ sorta-reaper (0.1.4)
5
+ dry-struct (~> 1.4.0)
6
+ dry-types (~> 1.5.1)
5
7
 
6
8
  GEM
7
9
  remote: https://rubygems.org/
@@ -70,8 +72,8 @@ PLATFORMS
70
72
  x86_64-linux
71
73
 
72
74
  DEPENDENCIES
73
- dry-struct
74
- dry-types
75
+ dry-struct (~> 1.4.0)
76
+ dry-types (~> 1.5.1)
75
77
  rake (~> 13.0)
76
78
  rspec (~> 3.0)
77
79
  rubocop (~> 1.21)
data/examples/simple.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require_relative "../lib/sorta/reaper"
4
4
 
5
- source = Sorta::Reaper::Entity::Source.new(file: File.join(__dir__, "./test_audio.wav"))
5
+ source = Sorta::Reaper::Entity::Source.new(file: File.join(__dir__, "./test_audio.wav"), format: "wave")
6
6
  item = Sorta::Reaper::Entity::Item.new(position: 0, length: 10, source: source)
7
7
  track = Sorta::Reaper::Entity::Track.new(name: "generated_track", items: [item])
8
8
  project = Sorta::Reaper::Entity::Project.new(tracks: [track])
data/examples/simple.rpp CHANGED
@@ -1,15 +1,15 @@
1
1
  <REAPER_PROJECT 0.1 "6.53/win64" 1651778831
2
- <TRACK {0f9cd9c5-7bde-4b65-8e98-2f49f082c8b1}
2
+ <TRACK {a100d418-cea3-4a1f-aeda-a0820e2b1eba}
3
3
  NAME "generated_track"
4
4
  <ITEM
5
5
  POSITION 0
6
6
  LENGTH 10
7
- <SOURCE WAVE
8
- FILE "./test_audio.wav"
7
+ <SOURCE MP3
8
+ FILE "/home/odebe/prog/sorta-reaper/examples/./test_audio.wav"
9
9
  >
10
- IGUID "2d96f911-cb58-40b8-b4ee-8126a3017518"
10
+ IGUID "8f849df1-59f2-4e67-8c67-6bd876ae3622"
11
11
  >
12
- TRACKID "{0f9cd9c5-7bde-4b65-8e98-2f49f082c8b1}"
12
+ TRACKID "{a100d418-cea3-4a1f-aeda-a0820e2b1eba}"
13
13
  >
14
14
  <NOTES 0 2
15
15
  >
@@ -15,6 +15,9 @@ module Sorta
15
15
  attribute? :name, Types::String
16
16
  attribute? :source, Source
17
17
 
18
+ # Start in source
19
+ attribute? :soffs, Types::Integer | Types::Float
20
+
18
21
  # <ITEM
19
22
  # POSITION 3
20
23
  # SNAPOFFS 0
@@ -8,6 +8,9 @@ module Sorta
8
8
  class Source < Abstract
9
9
  attribute? :file, Types::String
10
10
 
11
+ # WAVE, MP3, etc...
12
+ attribute? :format, Types::String
13
+
11
14
  # <SOURCE WAVE
12
15
  # FILE "C:\Users\odebe\Documents\REAPER Media\133\09-220503_1522.wav"
13
16
  # >
@@ -60,9 +60,10 @@ module Sorta
60
60
 
61
61
  def visit_Source(obj)
62
62
  strings = []
63
- strings << "<SOURCE WAVE"
63
+ strings << "<SOURCE #{obj.format.upcase}"
64
64
 
65
- strings << process_attributes(obj.attributes)
65
+ attrs = obj.attributes.except(:format)
66
+ strings << process_attributes(attrs)
66
67
 
67
68
  strings << ">"
68
69
  strings.join("\n")
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sorta
4
4
  module Reaper
5
- VERSION = "0.1.1"
5
+ VERSION = "0.1.4"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorta-reaper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mihail Odebe
@@ -9,7 +9,35 @@ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
11
  date: 2022-05-10 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: dry-struct
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.4.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.4.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: dry-types
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 1.5.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.5.1
13
41
  description: Allow to parse and generate .rpp files from Reaper DAW
14
42
  email:
15
43
  - derpiranha@gmail.com