68 Commits

Author SHA1 Message Date
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