Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite4a090d

Browse files
committed
External - SP Link - update to match Sonic Pi's version
1 parente79049f commite4a090d

File tree

1 file changed

+49
-40
lines changed

1 file changed

+49
-40
lines changed

‎src/sp_link.erl‎

Lines changed: 49 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,73 @@
11
-module(sp_link).
2-
-export([is_nif_loaded/0,is_nif_initialized/0,init_nif/1,deinit_nif/0,enable/1,is_enabled/0,set_tempo/2,get_tempo/0,get_num_peers/0,
2+
-export([init/0,is_nif_loaded/0,is_nif_initialized/0,init_nif/1,deinit_nif/0,enable/1,is_enabled/0,set_tempo/2,get_tempo/0,get_num_peers/0,
33
start_stop_sync_enable/1,is_start_stop_sync_enabled/0,set_is_playing/2,is_playing/0,get_time_for_is_playing/0,
44
get_beat_at_time/2,get_phase_at_time/2,get_time_at_beat/2,request_beat_at_time/3,force_beat_at_time/3,
55
request_beat_at_start_playing_time/2,set_is_playing_and_request_beat_at_time/4,set_callback_pid/1,
66
get_current_time_microseconds/0,set_log_level/1]).
7-
-on_load(init/0).
7+
8+
-define(APPLICATION,tau).
9+
-define(LIBNAME,"libsp_link").
810

911
init()->
10-
caseos:type()of
11-
{win32,_} ->
12-
ok=erlang:load_nif("D:/projects/sp_link/build/Debug/libsp_link",0);
13-
_Else ->
14-
ok=erlang:load_nif("/home/luis/projects/sp_link/build/libsp_link",0)
15-
end.
12+
SoName=casecode:priv_dir(?APPLICATION)of
13+
{error,bad_name} ->
14+
casefilelib:is_dir(filename:join(["..",priv]))of
15+
true ->
16+
filename:join(["..",priv,?LIBNAME]);
17+
_ ->
18+
filename:join([priv,?LIBNAME])
19+
end;
20+
Dir ->
21+
filename:join(Dir,?LIBNAME)
22+
end,
23+
erlang:load_nif(SoName,0).
1624

1725
is_nif_loaded()->
18-
exit(nif_library_not_loaded).
26+
false.
1927
is_nif_initialized()->
20-
exit(nif_library_not_loaded).
28+
false.
2129
init_nif(_)->
22-
exit(nif_library_not_loaded).
30+
done.
2331
deinit_nif()->
24-
exit(nif_library_not_loaded).
25-
enable(_)->
26-
exit(nif_library_not_loaded).
32+
done.
2733
is_enabled()->
28-
exit(nif_library_not_loaded).
29-
set_tempo(_,_)->
30-
exit(nif_library_not_loaded).
31-
get_tempo()->
32-
exit(nif_library_not_loaded).
33-
get_num_peers()->
34-
exit(nif_library_not_loaded).
35-
start_stop_sync_enable(_)->
36-
exit(nif_library_not_loaded).
34+
false.
35+
enable(_)->
36+
done.
3737
is_start_stop_sync_enabled()->
38-
exit(nif_library_not_loaded).
39-
set_is_playing(_,_)->
40-
exit(nif_library_not_loaded).
41-
is_playing()->
42-
exit(nif_library_not_loaded).
43-
get_time_for_is_playing()->
44-
exit(nif_library_not_loaded).
38+
false.
39+
start_stop_sync_enable(_)->
40+
done.
41+
get_num_peers()->
42+
0.
43+
get_tempo()->
44+
60.
45+
set_tempo(_,_)->
46+
done.
4547
get_beat_at_time(_,_)->
46-
exit(nif_library_not_loaded).
48+
0.
4749
get_phase_at_time(_,_)->
48-
exit(nif_library_not_loaded).
50+
0.
4951
get_time_at_beat(_,_)->
50-
exit(nif_library_not_loaded).
52+
0.
5153
request_beat_at_time(_,_,_)->
52-
exit(nif_library_not_loaded).
54+
0.
5355
force_beat_at_time(_,_,_)->
54-
exit(nif_library_not_loaded).
56+
0.
57+
set_is_playing(_,_)->
58+
done.
59+
is_playing()->
60+
false.
61+
get_time_for_is_playing()->
62+
0.
5563
request_beat_at_start_playing_time(_,_)->
56-
exit(nif_library_not_loaded).
64+
0.
5765
set_is_playing_and_request_beat_at_time(_,_,_,_)->
58-
exit(nif_library_not_loaded).
66+
done.
5967
set_callback_pid(_)->
60-
exit(nif_library_not_loaded).
68+
done.
6169
get_current_time_microseconds()->
62-
exit(nif_library_not_loaded).
70+
0.
6371
set_log_level(_)->
64-
exit(nif_library_not_loaded).
72+
done.
73+

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp