Skip to content

Commit

Permalink
Commented out RHVoiceSwift until proper C++ interoperability will be …
Browse files Browse the repository at this point in the history
…available for Swift
  • Loading branch information
IhorShevchuk committed May 14, 2024
1 parent 56ab02e commit c53d2ab
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 50 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ jobs:
with:
clean: true
submodules: recursive
- run: |
- name: Build
run: |
rm -fr .build | echo "Removed build folder"
swift build -c release --target RHVoiceSwift
swift build -c release --target RHVoice
96 changes: 52 additions & 44 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

// Copyright (C) 2022 Olga Yakovleva <olga@rhvoice.org>

import PackageDescription
import Foundation
import PackageDescription

func boostHeadersPaths() -> [String] {
let packageURL = URL(fileURLWithPath: #file).deletingLastPathComponent()
Expand Down Expand Up @@ -81,8 +81,6 @@ let package = Package(
.plugin(name: "PackDataPlugin", targets: [
"PackDataPlugin"
]),
.library(name: "RHVoiceSwift",
targets: ["RHVoiceSwift"])
],
dependencies: [
],
Expand Down Expand Up @@ -152,47 +150,6 @@ let package = Package(
.linkedFramework("AVFAudio")
]
),
.target(name: "RHVoiceSwift",
dependencies: [
.target(name: "RHVoice"),
.target(name: "PlayerLib")
],
path: "Sources/RHVoiceSwift",
cSettings: ([
.headerSearchPath("../Mock")
]
+ commonCSettings(prefix: "../../RHVoice/")
),
swiftSettings: [
.interoperabilityMode(.Cxx)
]
),
.target(name: "PlayerLib",
dependencies: [
.target(name: "RHVoice")
],
path: "Sources/PlayerLib",
cSettings: ([
.headerSearchPath("../Mock")
]
+ commonCSettings(prefix: "../../RHVoice/")
)
),
.executableTarget(
name: "RHVoiceSwiftSample",
dependencies: [
.target(name: "RHVoiceSwift")
],
path: "Sources/RHVoiceSwiftSample",
cSettings: ([
.headerSearchPath("../Mock")
]
+ commonCSettings(prefix: "../../RHVoice/")
),
swiftSettings: [
.interoperabilityMode(.Cxx)
]
),
/// Plugin to copy languages and voices data files
.executableTarget(
name: "PackDataExecutable",
Expand Down Expand Up @@ -238,3 +195,54 @@ func versionString(fileName: String) -> String {

let version = versionString(fileName: "RHVoice/SConstruct")
package.targets.first?.cSettings?.append(.define("VERSION", to: "\(version)"))

#if SWIFT_SUPPORT
package.products.append(
.library(name: "RHVoiceSwift",
targets: ["RHVoiceSwift"])
)

package.targets.append(contentsOf: [
.target(name: "RHVoiceSwift",
dependencies: [
.target(name: "RHVoice"),
.target(name: "PlayerLib")
],
path: "Sources/RHVoiceSwift",
cSettings: ([
.headerSearchPath("../Mock")
]
+ commonCSettings(prefix: "../../RHVoice/")
),
swiftSettings: [
.interoperabilityMode(.Cxx)
]
),
.target(name: "PlayerLib",
dependencies: [
.target(name: "RHVoice")
],
path: "Sources/PlayerLib",
cSettings: ([
.headerSearchPath("../Mock")
]
+ commonCSettings(prefix: "../../RHVoice/")
)
),
.executableTarget(
name: "RHVoiceSwiftSample",
dependencies: [
.target(name: "RHVoiceSwift")
],
path: "Sources/RHVoiceSwiftSample",
cSettings: ([
.headerSearchPath("../Mock")
]
+ commonCSettings(prefix: "../../RHVoice/")
),
swiftSettings: [
.interoperabilityMode(.Cxx)
]
)
])
#endif
5 changes: 5 additions & 0 deletions Sources/PlayerLib/include/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module PlayerLib {
header "FilePlaybackStream.h"

requires cplusplus
}
8 changes: 4 additions & 4 deletions Sources/RHVoiceSwift/RHSpeechSynthesizer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public class RHSpeechSynthesizer {
_ = RHVoice_speak(message)
}

var rhVoiceEngine: RHVoice_tts_engine?
private var rhVoiceEngine: RHVoice_tts_engine?

public static var shared: RHSpeechSynthesizer = {
let instance = RHSpeechSynthesizer(params: .default)
Expand All @@ -125,10 +125,10 @@ public class RHSpeechSynthesizer {
#endif
}

var fileStream: PlayerLib.FilePlaybackStream?
private var fileStream: PlayerLib.FilePlaybackStream?
#if canImport(AVFoundation)
var player: AVPlayer?
var playerContinuation: CheckedContinuation<Void, any Error>?
private var player: AVPlayer?
private var playerContinuation: CheckedContinuation<Void, any Error>?
#endif
}

Expand Down

0 comments on commit c53d2ab

Please sign in to comment.