Erik Faye-Lund
7ea7cabd96
posix: include unistd.h for close
...
The close prototype is defined in unistd.h, according to
POSIX. Include it.
2010-09-13 00:03:11 +02:00
Erik Faye-Lund
ca123707b3
add NEED_STRDUP for C89 support
...
C89 does not define strdup(), so provide an implementation for
the systems that doesn't implement it. Enable it by adding
"CPPFLAG += -DNEED_STRDUP" to config.mak.
2010-09-04 14:32:26 +02:00
Erik Faye-Lund
ab243a6c1a
add basic gcc support
2010-09-04 14:32:26 +02:00
Erik Faye-Lund
6aafb683cc
select: send in socket + 1
2010-09-04 14:32:25 +02:00
Erik Faye-Lund
1d4e1bb795
gcc: fix compilation warnings
2010-09-04 14:32:24 +02:00
Erik Faye-Lund
d3dd8a78f0
player: fix typo hanle->handle
2010-08-31 19:33:52 +02:00
Erik Faye-Lund
6693c3f8f4
protocol: use network byte-order
...
The network code assumes that the client and server have the
same endianess. This isn't always the case, so let's change
it all to network byte-order.
This change is not backwards compatible, so old clients and
new editors (or vica verca) will not work together any more.
2010-08-29 23:43:10 +02:00
Erik Faye-Lund
9d4aea28fb
player: do not assume 32-bit ints
...
The player can be compiled for other architectures than Windows,
where ints aren't 32-bit. 64-bit Mac/Linux are not-that-unlikely
examples.
2010-08-29 23:43:09 +02:00
Erik Faye-Lund
878d1534f1
player: increase warning level and fix a warning
2010-08-29 23:40:47 +02:00
Erik Faye-Lund
fbc958adeb
player: make port unsigned short
...
TCP ports are unsigned 16 bit integer, so let's use a more natural
type for it.
2010-08-27 21:20:10 +02:00
Erik Faye-Lund
c600e2abbe
player: wrap up send and recv
...
This leads to much simpler error checking.
Add casts so the inlined code can be called from the editor's
C++ code.
2010-08-25 23:38:24 +02:00
Erik Faye-Lund
078e344b24
player: require explicit connection-call
...
This makes it possible to change the host and port used
for connections between player and editor without
recompiling the library.
2010-08-25 23:21:51 +02:00
Erik Faye-Lund
bd9408fa85
player: make sync_update report error
2010-08-25 22:59:35 +02:00
Erik Faye-Lund
5c359b035d
player: completely remove sync_update when not needed
2010-08-25 22:59:35 +02:00
Erik Faye-Lund
2a44eff473
player: pass row as integer to sync_update
...
There's no point in passing the row as a double to sync_update, which
only cares about the integer-part.
2010-08-25 22:59:34 +02:00
Erik Faye-Lund
e640a4ab6a
editor: explicit C-declaration around sync/data.h
...
Trade an explicit extern "C" declaration for three
defined(__cplusplus) wrapped ones.
2010-07-06 23:03:37 +02:00
Erik Faye-Lund
12595c74f5
player: return const-pointer from sync_get_track()
...
There's no uses of sync_get_track() that can't do without a pointer to
a const object any more. Making sync_track const helps us 64k-proof
the code.
2010-07-06 21:09:37 +02:00
Erik Faye-Lund
a56dc45690
interpolation: smooth means smoothstep, not cosine
...
Smoothstep[1] is a nice smooth alternative to cosine that
doesn't require special math functons, and should thus be
suitable on more platforms. The cosine-curve and the
smoothstep are very similar, and this change introduces
only a very small error (always less than 1 per cent)
compared to the old result.
Change the smooth curve definition to match this.
[1]: http://en.wikipedia.org/wiki/Smoothstep
2010-03-25 00:13:02 +01:00
Erik Faye-Lund
9f6eeb0b5d
editor: portability fixes
...
This is mostly just nit-pickery that allows most of the editor to
be compiled with MinGW. The nasty COM-stuff for the XML-loader in
syncdocument.cpp is still not compiling, though. There's also some
missing resource definitions, it seems.
2010-03-24 21:41:35 +01:00
Erik Faye-Lund
7934871684
client: make sync_track_path static
2010-03-24 17:58:20 +01:00
Erik Faye-Lund
88e9a4bf48
client: do not purge data when reconnetion failed
2010-03-20 16:18:21 +01:00
Erik Faye-Lund
0a362b42a4
client: allow reconnection to gather all data
...
A stray semicolon blocked purge_and_rerequest() to always
terminate after the first track, and report failure.
2010-03-20 16:15:12 +01:00
Erik Faye-Lund
fc9e038f3f
client: unbreak SET_KEY and DELETE_KEY
...
In 70bcea3, I introduced incorrect handling of SET_KEY
and DELETE_KEY, leading to error on each connection.
Fix this by negating the condition.
2010-03-20 15:59:24 +01:00
Erik Faye-Lund
874c5b8ede
rename LICENSE.TXT to COPYING
2010-03-19 17:41:37 +01:00
Erik Faye-Lund
6761a167e8
free device structure
2010-03-19 17:41:36 +01:00
Erik Faye-Lund
466c845593
define closesocket for posix systems
2010-03-19 17:41:36 +01:00
Erik Faye-Lund
14244a2d0d
add sync_destroy_device()
2010-03-19 17:41:36 +01:00
Erik Faye-Lund
70bcea33ab
clean up network code
2010-03-19 17:41:35 +01:00
Erik Faye-Lund
8c9f5db445
reconnect on disconnection
2010-03-19 17:41:35 +01:00
Erik Faye-Lund
decf843c04
player/client: port to C
...
Make sure that all code included in the player and client is
pure C. This helps on portability.
2010-03-19 17:41:34 +01:00
Erik Faye-Lund
7d62c05504
Whops, some code was left broken after some encapsulation-fixes.
2010-03-19 17:41:32 +01:00
Erik Faye-Lund
6fcd107159
formatting / cleanup
2010-03-19 17:41:32 +01:00
Erik Faye-Lund
557473f5a3
Encapsulating...
2010-03-19 17:41:31 +01:00
Erik Faye-Lund
cabec12793
formatting
2010-03-19 17:41:31 +01:00
Erik Faye-Lund
cef4af984d
Improved encapsulation and const-correctness.
2010-03-19 17:41:21 +01:00
Erik Faye-Lund
a244529a4f
Renamed actualTracks to tracks, removed dead code (the out-commented empty function purgeUnused), replaced "Error" with NULL (This gives a localized error-string) for MessageBox in one place.
2010-03-19 17:41:17 +01:00
Erik Faye-Lund
3b014fd04a
Cleaner code for the track-reordering
2010-03-19 17:41:16 +01:00
Erik Faye-Lund
f405a24e07
Using the NetworkSocket stuff for the server as well. Hopefully doing some better encapsulation of issues in the network protocol.
2010-03-19 17:41:16 +01:00
Erik Faye-Lund
378b78ebc8
Fixed bug 2040346
2010-03-19 17:41:16 +01:00
Erik Faye-Lund
3e6e30cc12
Fixed copy/paste (again). Added some ifdef'ed out functions for some wrapped (retrying) recv and send's.
2010-03-19 17:41:15 +01:00
Erik Faye-Lund
2c077a7fe2
added connection-info to the status-bar.
2010-03-19 17:41:14 +01:00
Erik Faye-Lund
f8301d6ee6
Fixed support for UNIX sockets, and fixed static crt-linking for debug builds
2010-03-19 17:41:13 +01:00
Erik Faye-Lund
936fd39fe1
fixed a compilation error in the player, and a partial fix for bug 1896587.
2010-03-19 17:41:12 +01:00
Erik Faye-Lund
eb180b4d15
Partial fix for bug 1896587. Added a fileNew()-function, and made it do some of what it's supposed to do. However, it only clears the part of the document that is within the max-row range. To fix properly, a separate function to clear a track should be added, and all tracks should be iterated through and truncated to 0. Another issue, is that there's no real purgeUnused()-method in SyncDocument yet, and it's a bit tricky to implement (needs to remap properly). But, at least some of this seems to work-ish now.
...
Also added a menu-hook for fileNew.
2010-03-19 17:41:11 +01:00
Erik Faye-Lund
72e0b8f93a
more getter-usage, and moving the getTrackIndexFromPos()-method to the module it's used in
2010-03-19 17:41:11 +01:00
Erik Faye-Lund
18f3415ae7
removed a mem-leak
2010-03-19 17:41:10 +01:00
Erik Faye-Lund
f49cc1ab73
added loading-support
2010-03-19 17:41:09 +01:00
Erik Faye-Lund
7f8b12890a
getters - use them!
2010-03-19 17:41:09 +01:00
Erik Faye-Lund
ff614fbbb9
added support for pre-connection editing
2010-03-19 17:41:09 +01:00
Erik Faye-Lund
4874502288
whops, forgot this file earlier
2010-03-19 17:41:08 +01:00