pangdudu-swiftly 1.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.rdoc +57 -0
- data/external/include/swift.h +1040 -0
- data/external/include/swift_defs.h +132 -0
- data/external/include/swift_exports.h +45 -0
- data/external/include/swift_params.h +361 -0
- data/lib/Swiftly.c +47 -0
- data/lib/extconf.rb +14 -0
- data/test/test_swiftly.rb +11 -0
- metadata +63 -0
data/lib/Swiftly.c
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
// Include the Ruby headers and goodies
|
2
|
+
#include "ruby.h"
|
3
|
+
#include <stdio.h>
|
4
|
+
#include <stdlib.h>
|
5
|
+
#include <string.h>
|
6
|
+
#include "../external/include/swift.h"
|
7
|
+
|
8
|
+
// Defining a space for information and references about the module to be stored internally
|
9
|
+
VALUE Swiftly = Qnil;
|
10
|
+
|
11
|
+
// Prototype for the initialization method - Ruby calls this, not you
|
12
|
+
void Init_swiftly();
|
13
|
+
|
14
|
+
// Prototype for our method 'speak' - methods are prefixed by 'method_' here
|
15
|
+
VALUE method_speak(VALUE self, VALUE text);
|
16
|
+
|
17
|
+
// The initialization method for this module
|
18
|
+
void Init_swiftly() {
|
19
|
+
Swiftly = rb_define_module("Swiftly");
|
20
|
+
rb_define_method(Swiftly, "speak", method_speak, 1);
|
21
|
+
}
|
22
|
+
|
23
|
+
// Our 'speak' method
|
24
|
+
VALUE method_speak(VALUE self, VALUE text) {
|
25
|
+
char* ctext = STR2CSTR(text);
|
26
|
+
swift_engine *engine;
|
27
|
+
swift_port *port = NULL;
|
28
|
+
|
29
|
+
/* Open the Swift TTS Engine */
|
30
|
+
if ( (engine = swift_engine_open(NULL)) == NULL) {
|
31
|
+
fprintf(stderr, "Failed to open Swift Engine.");
|
32
|
+
goto all_done;
|
33
|
+
}
|
34
|
+
/* Open a Swift Port through which to make TTS calls */
|
35
|
+
if ( (port = swift_port_open(engine, NULL)) == NULL) {
|
36
|
+
fprintf(stderr, "Failed to open Swift Port.");
|
37
|
+
goto all_done;
|
38
|
+
}
|
39
|
+
|
40
|
+
/* Synthesize argument as a text string */
|
41
|
+
swift_port_speak_text(port, ctext, 0, NULL, NULL, NULL);
|
42
|
+
|
43
|
+
all_done:
|
44
|
+
/* Close the Swift Port and Engine */
|
45
|
+
if (NULL != port) swift_port_close(port);
|
46
|
+
if (NULL != engine) swift_engine_close(engine); return 1;
|
47
|
+
}
|
data/lib/extconf.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Loads mkmf which is used to make makefiles for Ruby extensions
|
2
|
+
require 'mkmf'
|
3
|
+
|
4
|
+
#we need some extra libs from swift, needs to be installed, fix the path if it's somewhere else
|
5
|
+
$LOCAL_LIBS += " /opt/swift/lib/libswift.so"
|
6
|
+
|
7
|
+
# Give it a name
|
8
|
+
extension_name = 'swiftly'
|
9
|
+
|
10
|
+
# The destination
|
11
|
+
dir_config(extension_name)
|
12
|
+
|
13
|
+
# Do the work
|
14
|
+
create_makefile(extension_name)
|
metadata
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pangdudu-swiftly
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- pangdudu
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-09-17 00:00:00 -07:00
|
13
|
+
default_executable: swiftly
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: swiftly!
|
17
|
+
email: pangdudu@github
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README.rdoc
|
24
|
+
files:
|
25
|
+
- lib/Swiftly.c
|
26
|
+
- lib/extconf.rb
|
27
|
+
- test/test_swiftly.rb
|
28
|
+
- external/include
|
29
|
+
- external/include/swift_exports.h
|
30
|
+
- external/include/swift_defs.h
|
31
|
+
- external/include/swift.h
|
32
|
+
- external/include/swift_params.h
|
33
|
+
- README.rdoc
|
34
|
+
has_rdoc: true
|
35
|
+
homepage: http://github.com/pangdudu/swiftly
|
36
|
+
licenses:
|
37
|
+
post_install_message:
|
38
|
+
rdoc_options: []
|
39
|
+
|
40
|
+
require_paths:
|
41
|
+
- lib
|
42
|
+
- external/include
|
43
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: "0"
|
48
|
+
version:
|
49
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: "0"
|
54
|
+
version:
|
55
|
+
requirements: []
|
56
|
+
|
57
|
+
rubyforge_project: http://github.com/pangdudu/swiftly
|
58
|
+
rubygems_version: 1.3.5
|
59
|
+
signing_key:
|
60
|
+
specification_version: 2
|
61
|
+
summary: more swiftly!
|
62
|
+
test_files: []
|
63
|
+
|