mirror of
https://github.com/danbee/persephone
synced 2025-03-04 08:39:11 +00:00
You can press a button and a thing happens!
This commit is contained in:
parent
4e284d0a21
commit
0bed74b7d3
@ -15,6 +15,7 @@
|
||||
E407863A2110CE70006887B1 /* PersephoneUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E40786392110CE70006887B1 /* PersephoneUITests.swift */; };
|
||||
E41B22C021FB6BBA00D544F6 /* libmpdclient.2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = E41B22BF21FB6BBA00D544F6 /* libmpdclient.2.dylib */; settings = {ATTRIBUTES = (Required, ); }; };
|
||||
E41B22C121FB6C3300D544F6 /* libmpdclient.2.dylib in Embed Libraries */ = {isa = PBXBuildFile; fileRef = E41B22BF21FB6BBA00D544F6 /* libmpdclient.2.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||
E41B22C621FB932700D544F6 /* MPDClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = E41B22C521FB932700D544F6 /* MPDClient.swift */; };
|
||||
E465049A21E94DF500A70F4C /* WindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E465049921E94DF500A70F4C /* WindowController.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
@ -65,6 +66,42 @@
|
||||
E407863B2110CE70006887B1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
E41B22BF21FB6BBA00D544F6 /* libmpdclient.2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libmpdclient.2.dylib; path = libmpdclient/output/libmpdclient.2.dylib; sourceTree = "<group>"; };
|
||||
E41B22C421FB715A00D544F6 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
|
||||
E41B22C521FB932700D544F6 /* MPDClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MPDClient.swift; sourceTree = "<group>"; };
|
||||
E41B22C921FB966C00D544F6 /* connection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = connection.h; sourceTree = "<group>"; };
|
||||
E41B22CA21FB966C00D544F6 /* protocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = protocol.h; sourceTree = "<group>"; };
|
||||
E41B22CB21FB966C00D544F6 /* error.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = "<group>"; };
|
||||
E41B22CC21FB966C00D544F6 /* recv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = recv.h; sourceTree = "<group>"; };
|
||||
E41B22CD21FB966C00D544F6 /* client.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = client.h; sourceTree = "<group>"; };
|
||||
E41B22CE21FB966C00D544F6 /* song.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = song.h; sourceTree = "<group>"; };
|
||||
E41B22CF21FB966C00D544F6 /* response.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = response.h; sourceTree = "<group>"; };
|
||||
E41B22D021FB966C00D544F6 /* status.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = status.h; sourceTree = "<group>"; };
|
||||
E41B22D121FB966C00D544F6 /* tag.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tag.h; sourceTree = "<group>"; };
|
||||
E41B22D221FB966C00D544F6 /* compiler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = compiler.h; sourceTree = "<group>"; };
|
||||
E41B22D321FB966C00D544F6 /* settings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = settings.h; sourceTree = "<group>"; };
|
||||
E41B22D421FB966C00D544F6 /* version.h.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = version.h.in; sourceTree = "<group>"; };
|
||||
E41B22D521FB966C00D544F6 /* parser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = parser.h; sourceTree = "<group>"; };
|
||||
E41B22D621FB966C00D544F6 /* idle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = idle.h; sourceTree = "<group>"; };
|
||||
E41B22D721FB966C00D544F6 /* message.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = message.h; sourceTree = "<group>"; };
|
||||
E41B22D821FB966C00D544F6 /* player.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = player.h; sourceTree = "<group>"; };
|
||||
E41B22D921FB966C00D544F6 /* output.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = output.h; sourceTree = "<group>"; };
|
||||
E41B22DA21FB966C00D544F6 /* mixer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mixer.h; sourceTree = "<group>"; };
|
||||
E41B22DB21FB966C00D544F6 /* list.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = "<group>"; };
|
||||
E41B22DC21FB966C00D544F6 /* async.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = async.h; sourceTree = "<group>"; };
|
||||
E41B22DD21FB966C00D544F6 /* directory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = directory.h; sourceTree = "<group>"; };
|
||||
E41B22DE21FB966C00D544F6 /* database.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = database.h; sourceTree = "<group>"; };
|
||||
E41B22DF21FB966C00D544F6 /* entity.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = entity.h; sourceTree = "<group>"; };
|
||||
E41B22E021FB966C00D544F6 /* pair.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pair.h; sourceTree = "<group>"; };
|
||||
E41B22E121FB966C00D544F6 /* send.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = send.h; sourceTree = "<group>"; };
|
||||
E41B22E221FB966C00D544F6 /* password.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = password.h; sourceTree = "<group>"; };
|
||||
E41B22E321FB966C00D544F6 /* audio_format.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = audio_format.h; sourceTree = "<group>"; };
|
||||
E41B22E421FB966C00D544F6 /* mount.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mount.h; sourceTree = "<group>"; };
|
||||
E41B22E521FB966C00D544F6 /* sticker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sticker.h; sourceTree = "<group>"; };
|
||||
E41B22E621FB966C00D544F6 /* search.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = search.h; sourceTree = "<group>"; };
|
||||
E41B22E721FB966C00D544F6 /* socket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = socket.h; sourceTree = "<group>"; };
|
||||
E41B22E821FB966C00D544F6 /* stats.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = stats.h; sourceTree = "<group>"; };
|
||||
E41B22E921FB966C00D544F6 /* capabilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = capabilities.h; sourceTree = "<group>"; };
|
||||
E41B22EA21FB966C00D544F6 /* queue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = queue.h; sourceTree = "<group>"; };
|
||||
E41B22EB21FB966C00D544F6 /* playlist.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = playlist.h; sourceTree = "<group>"; };
|
||||
E465049921E94DF500A70F4C /* WindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WindowController.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
@ -118,6 +155,7 @@
|
||||
E407861A2110CE6E006887B1 /* Persephone */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E41B22C721FB966C00D544F6 /* include */,
|
||||
E407861B2110CE6E006887B1 /* AppDelegate.swift */,
|
||||
E407861D2110CE6E006887B1 /* ViewController.swift */,
|
||||
E407861F2110CE70006887B1 /* Assets.xcassets */,
|
||||
@ -125,7 +163,7 @@
|
||||
E465049921E94DF500A70F4C /* WindowController.swift */,
|
||||
E40786242110CE70006887B1 /* Info.plist */,
|
||||
E40786252110CE70006887B1 /* Persephone.entitlements */,
|
||||
E41B22C421FB715A00D544F6 /* module.modulemap */,
|
||||
E41B22C521FB932700D544F6 /* MPDClient.swift */,
|
||||
);
|
||||
path = Persephone;
|
||||
sourceTree = "<group>";
|
||||
@ -156,6 +194,57 @@
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E41B22C721FB966C00D544F6 /* include */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E41B22C421FB715A00D544F6 /* module.modulemap */,
|
||||
E41B22C821FB966C00D544F6 /* mpd */,
|
||||
);
|
||||
path = include;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E41B22C821FB966C00D544F6 /* mpd */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
E41B22DC21FB966C00D544F6 /* async.h */,
|
||||
E41B22E321FB966C00D544F6 /* audio_format.h */,
|
||||
E41B22E921FB966C00D544F6 /* capabilities.h */,
|
||||
E41B22CD21FB966C00D544F6 /* client.h */,
|
||||
E41B22D221FB966C00D544F6 /* compiler.h */,
|
||||
E41B22C921FB966C00D544F6 /* connection.h */,
|
||||
E41B22DE21FB966C00D544F6 /* database.h */,
|
||||
E41B22DD21FB966C00D544F6 /* directory.h */,
|
||||
E41B22DF21FB966C00D544F6 /* entity.h */,
|
||||
E41B22CB21FB966C00D544F6 /* error.h */,
|
||||
E41B22D621FB966C00D544F6 /* idle.h */,
|
||||
E41B22DB21FB966C00D544F6 /* list.h */,
|
||||
E41B22D721FB966C00D544F6 /* message.h */,
|
||||
E41B22DA21FB966C00D544F6 /* mixer.h */,
|
||||
E41B22E421FB966C00D544F6 /* mount.h */,
|
||||
E41B22D921FB966C00D544F6 /* output.h */,
|
||||
E41B22E021FB966C00D544F6 /* pair.h */,
|
||||
E41B22D521FB966C00D544F6 /* parser.h */,
|
||||
E41B22E221FB966C00D544F6 /* password.h */,
|
||||
E41B22D821FB966C00D544F6 /* player.h */,
|
||||
E41B22EB21FB966C00D544F6 /* playlist.h */,
|
||||
E41B22CA21FB966C00D544F6 /* protocol.h */,
|
||||
E41B22EA21FB966C00D544F6 /* queue.h */,
|
||||
E41B22CC21FB966C00D544F6 /* recv.h */,
|
||||
E41B22CF21FB966C00D544F6 /* response.h */,
|
||||
E41B22E621FB966C00D544F6 /* search.h */,
|
||||
E41B22E121FB966C00D544F6 /* send.h */,
|
||||
E41B22D321FB966C00D544F6 /* settings.h */,
|
||||
E41B22E721FB966C00D544F6 /* socket.h */,
|
||||
E41B22CE21FB966C00D544F6 /* song.h */,
|
||||
E41B22E821FB966C00D544F6 /* stats.h */,
|
||||
E41B22D021FB966C00D544F6 /* status.h */,
|
||||
E41B22E521FB966C00D544F6 /* sticker.h */,
|
||||
E41B22D121FB966C00D544F6 /* tag.h */,
|
||||
E41B22D421FB966C00D544F6 /* version.h.in */,
|
||||
);
|
||||
path = mpd;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@ -225,6 +314,11 @@
|
||||
TargetAttributes = {
|
||||
E40786172110CE6E006887B1 = {
|
||||
CreatedOnToolsVersion = 9.4.1;
|
||||
SystemCapabilities = {
|
||||
com.apple.Sandbox = {
|
||||
enabled = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
E40786292110CE70006887B1 = {
|
||||
CreatedOnToolsVersion = 9.4.1;
|
||||
@ -289,6 +383,7 @@
|
||||
files = (
|
||||
E407861E2110CE6E006887B1 /* ViewController.swift in Sources */,
|
||||
E465049A21E94DF500A70F4C /* WindowController.swift in Sources */,
|
||||
E41B22C621FB932700D544F6 /* MPDClient.swift in Sources */,
|
||||
E407861C2110CE6E006887B1 /* AppDelegate.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@ -471,10 +566,7 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_VERSION = 4.0;
|
||||
SYSTEM_HEADER_SEARCH_PATHS = (
|
||||
libmpdclient/include,
|
||||
Persephone,
|
||||
);
|
||||
SYSTEM_HEADER_SEARCH_PATHS = Persephone/include;
|
||||
USER_HEADER_SEARCH_PATHS = libmpdclient/output;
|
||||
};
|
||||
name = Debug;
|
||||
@ -501,10 +593,7 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_VERSION = 4.0;
|
||||
SYSTEM_HEADER_SEARCH_PATHS = (
|
||||
libmpdclient/include,
|
||||
Persephone,
|
||||
);
|
||||
SYSTEM_HEADER_SEARCH_PATHS = Persephone/include;
|
||||
USER_HEADER_SEARCH_PATHS = libmpdclient/output;
|
||||
};
|
||||
name = Release;
|
||||
|
||||
@ -693,7 +693,6 @@
|
||||
<toolbar key="toolbar" implicitIdentifier="33DCB92B-74AF-496A-99FE-1F88002CB88A" autosavesConfiguration="NO" displayMode="iconOnly" sizeMode="regular" id="eNB-TI-KUS">
|
||||
<allowedToolbarItems>
|
||||
<toolbarItem implicitItemIdentifier="NSToolbarSpaceItem" id="mhg-16-CNM"/>
|
||||
<toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="NWn-Bn-Qn8"/>
|
||||
<toolbarItem implicitItemIdentifier="2D01DD0F-DDD1-411E-9270-20E2B5B07FC2" label="Controls" paletteLabel="Controls" sizingBehavior="auto" id="p3r-ty-Pxf">
|
||||
<nil key="toolTip"/>
|
||||
<segmentedControl key="view" verticalHuggingPriority="750" id="Bbf-C6-1Gu">
|
||||
@ -705,13 +704,15 @@
|
||||
<segment image="prevTrackButton" width="32"/>
|
||||
<segment image="playButton" width="48" tag="1"/>
|
||||
<segment image="stopButton" width="32"/>
|
||||
<segment image="nextTrackButton" width="32">
|
||||
<nil key="label"/>
|
||||
</segment>
|
||||
<segment image="nextTrackButton" width="32"/>
|
||||
</segments>
|
||||
<connections>
|
||||
<action selector="handleTransportControl:" target="B8D-0N-5wS" id="HTN-5E-y75"/>
|
||||
</connections>
|
||||
</segmentedCell>
|
||||
</segmentedControl>
|
||||
</toolbarItem>
|
||||
<toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="9ol-aR-mzv"/>
|
||||
</allowedToolbarItems>
|
||||
<defaultToolbarItems>
|
||||
<toolbarItem reference="p3r-ty-Pxf"/>
|
||||
@ -762,13 +763,13 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="26" horizontalPageScroll="10" verticalLineScroll="26" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S3o-nF-NN7">
|
||||
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S3o-nF-NN7">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
|
||||
<clipView key="contentView" drawsBackground="NO" id="WI8-Pw-03L">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="sourceList" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16" outlineTableColumn="0Co-uF-CCB" id="jEJ-jg-fll">
|
||||
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="sourceList" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16" outlineTableColumn="0Co-uF-CCB" id="jEJ-jg-fll">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
|
||||
62
Persephone/MPDClient.swift
Normal file
62
Persephone/MPDClient.swift
Normal file
@ -0,0 +1,62 @@
|
||||
//
|
||||
// MPDClient.swift
|
||||
// Persephone
|
||||
//
|
||||
// Created by Daniel Barber on 2019/1/25.
|
||||
// Copyright © 2019 Dan Barber. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import mpdclient
|
||||
|
||||
class MPDClient {
|
||||
let HOST = "localhost"
|
||||
let PORT: UInt32 = 6600
|
||||
private let connection: OpaquePointer
|
||||
private var status: OpaquePointer?
|
||||
|
||||
init?() {
|
||||
guard let connection = mpd_connection_new(HOST, PORT, 0)
|
||||
else { return nil }
|
||||
|
||||
mpd_connection_set_keepalive(connection, true)
|
||||
|
||||
self.connection = connection
|
||||
}
|
||||
|
||||
deinit {
|
||||
mpd_connection_free(connection)
|
||||
}
|
||||
|
||||
func getStatus() {
|
||||
status = mpd_status_begin()
|
||||
}
|
||||
|
||||
func playPause() {
|
||||
mpd_run_toggle_pause(connection)
|
||||
}
|
||||
|
||||
func stop() {
|
||||
mpd_run_stop(connection)
|
||||
}
|
||||
|
||||
func prevTrack() {
|
||||
mpd_run_previous(connection)
|
||||
}
|
||||
|
||||
func nextTrack() {
|
||||
mpd_run_next(connection)
|
||||
}
|
||||
|
||||
func getLastErrorMessage() -> String! {
|
||||
if mpd_connection_get_error(connection) == MPD_ERROR_SUCCESS {
|
||||
return "no error"
|
||||
}
|
||||
|
||||
if let errorMessage = mpd_connection_get_error_message(connection) {
|
||||
return String(cString: errorMessage)
|
||||
}
|
||||
|
||||
return "no error message"
|
||||
}
|
||||
}
|
||||
@ -1,10 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<true/>
|
||||
<key>com.apple.security.files.user-selected.read-only</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<dict/>
|
||||
</plist>
|
||||
|
||||
@ -7,7 +7,6 @@
|
||||
//
|
||||
|
||||
import Cocoa
|
||||
import mpdclient
|
||||
|
||||
class ViewController: NSViewController {
|
||||
override func viewDidLoad() {
|
||||
|
||||
@ -9,8 +9,36 @@
|
||||
import Cocoa
|
||||
|
||||
class WindowController: NSWindowController {
|
||||
override func windowDidLoad() {
|
||||
super.windowDidLoad()
|
||||
window?.titleVisibility = .hidden
|
||||
enum TransportAction: Int {
|
||||
case prevTrack = 0
|
||||
case playPause = 1
|
||||
case stop = 2
|
||||
case nextTrack = 3
|
||||
}
|
||||
var mpdClient: MPDClient?
|
||||
|
||||
override func windowDidLoad() {
|
||||
super.windowDidLoad()
|
||||
window?.titleVisibility = .hidden
|
||||
mpdClient = MPDClient()
|
||||
mpdClient?.getStatus()
|
||||
}
|
||||
|
||||
@IBAction func handleTransportControl(_ sender: NSSegmentedControl) {
|
||||
guard let transportAction = TransportAction(rawValue: sender.selectedSegment)
|
||||
else { return }
|
||||
|
||||
switch transportAction {
|
||||
case .prevTrack:
|
||||
mpdClient?.prevTrack()
|
||||
case .playPause:
|
||||
mpdClient?.playPause()
|
||||
case .stop:
|
||||
mpdClient?.stop()
|
||||
case .nextTrack:
|
||||
mpdClient?.nextTrack()
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
5
Persephone/include/module.modulemap
Normal file
5
Persephone/include/module.modulemap
Normal file
@ -0,0 +1,5 @@
|
||||
module mpdclient {
|
||||
umbrella header "mpd/client.h"
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
1
Persephone/include/mpd
Symbolic link
1
Persephone/include/mpd
Symbolic link
@ -0,0 +1 @@
|
||||
../../libmpdclient/include/mpd
|
||||
@ -1,4 +0,0 @@
|
||||
module mpdclient [system] {
|
||||
umbrella "mpd"
|
||||
export *
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user