ardour_git 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +30 -0
- data/bin/ardour_git +11 -0
- data/lib/ardour_git.rb +22 -0
- data/lib/ardour_git/ardour_files.rb +14 -0
- data/lib/ardour_git/git_repository.rb +17 -0
- data/lib/ardour_git/session_finder.rb +5 -0
- data/lib/ardour_git/session_parser.rb +12 -0
- metadata +52 -0
data/README.md
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
ardour-git-cli
|
2
|
+
==============
|
3
|
+
|
4
|
+
ardour-git is a plugin for ardour to commit and push automatically to a git repository.
|
5
|
+
This project is part of the Audio-git project which aims to enable people to freely share the "source code" for audio projects.
|
6
|
+
|
7
|
+
REQUIREMENTS
|
8
|
+
------------
|
9
|
+
|
10
|
+
* Ruby 1.9
|
11
|
+
|
12
|
+
USAGE
|
13
|
+
-----
|
14
|
+
|
15
|
+
* ardour-git --create name_of_project : create a new project
|
16
|
+
* ardour-git --save : save current ardour session and files
|
17
|
+
* ardour-git --clone project_url : clone an existing project
|
18
|
+
* ardour-git --watch : watch session for changes
|
19
|
+
* ardour-git --publish name_of_version : publish a version
|
20
|
+
* ardour-git --show : show published versions
|
21
|
+
|
22
|
+
TODO
|
23
|
+
----
|
24
|
+
|
25
|
+
* First run: Create git repository if not created
|
26
|
+
* First run: ask for remote repository
|
27
|
+
* (First run: if not provided, create automatically remote repository => later?)
|
28
|
+
* Add required files according to session file (Ardour xml files + others)
|
29
|
+
* Watch for change in Ardour xml file => include session files by parsing Ardour xml file
|
30
|
+
* Publish a new version to public (=create a tag)
|
data/bin/ardour_git
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'trollop'
|
4
|
+
require_relative '../lib/ardour_git'
|
5
|
+
|
6
|
+
opts = Trollop::options do
|
7
|
+
opt :init, 'Initialize a new repository for current Ardour project'
|
8
|
+
opt :save, 'Save the current session'
|
9
|
+
end
|
10
|
+
|
11
|
+
ArdourGit.new.command(opts)
|
data/lib/ardour_git.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require_relative 'ardour_git/ardour_files'
|
2
|
+
require_relative 'ardour_git/git_repository'
|
3
|
+
|
4
|
+
class ArdourGit
|
5
|
+
def command(opts)
|
6
|
+
if opts[:init]
|
7
|
+
create
|
8
|
+
elsif opts[:save]
|
9
|
+
save
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def create
|
14
|
+
GitRepository.create
|
15
|
+
end
|
16
|
+
|
17
|
+
def save
|
18
|
+
files = ArdourFiles.list
|
19
|
+
GitRepository.add(files)
|
20
|
+
GitRepository.commit('test')
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require_relative 'session_parser'
|
2
|
+
require_relative 'session_finder'
|
3
|
+
|
4
|
+
class ArdourFiles
|
5
|
+
def self.list
|
6
|
+
files = []
|
7
|
+
session_files = SessionFinder.list
|
8
|
+
files.concat(session_files)
|
9
|
+
session_files.each do |session|
|
10
|
+
files.concat(SessionParser.list_audio_files(session))
|
11
|
+
end
|
12
|
+
files
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'rexml/document'
|
2
|
+
|
3
|
+
class SessionParser
|
4
|
+
def self.list_audio_files(xml)
|
5
|
+
doc = REXML::Document.new xml
|
6
|
+
audio_files = []
|
7
|
+
doc.elements.each('Session/Sources/Source') do |element|
|
8
|
+
audio_files << element.attributes['name']
|
9
|
+
end
|
10
|
+
audio_files
|
11
|
+
end
|
12
|
+
end
|
metadata
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ardour_git
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Merouane Atig
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-06-25 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: Version Ardour projects with git
|
15
|
+
email: merouane.atig@gmail.com
|
16
|
+
executables:
|
17
|
+
- ardour_git
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- lib/ardour_git/session_parser.rb
|
22
|
+
- lib/ardour_git/ardour_files.rb
|
23
|
+
- lib/ardour_git/session_finder.rb
|
24
|
+
- lib/ardour_git/git_repository.rb
|
25
|
+
- lib/ardour_git.rb
|
26
|
+
- bin/ardour_git
|
27
|
+
- README.md
|
28
|
+
homepage: https://github.com/AMMD/ardour-git
|
29
|
+
licenses: []
|
30
|
+
post_install_message:
|
31
|
+
rdoc_options: []
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
requirements: []
|
47
|
+
rubyforge_project:
|
48
|
+
rubygems_version: 1.8.22
|
49
|
+
signing_key:
|
50
|
+
specification_version: 3
|
51
|
+
summary: Ardour git
|
52
|
+
test_files: []
|